From 8ecf3b2159efbbd760fcf8fc6a16990bd409269f Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 1 Sep 2018 17:15:35 -0500 Subject: Start decompiling shop.c --- include/shop.h | 34 ++++++++++++++++++++++++++++++++++ include/strings.h | 7 +++++-- include/tv.h | 1 + 3 files changed, 40 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/shop.h b/include/shop.h index 9b14a672e..d7822ec31 100644 --- a/include/shop.h +++ b/include/shop.h @@ -3,6 +3,40 @@ extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3]; +enum +{ + MART_TYPE_0, // normal mart + MART_TYPE_1, + MART_TYPE_2, +}; + +struct MartInfo +{ + /*0x0*/ void (* callback) (void); + /*0x4*/ const struct MenuAction *menuActions; + /*0x8*/ const u16 *itemList; + /*0xC*/ u16 itemCount; + /*0xE*/ u8 windowId; + /*0xF*/ u8 martType; +}; + +struct BuyMenuLabel +{ + u8 label[16]; +}; + +struct ShopData +{ + /*0x0000*/ u8 filler0[0x2004]; + /*0x2004*/ u16 unk2004; + /*0x2006*/ u8 filler2006[0x5]; + /*0x200B*/ u8 unk200B; + /*0x200C*/ u8 unk200C; + /*0x200D*/ s8 unk200D; + /*0x200E*/ s8 unk200E; + /*0x200F*/ u8 filler200F[0xA1]; +}; + void CreatePokemartMenu(const u16 *); void CreateDecorationShop1Menu(const u16 *); void CreateDecorationShop2Menu(const u16 *); diff --git a/include/strings.h b/include/strings.h index e72360563..0515f953f 100644 --- a/include/strings.h +++ b/include/strings.h @@ -151,8 +151,6 @@ extern const u8 gMenuText_Confirm[]; extern const u8 gMenuText_Show[]; extern const u8 gMenuText_Give2[]; -extern const u8 gText_Cancel2[]; - extern const u8 gText_WithdrawPokemon[]; extern const u8 gText_WithdrawMonDescription[]; extern const u8 gText_DepositPokemon[]; @@ -843,4 +841,9 @@ extern const u8 gText_TwoDashes[]; extern const u8 *const gReturnToXStringsTable2[]; +extern const u8 gText_CanIHelpWithAnythingElse[]; +extern const u8 gText_AnythingElseICanHelp[]; +extern const u8 gText_QuitShopping[]; +extern const u8 gText_PokedollarVar1[]; + #endif //GUARD_STRINGS_H diff --git a/include/tv.h b/include/tv.h index 7a938f888..4f1d7730f 100644 --- a/include/tv.h +++ b/include/tv.h @@ -50,5 +50,6 @@ void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlaye void BravoTrainerPokemonProfile_BeforeInterview1(u16 move); void UpdateTVScreensOnMap(int, int); void TV_PrintIntToStringVar(u8 varIdx, int value); +void SaveRecordedItemPurchasesForTVShow(void); #endif //GUARD_TV_H -- cgit v1.2.3 From fa9d1759bd7fa17ced37225bd31d46466da857c6 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 6 Sep 2018 11:37:45 -0500 Subject: checkpoint --- include/battle_pyramid_bag.h | 2 +- include/shop.h | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/battle_pyramid_bag.h b/include/battle_pyramid_bag.h index 5d5d8ccfa..2301b0aa0 100644 --- a/include/battle_pyramid_bag.h +++ b/include/battle_pyramid_bag.h @@ -11,7 +11,7 @@ struct PyramidBagResources u8 windowIds[5]; u8 unk814; u8 unk815; - u8 scrollArrowSpriteId; + u8 scrollIndicatorsTaskId; const u8 *menuActionIds; u8 filler81C[0x820 - 0x81C]; u8 menuActionsCount; diff --git a/include/shop.h b/include/shop.h index d7822ec31..067b8fee4 100644 --- a/include/shop.h +++ b/include/shop.h @@ -27,13 +27,15 @@ struct BuyMenuLabel struct ShopData { - /*0x0000*/ u8 filler0[0x2004]; + /*0x0000*/ u8 tilemapBuffers[4][0x800]; + /*0x2000*/ u8 filler2000[0x4]; /*0x2004*/ u16 unk2004; - /*0x2006*/ u8 filler2006[0x5]; - /*0x200B*/ u8 unk200B; + /*0x2006*/ u8 filler2006[0x2]; + /*0x2008*/ u16 unk2008; + /*0x200A*/ u8 filler200A; + /*0x200B*/ u8 scrollIndicatorsTaskId; /*0x200C*/ u8 unk200C; - /*0x200D*/ s8 unk200D; - /*0x200E*/ s8 unk200E; + /*0x200D*/ u8 unk200D[2]; /*0x200F*/ u8 filler200F[0xA1]; }; -- cgit v1.2.3 From 10b479a3cae98a1fa955a4fc5461bace1f630352 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 10 Sep 2018 21:19:19 +0200 Subject: Document battle animation scripts. --- include/battle.h | 2 +- include/constants/battle_anim.h | 22 ++++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index fae21908b..a69047cf0 100644 --- a/include/battle.h +++ b/include/battle.h @@ -609,7 +609,7 @@ struct BattleScripting // rom_80A5C6C u8 GetBattlerSide(u8 battler); u8 GetBattlerPosition(u8 battler); -u8 GetBattlerAtPosition(u8 battler); +u8 GetBattlerAtPosition(u8 position); struct BattleSpriteInfo { diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 270ac55e0..c33c3ac29 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -41,7 +41,7 @@ #define B_ANIM_STATS_CHANGE 0x1 #define B_ANIM_SUBSTITUTE_FADE 0x2 #define B_ANIM_SUBSTITUTE_APPEAR 0x3 -#define B_ANIM_x4 0x4 +#define B_ANIM_POKEBLOCK_THROW 0x4 #define B_ANIM_ITEM_KNOCKOFF 0x5 #define B_ANIM_TURN_TRAP 0x6 #define B_ANIM_ITEM_EFFECT 0x7 @@ -57,7 +57,7 @@ #define B_ANIM_SNATCH_MOVE 0x11 #define B_ANIM_FUTURE_SIGHT_HIT 0x12 #define B_ANIM_DOOM_DESIRE_HIT 0x13 -#define B_ANIM_x14 0x14 +#define B_ANIM_FOCUS_PUNCH_SETUP 0x14 #define B_ANIM_INGRAIN_HEAL 0x15 #define B_ANIM_WISH_HEAL 0x16 @@ -82,4 +82,22 @@ #define B_ANIM_STATUS_NIGHTMARE 0x8 #define B_ANIM_STATUS_WRAPPED 0x9 // does not actually exist +// Most tasks return a value to gBattleAnimArgs[7]. +#define ARG_RET_ID 0x7 + +// Trapping Wrap-like moves end turn animation. +#define TRAP_ANIM_BIND 0 +#define TRAP_ANIM_WRAP 0 +#define TRAP_ANIM_FIRE_SPIN 1 +#define TRAP_ANIM_WHIRLPOOL 2 +#define TRAP_ANIM_CLAMP 3 +#define TRAP_ANIM_SAND_TOMB 4 + +// Weather defines for battle animation scripts. +#define ANIM_WEATHER_NONE 0 +#define ANIM_WEATHER_SUN 1 +#define ANIM_WEATHER_RAIN 2 +#define ANIM_WEATHER_SANDSTORM 3 +#define ANIM_WEATHER_HAIL 4 + #endif // GUARD_CONSTANTS_BATTLE_ANIM_H -- cgit v1.2.3 From 8a81bd1bce852e58efb9f48f4e8db225a3ee2f15 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 12 Sep 2018 22:58:03 +0200 Subject: Sync battle anim labels with pokeruby --- include/battle.h | 11 -- include/constants/battle.h | 12 ++ include/constants/battle_anim.h | 306 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 318 insertions(+), 11 deletions(-) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index a69047cf0..497faaeb6 100644 --- a/include/battle.h +++ b/include/battle.h @@ -38,17 +38,6 @@ #define MAX_TRAINER_ITEMS 4 #define MAX_MON_MOVES 4 -#define BATTLE_TERRAIN_GRASS 0 -#define BATTLE_TERRAIN_LONG_GRASS 1 -#define BATTLE_TERRAIN_SAND 2 -#define BATTLE_TERRAIN_UNDERWATER 3 -#define BATTLE_TERRAIN_WATER 4 -#define BATTLE_TERRAIN_POND 5 -#define BATTLE_TERRAIN_MOUNTAIN 6 -#define BATTLE_TERRAIN_CAVE 7 -#define BATTLE_TERRAIN_BUILDING 8 -#define BATTLE_TERRAIN_PLAIN 9 - // array entries for battle communication #define MULTIUSE_STATE 0x0 #define CURSOR_POSITION 0x1 diff --git a/include/constants/battle.h b/include/constants/battle.h index e5ca9d7ae..bbdc54a8e 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -281,4 +281,16 @@ #define MOVE_EFFECT_AFFECTS_USER 0x40 #define MOVE_EFFECT_CERTAIN 0x80 +// Battle terrain defines for gBattleTerrain. +#define BATTLE_TERRAIN_GRASS 0 +#define BATTLE_TERRAIN_LONG_GRASS 1 +#define BATTLE_TERRAIN_SAND 2 +#define BATTLE_TERRAIN_UNDERWATER 3 +#define BATTLE_TERRAIN_WATER 4 +#define BATTLE_TERRAIN_POND 5 +#define BATTLE_TERRAIN_MOUNTAIN 6 +#define BATTLE_TERRAIN_CAVE 7 +#define BATTLE_TERRAIN_BUILDING 8 +#define BATTLE_TERRAIN_PLAIN 9 + #endif // GUARD_CONSTANTS_BATTLE_H diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index c33c3ac29..96f2259b3 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -1,6 +1,312 @@ #ifndef GUARD_CONSTANTS_BATTLE_ANIM_H #define GUARD_CONSTANTS_BATTLE_ANIM_H +// Sprites start at 10000 and thus must be subtracted of 10000 to account for the true index. +#define GET_TRUE_SPRITE_INDEX(i) ((i - ANIM_SPRITES_START)) + +// Particle ids. +#define ANIM_SPRITES_START 10000 + +#define ANIM_TAG_000 (ANIM_SPRITES_START + 0) +#define ANIM_TAG_001 (ANIM_SPRITES_START + 1) +#define ANIM_TAG_002 (ANIM_SPRITES_START + 2) +#define ANIM_TAG_003 (ANIM_SPRITES_START + 3) +#define ANIM_TAG_004 (ANIM_SPRITES_START + 4) +#define ANIM_TAG_005 (ANIM_SPRITES_START + 5) +#define ANIM_TAG_006 (ANIM_SPRITES_START + 6) +#define ANIM_TAG_007 (ANIM_SPRITES_START + 7) +#define ANIM_TAG_008 (ANIM_SPRITES_START + 8) +#define ANIM_TAG_009 (ANIM_SPRITES_START + 9) +#define ANIM_TAG_010 (ANIM_SPRITES_START + 10) +#define ANIM_TAG_011 (ANIM_SPRITES_START + 11) +#define ANIM_TAG_012 (ANIM_SPRITES_START + 12) +#define ANIM_TAG_013 (ANIM_SPRITES_START + 13) +#define ANIM_TAG_014 (ANIM_SPRITES_START + 14) +#define ANIM_TAG_015 (ANIM_SPRITES_START + 15) +#define ANIM_TAG_016 (ANIM_SPRITES_START + 16) +#define ANIM_TAG_017 (ANIM_SPRITES_START + 17) +#define ANIM_TAG_018 (ANIM_SPRITES_START + 18) +#define ANIM_TAG_019 (ANIM_SPRITES_START + 19) +#define ANIM_TAG_020 (ANIM_SPRITES_START + 20) +#define ANIM_TAG_021 (ANIM_SPRITES_START + 21) +#define ANIM_TAG_022 (ANIM_SPRITES_START + 22) +#define ANIM_TAG_023 (ANIM_SPRITES_START + 23) +#define ANIM_TAG_024 (ANIM_SPRITES_START + 24) +#define ANIM_TAG_025 (ANIM_SPRITES_START + 25) +#define ANIM_TAG_026 (ANIM_SPRITES_START + 26) +#define ANIM_TAG_027 (ANIM_SPRITES_START + 27) +#define ANIM_TAG_028 (ANIM_SPRITES_START + 28) +#define ANIM_TAG_029 (ANIM_SPRITES_START + 29) +#define ANIM_TAG_030 (ANIM_SPRITES_START + 30) +#define ANIM_TAG_031 (ANIM_SPRITES_START + 31) +#define ANIM_TAG_032 (ANIM_SPRITES_START + 32) +#define ANIM_TAG_033 (ANIM_SPRITES_START + 33) +#define ANIM_TAG_034 (ANIM_SPRITES_START + 34) +#define ANIM_TAG_035 (ANIM_SPRITES_START + 35) +#define ANIM_TAG_036 (ANIM_SPRITES_START + 36) +#define ANIM_TAG_037 (ANIM_SPRITES_START + 37) +#define ANIM_TAG_038 (ANIM_SPRITES_START + 38) +#define ANIM_TAG_039 (ANIM_SPRITES_START + 39) +#define ANIM_TAG_040 (ANIM_SPRITES_START + 40) +#define ANIM_TAG_041 (ANIM_SPRITES_START + 41) +#define ANIM_TAG_042 (ANIM_SPRITES_START + 42) +#define ANIM_TAG_043 (ANIM_SPRITES_START + 43) +#define ANIM_TAG_044 (ANIM_SPRITES_START + 44) +#define ANIM_TAG_045 (ANIM_SPRITES_START + 45) +#define ANIM_TAG_046 (ANIM_SPRITES_START + 46) +#define ANIM_TAG_047 (ANIM_SPRITES_START + 47) +#define ANIM_TAG_048 (ANIM_SPRITES_START + 48) +#define ANIM_TAG_049 (ANIM_SPRITES_START + 49) +#define ANIM_TAG_050 (ANIM_SPRITES_START + 50) +#define ANIM_TAG_051 (ANIM_SPRITES_START + 51) +#define ANIM_TAG_052 (ANIM_SPRITES_START + 52) +#define ANIM_TAG_053 (ANIM_SPRITES_START + 53) +#define ANIM_TAG_054 (ANIM_SPRITES_START + 54) +#define ANIM_TAG_055 (ANIM_SPRITES_START + 55) +#define ANIM_TAG_056 (ANIM_SPRITES_START + 56) +#define ANIM_TAG_057 (ANIM_SPRITES_START + 57) +#define ANIM_TAG_058 (ANIM_SPRITES_START + 58) +#define ANIM_TAG_059 (ANIM_SPRITES_START + 59) +#define ANIM_TAG_060 (ANIM_SPRITES_START + 60) +#define ANIM_TAG_061 (ANIM_SPRITES_START + 61) +#define ANIM_TAG_062 (ANIM_SPRITES_START + 62) +#define ANIM_TAG_063 (ANIM_SPRITES_START + 63) +#define ANIM_TAG_064 (ANIM_SPRITES_START + 64) +#define ANIM_TAG_065 (ANIM_SPRITES_START + 65) +#define ANIM_TAG_066 (ANIM_SPRITES_START + 66) +#define ANIM_TAG_067 (ANIM_SPRITES_START + 67) +#define ANIM_TAG_068 (ANIM_SPRITES_START + 68) +#define ANIM_TAG_069 (ANIM_SPRITES_START + 69) +#define ANIM_TAG_070 (ANIM_SPRITES_START + 70) +#define ANIM_TAG_071 (ANIM_SPRITES_START + 71) +#define ANIM_TAG_072 (ANIM_SPRITES_START + 72) +#define ANIM_TAG_073 (ANIM_SPRITES_START + 73) +#define ANIM_TAG_074 (ANIM_SPRITES_START + 74) +#define ANIM_TAG_075 (ANIM_SPRITES_START + 75) +#define ANIM_TAG_076 (ANIM_SPRITES_START + 76) +#define ANIM_TAG_077 (ANIM_SPRITES_START + 77) +#define ANIM_TAG_078 (ANIM_SPRITES_START + 78) +#define ANIM_TAG_079 (ANIM_SPRITES_START + 79) +#define ANIM_TAG_080 (ANIM_SPRITES_START + 80) +#define ANIM_TAG_081 (ANIM_SPRITES_START + 81) +#define ANIM_TAG_082 (ANIM_SPRITES_START + 82) +#define ANIM_TAG_083 (ANIM_SPRITES_START + 83) +#define ANIM_TAG_084 (ANIM_SPRITES_START + 84) +#define ANIM_TAG_085 (ANIM_SPRITES_START + 85) +#define ANIM_TAG_086 (ANIM_SPRITES_START + 86) +#define ANIM_TAG_087 (ANIM_SPRITES_START + 87) +#define ANIM_TAG_088 (ANIM_SPRITES_START + 88) +#define ANIM_TAG_089 (ANIM_SPRITES_START + 89) +#define ANIM_TAG_090 (ANIM_SPRITES_START + 90) +#define ANIM_TAG_091 (ANIM_SPRITES_START + 91) +#define ANIM_TAG_092 (ANIM_SPRITES_START + 92) +#define ANIM_TAG_093 (ANIM_SPRITES_START + 93) +#define ANIM_TAG_094 (ANIM_SPRITES_START + 94) +#define ANIM_TAG_095 (ANIM_SPRITES_START + 95) +#define ANIM_TAG_096 (ANIM_SPRITES_START + 96) +#define ANIM_TAG_097 (ANIM_SPRITES_START + 97) +#define ANIM_TAG_098 (ANIM_SPRITES_START + 98) +#define ANIM_TAG_099 (ANIM_SPRITES_START + 99) +#define ANIM_TAG_100 (ANIM_SPRITES_START + 100) +#define ANIM_TAG_101 (ANIM_SPRITES_START + 101) +#define ANIM_TAG_102 (ANIM_SPRITES_START + 102) +#define ANIM_TAG_103 (ANIM_SPRITES_START + 103) +#define ANIM_TAG_104 (ANIM_SPRITES_START + 104) +#define ANIM_TAG_105 (ANIM_SPRITES_START + 105) +#define ANIM_TAG_106 (ANIM_SPRITES_START + 106) +#define ANIM_TAG_107 (ANIM_SPRITES_START + 107) +#define ANIM_TAG_108 (ANIM_SPRITES_START + 108) +#define ANIM_TAG_109 (ANIM_SPRITES_START + 109) +#define ANIM_TAG_110 (ANIM_SPRITES_START + 110) +#define ANIM_TAG_111 (ANIM_SPRITES_START + 111) +#define ANIM_TAG_112 (ANIM_SPRITES_START + 112) +#define ANIM_TAG_113 (ANIM_SPRITES_START + 113) +#define ANIM_TAG_114 (ANIM_SPRITES_START + 114) +#define ANIM_TAG_115 (ANIM_SPRITES_START + 115) +#define ANIM_TAG_116 (ANIM_SPRITES_START + 116) +#define ANIM_TAG_117 (ANIM_SPRITES_START + 117) +#define ANIM_TAG_118 (ANIM_SPRITES_START + 118) +#define ANIM_TAG_119 (ANIM_SPRITES_START + 119) +#define ANIM_TAG_120 (ANIM_SPRITES_START + 120) +#define ANIM_TAG_121 (ANIM_SPRITES_START + 121) +#define ANIM_TAG_122 (ANIM_SPRITES_START + 122) +#define ANIM_TAG_123 (ANIM_SPRITES_START + 123) +#define ANIM_TAG_124 (ANIM_SPRITES_START + 124) +#define ANIM_TAG_125 (ANIM_SPRITES_START + 125) +#define ANIM_TAG_126 (ANIM_SPRITES_START + 126) +#define ANIM_TAG_127 (ANIM_SPRITES_START + 127) +#define ANIM_TAG_128 (ANIM_SPRITES_START + 128) +#define ANIM_TAG_129 (ANIM_SPRITES_START + 129) +#define ANIM_TAG_130 (ANIM_SPRITES_START + 130) +#define ANIM_TAG_131 (ANIM_SPRITES_START + 131) +#define ANIM_TAG_132 (ANIM_SPRITES_START + 132) +#define ANIM_TAG_133 (ANIM_SPRITES_START + 133) +#define ANIM_TAG_134 (ANIM_SPRITES_START + 134) +#define ANIM_TAG_135 (ANIM_SPRITES_START + 135) +#define ANIM_TAG_136 (ANIM_SPRITES_START + 136) +#define ANIM_TAG_137 (ANIM_SPRITES_START + 137) +#define ANIM_TAG_138 (ANIM_SPRITES_START + 138) +#define ANIM_TAG_139 (ANIM_SPRITES_START + 139) +#define ANIM_TAG_140 (ANIM_SPRITES_START + 140) +#define ANIM_TAG_141 (ANIM_SPRITES_START + 141) +#define ANIM_TAG_142 (ANIM_SPRITES_START + 142) +#define ANIM_TAG_143 (ANIM_SPRITES_START + 143) +#define ANIM_TAG_144 (ANIM_SPRITES_START + 144) +#define ANIM_TAG_145 (ANIM_SPRITES_START + 145) +#define ANIM_TAG_146 (ANIM_SPRITES_START + 146) +#define ANIM_TAG_147 (ANIM_SPRITES_START + 147) +#define ANIM_TAG_148 (ANIM_SPRITES_START + 148) +#define ANIM_TAG_149 (ANIM_SPRITES_START + 149) +#define ANIM_TAG_150 (ANIM_SPRITES_START + 150) +#define ANIM_TAG_151 (ANIM_SPRITES_START + 151) +#define ANIM_TAG_152 (ANIM_SPRITES_START + 152) +#define ANIM_TAG_153 (ANIM_SPRITES_START + 153) +#define ANIM_TAG_154 (ANIM_SPRITES_START + 154) +#define ANIM_TAG_155 (ANIM_SPRITES_START + 155) +#define ANIM_TAG_156 (ANIM_SPRITES_START + 156) +#define ANIM_TAG_157 (ANIM_SPRITES_START + 157) +#define ANIM_TAG_158 (ANIM_SPRITES_START + 158) +#define ANIM_TAG_159 (ANIM_SPRITES_START + 159) +#define ANIM_TAG_160 (ANIM_SPRITES_START + 160) +#define ANIM_TAG_161 (ANIM_SPRITES_START + 161) +#define ANIM_TAG_162 (ANIM_SPRITES_START + 162) +#define ANIM_TAG_163 (ANIM_SPRITES_START + 163) +#define ANIM_TAG_164 (ANIM_SPRITES_START + 164) +#define ANIM_TAG_165 (ANIM_SPRITES_START + 165) +#define ANIM_TAG_166 (ANIM_SPRITES_START + 166) +#define ANIM_TAG_167 (ANIM_SPRITES_START + 167) +#define ANIM_TAG_168 (ANIM_SPRITES_START + 168) +#define ANIM_TAG_169 (ANIM_SPRITES_START + 169) +#define ANIM_TAG_170 (ANIM_SPRITES_START + 170) +#define ANIM_TAG_171 (ANIM_SPRITES_START + 171) +#define ANIM_TAG_172 (ANIM_SPRITES_START + 172) +#define ANIM_TAG_173 (ANIM_SPRITES_START + 173) +#define ANIM_TAG_174 (ANIM_SPRITES_START + 174) +#define ANIM_TAG_175 (ANIM_SPRITES_START + 175) +#define ANIM_TAG_176 (ANIM_SPRITES_START + 176) +#define ANIM_TAG_177 (ANIM_SPRITES_START + 177) +#define ANIM_TAG_178 (ANIM_SPRITES_START + 178) +#define ANIM_TAG_179 (ANIM_SPRITES_START + 179) +#define ANIM_TAG_180 (ANIM_SPRITES_START + 180) +#define ANIM_TAG_181 (ANIM_SPRITES_START + 181) +#define ANIM_TAG_182 (ANIM_SPRITES_START + 182) +#define ANIM_TAG_183 (ANIM_SPRITES_START + 183) +#define ANIM_TAG_184 (ANIM_SPRITES_START + 184) +#define ANIM_TAG_185 (ANIM_SPRITES_START + 185) +#define ANIM_TAG_186 (ANIM_SPRITES_START + 186) +#define ANIM_TAG_187 (ANIM_SPRITES_START + 187) +#define ANIM_TAG_188 (ANIM_SPRITES_START + 188) +#define ANIM_TAG_189 (ANIM_SPRITES_START + 189) +#define ANIM_TAG_190 (ANIM_SPRITES_START + 190) +#define ANIM_TAG_191 (ANIM_SPRITES_START + 191) +#define ANIM_TAG_192 (ANIM_SPRITES_START + 192) +#define ANIM_TAG_193 (ANIM_SPRITES_START + 193) +#define ANIM_TAG_194 (ANIM_SPRITES_START + 194) +#define ANIM_TAG_195 (ANIM_SPRITES_START + 195) +#define ANIM_TAG_196 (ANIM_SPRITES_START + 196) +#define ANIM_TAG_197 (ANIM_SPRITES_START + 197) +#define ANIM_TAG_198 (ANIM_SPRITES_START + 198) +#define ANIM_TAG_199 (ANIM_SPRITES_START + 199) +#define ANIM_TAG_200 (ANIM_SPRITES_START + 200) +#define ANIM_TAG_201 (ANIM_SPRITES_START + 201) +#define ANIM_TAG_202 (ANIM_SPRITES_START + 202) +#define ANIM_TAG_203 (ANIM_SPRITES_START + 203) +#define ANIM_TAG_204 (ANIM_SPRITES_START + 204) +#define ANIM_TAG_205 (ANIM_SPRITES_START + 205) +#define ANIM_TAG_206 (ANIM_SPRITES_START + 206) +#define ANIM_TAG_207 (ANIM_SPRITES_START + 207) +#define ANIM_TAG_208 (ANIM_SPRITES_START + 208) +#define ANIM_TAG_209 (ANIM_SPRITES_START + 209) +#define ANIM_TAG_210 (ANIM_SPRITES_START + 210) +#define ANIM_TAG_211 (ANIM_SPRITES_START + 211) +#define ANIM_TAG_212 (ANIM_SPRITES_START + 212) +#define ANIM_TAG_213 (ANIM_SPRITES_START + 213) +#define ANIM_TAG_214 (ANIM_SPRITES_START + 214) +#define ANIM_TAG_215 (ANIM_SPRITES_START + 215) +#define ANIM_TAG_216 (ANIM_SPRITES_START + 216) +#define ANIM_TAG_217 (ANIM_SPRITES_START + 217) +#define ANIM_TAG_218 (ANIM_SPRITES_START + 218) +#define ANIM_TAG_219 (ANIM_SPRITES_START + 219) +#define ANIM_TAG_220 (ANIM_SPRITES_START + 220) +#define ANIM_TAG_221 (ANIM_SPRITES_START + 221) +#define ANIM_TAG_222 (ANIM_SPRITES_START + 222) +#define ANIM_TAG_223 (ANIM_SPRITES_START + 223) +#define ANIM_TAG_224 (ANIM_SPRITES_START + 224) +#define ANIM_TAG_225 (ANIM_SPRITES_START + 225) +#define ANIM_TAG_226 (ANIM_SPRITES_START + 226) +#define ANIM_TAG_227 (ANIM_SPRITES_START + 227) +#define ANIM_TAG_228 (ANIM_SPRITES_START + 228) +#define ANIM_TAG_229 (ANIM_SPRITES_START + 229) +#define ANIM_TAG_230 (ANIM_SPRITES_START + 230) +#define ANIM_TAG_231 (ANIM_SPRITES_START + 231) +#define ANIM_TAG_232 (ANIM_SPRITES_START + 232) +#define ANIM_TAG_233 (ANIM_SPRITES_START + 233) +#define ANIM_TAG_234 (ANIM_SPRITES_START + 234) +#define ANIM_TAG_235 (ANIM_SPRITES_START + 235) +#define ANIM_TAG_236 (ANIM_SPRITES_START + 236) +#define ANIM_TAG_237 (ANIM_SPRITES_START + 237) +#define ANIM_TAG_238 (ANIM_SPRITES_START + 238) +#define ANIM_TAG_239 (ANIM_SPRITES_START + 239) +#define ANIM_TAG_240 (ANIM_SPRITES_START + 240) +#define ANIM_TAG_241 (ANIM_SPRITES_START + 241) +#define ANIM_TAG_242 (ANIM_SPRITES_START + 242) +#define ANIM_TAG_243 (ANIM_SPRITES_START + 243) +#define ANIM_TAG_244 (ANIM_SPRITES_START + 244) +#define ANIM_TAG_245 (ANIM_SPRITES_START + 245) +#define ANIM_TAG_246 (ANIM_SPRITES_START + 246) +#define ANIM_TAG_247 (ANIM_SPRITES_START + 247) +#define ANIM_TAG_248 (ANIM_SPRITES_START + 248) +#define ANIM_TAG_249 (ANIM_SPRITES_START + 249) +#define ANIM_TAG_250 (ANIM_SPRITES_START + 250) +#define ANIM_TAG_251 (ANIM_SPRITES_START + 251) +#define ANIM_TAG_252 (ANIM_SPRITES_START + 252) +#define ANIM_TAG_253 (ANIM_SPRITES_START + 253) +#define ANIM_TAG_254 (ANIM_SPRITES_START + 254) +#define ANIM_TAG_255 (ANIM_SPRITES_START + 255) +#define ANIM_TAG_256 (ANIM_SPRITES_START + 256) +#define ANIM_TAG_257 (ANIM_SPRITES_START + 257) +#define ANIM_TAG_258 (ANIM_SPRITES_START + 258) +#define ANIM_TAG_259 (ANIM_SPRITES_START + 259) +#define ANIM_TAG_260 (ANIM_SPRITES_START + 260) +#define ANIM_TAG_261 (ANIM_SPRITES_START + 261) +#define ANIM_TAG_262 (ANIM_SPRITES_START + 262) +#define ANIM_TAG_263 (ANIM_SPRITES_START + 263) +#define ANIM_TAG_264 (ANIM_SPRITES_START + 264) +#define ANIM_TAG_265 (ANIM_SPRITES_START + 265) +#define ANIM_TAG_266 (ANIM_SPRITES_START + 266) +#define ANIM_TAG_267 (ANIM_SPRITES_START + 267) +#define ANIM_TAG_268 (ANIM_SPRITES_START + 268) +#define ANIM_TAG_269 (ANIM_SPRITES_START + 269) +#define ANIM_TAG_270 (ANIM_SPRITES_START + 270) +#define ANIM_TAG_271 (ANIM_SPRITES_START + 271) +#define ANIM_TAG_272 (ANIM_SPRITES_START + 272) +#define ANIM_TAG_273 (ANIM_SPRITES_START + 273) +#define ANIM_TAG_274 (ANIM_SPRITES_START + 274) +#define ANIM_TAG_275 (ANIM_SPRITES_START + 275) +#define ANIM_TAG_276 (ANIM_SPRITES_START + 276) +#define ANIM_TAG_277 (ANIM_SPRITES_START + 277) +#define ANIM_TAG_278 (ANIM_SPRITES_START + 278) +#define ANIM_TAG_279 (ANIM_SPRITES_START + 279) +#define ANIM_TAG_280 (ANIM_SPRITES_START + 280) +#define ANIM_TAG_281 (ANIM_SPRITES_START + 281) +#define ANIM_TAG_282 (ANIM_SPRITES_START + 282) +#define ANIM_TAG_283 (ANIM_SPRITES_START + 283) +#define ANIM_TAG_284 (ANIM_SPRITES_START + 284) +#define ANIM_TAG_285 (ANIM_SPRITES_START + 285) +#define ANIM_TAG_286 (ANIM_SPRITES_START + 286) +#define ANIM_TAG_287 (ANIM_SPRITES_START + 287) +#define ANIM_TAG_288 (ANIM_SPRITES_START + 288) +#define ANIM_TAG_289 (ANIM_SPRITES_START + 289) +#define ANIM_TAG_290 (ANIM_SPRITES_START + 290) +#define ANIM_TAG_291 (ANIM_SPRITES_START + 291) +#define ANIM_TAG_292 (ANIM_SPRITES_START + 292) +#define ANIM_TAG_293 (ANIM_SPRITES_START + 293) +#define ANIM_TAG_294 (ANIM_SPRITES_START + 294) +#define ANIM_TAG_295 (ANIM_SPRITES_START + 295) +#define ANIM_TAG_296 (ANIM_SPRITES_START + 296) +#define ANIM_TAG_297 (ANIM_SPRITES_START + 297) +#define ANIM_TAG_298 (ANIM_SPRITES_START + 298) + // battlers #define ANIM_ATTACKER 0 #define ANIM_TARGET 1 -- cgit v1.2.3 From ec0d350137a44862da93b0cc32da101cd1152385 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 4 Oct 2018 17:57:07 -0500 Subject: Move metatile behavior constants to include/constants and sync closer to pokeruby --- include/constants/metatile_behaviors.h | 245 +++++++++++++++++++++++++++++++++ include/metatile_behavior.h | 26 ++-- include/metatile_behaviors.h | 179 ------------------------ 3 files changed, 258 insertions(+), 192 deletions(-) create mode 100755 include/constants/metatile_behaviors.h delete mode 100644 include/metatile_behaviors.h (limited to 'include') diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h new file mode 100755 index 000000000..d8d75066c --- /dev/null +++ b/include/constants/metatile_behaviors.h @@ -0,0 +1,245 @@ +#ifndef GUARD_METATILE_BEHAVIORS +#define GUARD_METATILE_BEHAVIORS + +#define MB_NORMAL 0x00 +#define MB_SECRET_BASE_WALL 0x01 +#define MB_TALL_GRASS 0x02 +#define MB_LONG_GRASS 0x03 +#define MB_UNUSED_04 0x04 +#define MB_UNUSED_05 0x05 +#define MB_DEEP_SAND 0x06 +#define MB_SHORT_GRASS 0x07 +#define MB_UNUSED_CAVE 0x08 +#define MB_LONG_GRASS_SOUTH_EDGE 0x09 +#define MB_NO_RUNNING 0x0A +#define MB_INDOOR_ENCOUNTER 0x0B +#define MB_MOUNTAIN_TOP 0x0C +#define MB_BATTLE_PYRAMID_WARP 0x0D +#define MB_MOSSDEEP_GYM_WARP 0x0E +#define MB_MT_PYRE_HOLE 0x0F +#define MB_POND_WATER 0x10 +#define MB_SEMI_DEEP_WATER 0x11 +#define MB_DEEP_WATER 0x12 +#define MB_WATERFALL 0x13 +#define MB_SOOTOPOLIS_DEEP_WATER 0x14 +#define MB_OCEAN_WATER 0x15 +#define MB_PUDDLE 0x16 +#define MB_SHALLOW_WATER 0x17 +#define MB_UNUSED_SOOTOPOLIS_DEEP_WATER 0x18 +#define MB_NO_SURFACING 0x19 +#define MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2 0x1A +#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B +#define MB_SHOAL_CAVE_ENTRANCE 0x1C +#define MB_UNUSED_1D 0x1D +#define MB_UNUSED_1E 0x1E +#define MB_UNUSED_1F 0x1F +#define MB_ICE 0x20 +#define MB_SAND 0x21 +#define MB_SEAWEED 0x22 +#define MB_UNUSED_23 0x23 +#define MB_ASHGRASS 0x24 +#define MB_FOOTPRINTS 0x25 +#define MB_THIN_ICE 0x26 +#define MB_CRACKED_ICE 0x27 +#define MB_HOT_SPRINGS 0x28 +#define MB_LAVARIDGE_GYM_B1F_WARP 0x29 +#define MB_SEAWEED_NO_SURFACING 0x2A +#define MB_REFLECTION_UNDER_BRIDGE 0x2B +#define MB_UNUSED_2C 0x2C +#define MB_UNUSED_2D 0x2D +#define MB_UNUSED_2E 0x2E +#define MB_UNUSED_2F 0x2F +#define MB_IMPASSABLE_EAST 0x30 +#define MB_IMPASSABLE_WEST 0x31 +#define MB_IMPASSABLE_NORTH 0x32 +#define MB_IMPASSABLE_SOUTH 0x33 +#define MB_IMPASSABLE_NORTHEAST 0x34 +#define MB_IMPASSABLE_NORTHWEST 0x35 +#define MB_IMPASSABLE_SOUTHEAST 0x36 +#define MB_IMPASSABLE_SOUTHWEST 0x37 +#define MB_JUMP_EAST 0x38 +#define MB_JUMP_WEST 0x39 +#define MB_JUMP_NORTH 0x3A +#define MB_JUMP_SOUTH 0x3B +#define MB_JUMP_NORTHEAST 0x3C +#define MB_JUMP_NORTHWEST 0x3D +#define MB_JUMP_SOUTHEAST 0x3E +#define MB_JUMP_SOUTHWEST 0x3F +#define MB_WALK_EAST 0x40 +#define MB_WALK_WEST 0x41 +#define MB_WALK_NORTH 0x42 +#define MB_WALK_SOUTH 0x43 +#define MB_SLIDE_EAST 0x44 +#define MB_SLIDE_WEST 0x45 +#define MB_SLIDE_NORTH 0x46 +#define MB_SLIDE_SOUTH 0x47 +#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48 +#define MB_UNUSED_49 0x49 +#define MB_UNUSED_4A 0x4A +#define MB_UNUSED_4B 0x4B +#define MB_UNUSED_4C 0x4C +#define MB_UNUSED_4D 0x4D +#define MB_UNUSED_4E 0x4E +#define MB_UNUSED_4F 0x4F +#define MB_EASTWARD_CURRENT 0x50 +#define MB_WESTWARD_CURRENT 0x51 +#define MB_NORTHWARD_CURRENT 0x52 +#define MB_SOUTHWARD_CURRENT 0x53 +#define MB_UNUSED_54 0x54 +#define MB_UNUSED_55 0x55 +#define MB_UNUSED_56 0x56 +#define MB_UNUSED_57 0x57 +#define MB_UNUSED_58 0x58 +#define MB_UNUSED_59 0x59 +#define MB_UNUSED_5A 0x5A +#define MB_UNUSED_5B 0x5B +#define MB_UNUSED_5C 0x5C +#define MB_UNUSED_5D 0x5D +#define MB_UNUSED_5E 0x5E +#define MB_UNUSED_5F 0x5F +#define MB_NON_ANIMATED_DOOR 0x60 +#define MB_LADDER 0x61 +#define MB_EAST_ARROW_WARP 0x62 +#define MB_WEST_ARROW_WARP 0x63 +#define MB_NORTH_ARROW_WARP 0x64 +#define MB_SOUTH_ARROW_WARP 0x65 +#define MB_CRACKED_FLOOR_HOLE 0x66 +#define MB_AQUA_HIDEOUT_WARP 0x67 +#define MB_LAVARIDGE_GYM_1F_WARP 0x68 +#define MB_ANIMATED_DOOR 0x69 +#define MB_UP_ESCALATOR 0x6A +#define MB_DOWN_ESCALATOR 0x6B +#define MB_WATER_DOOR 0x6C +#define MB_WATER_SOUTH_ARROW_WARP 0x6D +#define MB_DEEP_SOUTH_WARP 0x6E +#define MB_UNUSED_6F 0x6F +#define MB_WARP_OR_BRIDGE 0x70 +#define MB_UNUSED_71 0x71 +#define MB_ROUTE120_NORTH_BRIDGE_1 0x72 +#define MB_ROUTE120_NORTH_BRIDGE_2 0x73 +#define MB_PACIFIDLOG_VERTICAL_LOG_1 0x74 +#define MB_PACIFIDLOG_VERTICAL_LOG_2 0x75 +#define MB_PACIFIDLOG_HORIZONTAL_LOG_1 0x76 +#define MB_PACIFIDLOG_HORIZONTAL_LOG_2 0x77 +#define MB_FORTREE_BRIDGE 0x78 +#define MB_UNUSED_79 0x79 +#define MB_ROUTE120_SOUTH_BRIDGE_1 0x7A +#define MB_ROUTE120_SOUTH_BRIDGE_2 0x7B +#define MB_ROUTE120_NORTH_BRIDGE_3 0x7C +#define MB_ROUTE120_NORTH_BRIDGE_4 0x7D +#define MB_UNUSED_7E 0x7E +#define MB_ROUTE110_BRIDGE 0x7F +#define MB_COUNTER 0x80 +#define MB_UNUSED_81 0x81 +#define MB_UNUSED_82 0x82 +#define MB_PC 0x83 +#define MB_CABLE_BOX_RESULTS_1 0x84 +#define MB_REGION_MAP 0x85 +#define MB_TELEVISION 0x86 +#define MB_POKEBLOCK_FEEDER 0x87 +#define MB_UNUSED_88 0x88 +#define MB_SLOT_MACHINE 0x89 +#define MB_ROULETTE 0x8A +#define MB_CLOSED_SOOTOPOLIS_DOOR 0x8B +#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C +#define MB_PETALBURG_GYM_DOOR 0x8D +#define MB_RUNNING_SHOES_INSTRUCTION 0x8E +#define MB_QUESTIONNAIRE 0x8F +#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90 +#define MB_SECRET_BASE_SPOT_RED_CAVE_OPEN 0x91 +#define MB_SECRET_BASE_SPOT_BROWN_CAVE 0x92 +#define MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN 0x93 +#define MB_SECRET_BASE_SPOT_YELLOW_CAVE 0x94 +#define MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN 0x95 +#define MB_SECRET_BASE_SPOT_TREE_LEFT 0x96 +#define MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN 0x97 +#define MB_SECRET_BASE_SPOT_SHRUB 0x98 +#define MB_SECRET_BASE_SPOT_SHRUB_OPEN 0x99 +#define MB_SECRET_BASE_SPOT_BLUE_CAVE 0x9A +#define MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN 0x9B +#define MB_SECRET_BASE_SPOT_TREE_RIGHT 0x9C +#define MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN 0x9D +#define MB_UNUSED_9E 0x9E +#define MB_UNUSED_9F 0x9F +#define MB_BERRY_TREE_SOIL 0xA0 +#define MB_UNUSED_A1 0xA1 +#define MB_UNUSED_A2 0xA2 +#define MB_UNUSED_A3 0xA3 +#define MB_UNUSED_A4 0xA4 +#define MB_UNUSED_A5 0xA5 +#define MB_UNUSED_A6 0xA6 +#define MB_UNUSED_A7 0xA7 +#define MB_UNUSED_A8 0xA8 +#define MB_UNUSED_A9 0xA9 +#define MB_UNUSED_AA 0xAA +#define MB_UNUSED_AB 0xAB +#define MB_UNUSED_AC 0xAC +#define MB_UNUSED_AD 0xAD +#define MB_UNUSED_AE 0xAE +#define MB_UNUSED_AF 0xAF +#define MB_SECRET_BASE_PC 0xB0 +#define MB_SECRET_BASE_REGISTER_PC 0xB1 +#define MB_SECRET_BASE_UNUSED 0xB2 +#define MB_BLOCK_DECORATION 0xB3 +#define MB_SECRET_BASE_DECORATION 0xB4 +#define MB_SECRET_BASE_LARGE_MAT_EDGE 0xB5 +#define MB_UNUSED_B6 0xB6 +#define MB_SECRET_BASE_NORTH_WALL 0xB7 +#define MB_SECRET_BASE_BALLOON 0xB8 +#define MB_SECRET_BASE_IMPASSABLE 0xB9 +#define MB_SECRET_BASE_GLITTER_MAT 0xBA +#define MB_SECRET_BASE_JUMP_MAT 0xBB +#define MB_SECRET_BASE_SPIN_MAT 0xBC +#define MB_SECRET_BASE_SOUND_MAT 0xBD +#define MB_SECRET_BASE_BREAKABLE_DOOR 0xBE +#define MB_SECRET_BASE_SAND_ORNAMENT 0xBF +#define MB_IMPASSABLE_SOUTH_AND_NORTH 0xC0 +#define MB_IMPASSABLE_WEST_AND_EAST 0xC1 +#define MB_SECRET_BASE_HOLE 0xC2 +#define MB_LARGE_MAT_CENTER 0xC3 +#define MB_SECRET_BASE_TV_SHIELD 0xC4 +#define MB_PLAYER_ROOM_PC_ON 0xC5 +#define MB_C6 0xC6 +#define MB_SECRET_BASE_POSTER 0xC7 +#define MB_UNUSED_C8 0xC8 +#define MB_UNUSED_C9 0xC9 +#define MB_UNUSED_CA 0xCA +#define MB_UNUSED_CB 0xCB +#define MB_UNUSED_CC 0xCC +#define MB_UNUSED_CD 0xCD +#define MB_UNUSED_CE 0xCE +#define MB_UNUSED_CF 0xCF +#define MB_MUDDY_SLOPE 0xD0 +#define MB_BUMPY_SLOPE 0xD1 +#define MB_CRACKED_FLOOR 0xD2 +#define MB_ISOLATED_VERTICAL_RAIL 0xD3 +#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4 +#define MB_VERTICAL_RAIL 0xD5 +#define MB_HORIZONTAL_RAIL 0xD6 +#define MB_UNUSED_D7 0xD7 +#define MB_UNUSED_D8 0xD8 +#define MB_UNUSED_D9 0xD9 +#define MB_UNUSED_DA 0xDA +#define MB_UNUSED_DB 0xDB +#define MB_UNUSED_DC 0xDC +#define MB_UNUSED_DD 0xDD +#define MB_UNUSED_DE 0xDE +#define MB_UNUSED_DF 0xDF +#define MB_PICTURE_BOOK_SHELF 0xE0 +#define MB_BOOKSHELF 0xE1 +#define MB_POKEMON_CENTER_BOOKSHELF 0xE2 +#define MB_VASE 0xE3 +#define MB_TRASH_CAN 0xE4 +#define MB_SHOP_SHELF 0xE5 +#define MB_BLUEPRINT 0xE6 +#define MB_CABLE_BOX_RESULTS_2 0xE7 +#define MB_WIRELESS_BOX_RESULTS 0xE8 +#define MB_TRAINER_HILL_TIMER 0xE9 +#define MB_UNKNOWN_CLOSED_DOOR 0xEA +#define MB_UNUSED_EB 0xEB +#define MB_UNUSED_EC 0xEC +#define MB_UNUSED_ED 0xED +#define MB_UNUSED_EE 0xEE +#define MB_UNUSED_EF 0xEF + +#endif // GUARD_METATILE_BEHAVIORS diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index 86a67ab3e..edffc711f 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -25,7 +25,7 @@ bool8 MetatileBehavior_IsWestArrowWarp(u8); bool8 MetatileBehavior_IsNorthArrowWarp(u8); bool8 MetatileBehavior_IsSouthArrowWarp(u8); bool8 MetatileBehavior_IsArrowWarp(u8); -bool8 MetatileBehavior_IsMoveTile(u8); +bool8 MetatileBehavior_IsForcedMovementTile(u8); bool8 MetatileBehavior_IsIce_2(u8); bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8); bool8 MetatileBehavior_IsMB_05(u8); @@ -45,43 +45,43 @@ bool8 MetatileBehavior_IsCounter(u8); bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir); bool8 MetatileBehavior_IsPC(u8); bool8 MetatileBehavior_IsCableBoxResults1(u8); -bool8 MetatileBehavior_IsSecretBaseOpen(u8); +bool8 MetatileBehavior_IsOpenSecretBaseDoor(u8); bool8 MetatileBehavior_IsSecretBaseCave(u8); bool8 MetatileBehavior_IsSecretBaseTree(u8); bool8 MetatileBehavior_IsSecretBaseShrub(u8); bool8 MetatileBehavior_IsSecretBasePC(u8); bool8 MetatileBehavior_IsSecretBaseRegisterPC(u8); bool8 MetatileBehavior_IsMB_B2(u8); -bool8 MetatileBehavior_IsMB_B3(u8); -bool8 MetatileBehavior_IsMB_B9(u8); +bool8 MetatileBehavior_IsBlockDecoration(u8); +bool8 MetatileBehavior_IsSecretBaseImpassable(u8); bool8 MetatileBehavior_IsMB_C6(u8); bool8 MetatileBehavior_IsSecretBasePoster(u8); bool8 MetatileBehavior_IsNormal(u8); -bool8 MetatileBehavior_IsMB_B7(u8); +bool8 MetatileBehavior_IsSecretBaseNorthWall(u8); bool8 MetatileBehavior_IsMB_B2_Duplicate(u8); -bool8 MetatileBehavior_IsMB_B5(u8); -bool8 MetatileBehavior_IsMB_C3(u8); -bool8 MetatileBehavior_IsMB_C2(u8); +bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8); +bool8 MetatileBehavior_IsLargeMatCenter(u8); +bool8 MetatileBehavior_IsSecretBaseHole(u8); bool8 MetatileBehavior_IsSecretBaseBalloon(u8); -bool8 MetatileBehavior_IsMB_BE(u8); +bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8); bool8 MetatileBehavior_IsSecretBaseSoundMat(u8); bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8); -bool8 MetatileBehavior_IsMB_BF(u8); +bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8); bool8 MetatileBehavior_IsSecretBaseTvOrShield(u8); -bool8 MetatileBehavior_IsMB_C5(u8); +bool8 MetatileBehavior_IsPlayerRoomPCOn(u8); bool8 MetatileBehavior_HasRipples(u8); bool8 MetatileBehavior_IsPuddle(u8); bool8 MetatileBehavior_IsTallGrass(u8); bool8 MetatileBehavior_IsLongGrass(u8); bool8 MetatileBehavior_IsBerryTreeSoil(u8); bool8 MetatileBehavior_IsAshGrass(u8); -bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8); +bool8 MetatileBehavior_IsFootprints(u8); bool8 MetatileBehavior_IsBridge(u8); u8 MetatileBehavior_GetBridgeSth(u8); u8 MetatileBehavior_8089510(u8); bool8 MetatileBehavior_IsLandWildEncounter(u8); bool8 MetatileBehavior_IsWaterWildEncounter(u8); -bool8 MetatileBehavior_IsMB_0B(u8); +bool8 MetatileBehavior_IsIndoorEncounter(u8); bool8 MetatileBehavior_IsMountain(u8); bool8 MetatileBehavior_IsDiveable(u8); bool8 MetatileBehavior_IsUnableToEmerge(u8); diff --git a/include/metatile_behaviors.h b/include/metatile_behaviors.h deleted file mode 100644 index dd3a8b4f4..000000000 --- a/include/metatile_behaviors.h +++ /dev/null @@ -1,179 +0,0 @@ -#ifndef GUARD_METATILE_BEHAVIORS -#define GUARD_METATILE_BEHAVIORS - -#define MB_NORMAL 0x00 -#define MB_TALL_GRASS 0x02 -#define MB_LONG_GRASS 0x03 -#define MB_04 0x04 -#define MB_05 0x05 -#define MB_DEEP_SAND 0x06 -#define MB_SHORT_GRASS 0x07 -#define MB_CAVE 0x08 -#define MB_LONG_GRASS_SOUTH_EDGE 0x09 -#define MB_NO_RUNNING 0x0A -#define MB_0B 0x0B -#define MB_MOUNTAIN_TOP 0x0C -#define MB_BATTLE_PYRAMID_WARP 0x0D -#define MB_MOSSDEEP_GYM_WARP 0x0E -#define MB_MT_PYRE_HOLE 0x0F -#define MB_POND_WATER 0x10 -#define MB_SEMI_DEEP_WATER 0x11 -#define MB_DEEP_WATER 0x12 -#define MB_WATERFALL 0x13 -#define MB_SOOTOPOLIS_DEEP_WATER 0x14 -#define MB_OCEAN_WATER 0x15 -#define MB_PUDDLE 0x16 -#define MB_SHALLOW_WATER 0x17 -#define MB_18 0x18 -#define MB_NO_SURFACING 0x19 -#define MB_1A 0x1A -#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B -#define MB_SHOAL_CAVE_ENTRANCE 0x1C -#define MB_ICE 0x20 -#define MB_SAND 0x21 -#define MB_SEAWEED 0x22 -#define MB_ASHGRASS 0x24 -#define MB_25 0x25 -#define MB_THIN_ICE 0x26 -#define MB_CRACKED_ICE 0x27 -#define MB_HOT_SPRINGS 0x28 -#define MB_LAVARIDGE_GYM_B1F_WARP 0x29 -#define MB_SEAWEED_NO_SURFACING 0x2A -#define MB_REFLECTION_UNDER_BRIDGE 0x2B -#define MB_IMPASSABLE_EAST 0x30 -#define MB_IMPASSABLE_WEST 0x31 -#define MB_IMPASSABLE_NORTH 0x32 -#define MB_IMPASSABLE_SOUTH 0x33 -#define MB_IMPASSABLE_NORTHEAST 0x34 -#define MB_IMPASSABLE_NORTHWEST 0x35 -#define MB_IMPASSABLE_SOUTHEAST 0x36 -#define MB_IMPASSABLE_SOUTHWEST 0x37 -#define MB_JUMP_EAST 0x38 -#define MB_JUMP_WEST 0x39 -#define MB_JUMP_NORTH 0x3A -#define MB_JUMP_SOUTH 0x3B -#define MB_JUMP_SOUTHEAST 0x3E -#define MB_JUMP_SOUTHWEST 0x3F -#define MB_WALK_EAST 0x40 -#define MB_WALK_WEST 0x41 -#define MB_WALK_NORTH 0x42 -#define MB_WALK_SOUTH 0x43 -#define MB_SLIDE_EAST 0x44 -#define MB_SLIDE_WEST 0x45 -#define MB_SLIDE_NORTH 0x46 -#define MB_SLIDE_SOUTH 0x47 -#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48 -#define MB_EASTWARD_CURRENT 0x50 -#define MB_WESTWARD_CURRENT 0x51 -#define MB_NORTHWARD_CURRENT 0x52 -#define MB_SOUTHWARD_CURRENT 0x53 -#define MB_NON_ANIMATED_DOOR 0x60 -#define MB_LADDER 0x61 -#define MB_EAST_ARROW_WARP 0x62 -#define MB_WEST_ARROW_WARP 0x63 -#define MB_NORTH_ARROW_WARP 0x64 -#define MB_SOUTH_ARROW_WARP 0x65 -#define MB_CRACKED_FLOOR_HOLE 0x66 -#define MB_AQUA_HIDEOUT_WARP 0x67 -#define MB_LAVARIDGE_GYM_1F_WARP 0x68 -#define MB_ANIMATED_DOOR 0x69 -#define MB_UP_ESCALATOR 0x6A -#define MB_DOWN_ESCALATOR 0x6B -#define MB_WATER_DOOR 0x6C -#define MB_WATER_SOUTH_ARROW_WARP 0x6D -#define MB_DEEP_SOUTH_WARP 0x6E -#define MB_WARP_OR_BRIDGE 0x70 -#define MB_71 0x71 -#define MB_ROUTE120_NORTH_BRIDGE_1 0x72 -#define MB_ROUTE120_NORTH_BRIDGE_2 0x73 -#define MB_PACIFIDLOG_VERTICAL_LOG_1 0x74 -#define MB_PACIFIDLOG_VERTICAL_LOG_2 0x75 -#define MB_PACIFIDLOG_HORIZONTAL_LOG_1 0x76 -#define MB_PACIFIDLOG_HORIZONTAL_LOG_2 0x77 -#define MB_FORTREE_BRIDGE 0x78 -#define MB_ROUTE120_SOUTH_BRIDGE_1 0x7A -#define MB_ROUTE120_SOUTH_BRIDGE_2 0x7B -#define MB_ROUTE120_NORTH_BRIDGE_3 0x7C -#define MB_ROUTE120_NORTH_BRIDGE_4 0x7D -#define MB_7E 0x7E -#define MB_ROUTE110_BRIDGE 0x7F -#define MB_COUNTER 0x80 -#define MB_PC 0x83 -#define MB_CABLE_BOX_RESULTS_1 0x84 -#define MB_REGION_MAP 0x85 -#define MB_TELEVISION 0x86 -#define MB_POKEBLOCK_FEEDER 0x87 -#define MB_SLOT_MACHINE 0x89 -#define MB_ROULETTE 0x8A -#define MB_CLOSED_SOOTOPOLIS_GYM_DOOR 0x8B -#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C -#define MB_8D 0x8D -#define MB_RUNNING_SHOES_INSTRUCTION 0x8E -#define MB_QUESTIONNAIRE 0x8F -#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90 -#define MB_SECRET_BASE_SPOT_RED_CAVE_OPEN 0x91 -#define MB_SECRET_BASE_SPOT_BROWN_CAVE 0x92 -#define MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN 0x93 -#define MB_SECRET_BASE_SPOT_YELLOW_CAVE 0x94 -#define MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN 0x95 -#define MB_SECRET_BASE_SPOT_TREE_LEFT 0x96 -#define MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN 0x97 -#define MB_SECRET_BASE_SPOT_SHRUB 0x98 -#define MB_SECRET_BASE_SPOT_SHRUB_OPEN 0x99 -#define MB_SECRET_BASE_SPOT_BLUE_CAVE 0x9A -#define MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN 0x9B -#define MB_SECRET_BASE_SPOT_TREE_RIGHT 0x9C -#define MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN 0x9D -#define MB_BERRY_TREE_SOIL 0xA0 -#define MB_SECRET_BASE_PC 0xB0 -#define MB_SECRET_BASE_REGISTER_PC 0xB1 -#define MB_B2 0xB2 -#define MB_B3 0xB3 -#define MB_B4 0xB4 -#define MB_B5 0xB5 -#define MB_B6 0xB6 -#define MB_B7 0xB7 -#define MB_SECRET_BASE_BALLOON 0xB8 -#define MB_B9 0xB9 -#define MB_SECRET_BASE_GLITTER_MAT 0xBA -#define MB_SECRET_BASE_JUMP_MAT 0xBB -#define MB_SECRET_BASE_SPIN_MAT 0xBC -#define MB_SECRET_BASE_SOUND_MAT 0xBD -#define MB_BE 0xBE -#define MB_BF 0xBF -#define MB_BED 0xC0 -#define MB_C1 0xC1 -#define MB_C2 0xC2 -#define MB_C3 0xC3 -#define MB_SECRET_BASE_TV_SHIELD 0xC4 -#define MB_C5 0xC5 -#define MB_C6 0xC6 -#define MB_SECRET_BASE_POSTER 0xC7 -#define MB_C8 0xC8 -#define MB_C9 0xC9 -#define MB_CA 0xCA -#define MB_CB 0xCB -#define MB_CC 0xCC -#define MB_CD 0xCD -#define MB_CE 0xCE -#define MB_CF 0xCF -#define MB_MUDDY_SLOPE 0xD0 -#define MB_BUMPY_SLOPE 0xD1 -#define MB_CRACKED_FLOOR 0xD2 -#define MB_ISOLATED_VERTICAL_RAIL 0xD3 -#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4 -#define MB_VERTICAL_RAIL 0xD5 -#define MB_HORIZONTAL_RAIL 0xD6 -#define MB_PICTURE_BOOK_SHELF 0xE0 -#define MB_BOOKSHELF 0xE1 -#define MB_POKEMON_CENTER_BOOKSHELF 0xE2 -#define MB_VASE 0xE3 -#define MB_TRASH_CAN 0xE4 -#define MB_SHOP_SHELF 0xE5 -#define MB_BLUEPRINT 0xE6 -#define MB_CABLE_BOX_RESULTS_2 0xE7 -#define MB_WIRELESS_BOX_RESULTS 0xE8 -#define MB_TRAINER_HILL_TIMER 0xE9 -#define MB_UNKNOWN_CLOSED_DOOR 0xEA - -#endif // GUARD_METATILE_BEHAVIORS -- cgit v1.2.3 From e80a53060be68428583a306f91b48fd81b8988bd Mon Sep 17 00:00:00 2001 From: Tetrable Date: Fri, 5 Oct 2018 23:00:07 +0100 Subject: Start anim tags --- include/constants/battle_anim.h | 122 ++++++++++++++++++++-------------------- 1 file changed, 61 insertions(+), 61 deletions(-) (limited to 'include') diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 96f2259b3..74cb86ddb 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -7,57 +7,57 @@ // Particle ids. #define ANIM_SPRITES_START 10000 -#define ANIM_TAG_000 (ANIM_SPRITES_START + 0) -#define ANIM_TAG_001 (ANIM_SPRITES_START + 1) -#define ANIM_TAG_002 (ANIM_SPRITES_START + 2) -#define ANIM_TAG_003 (ANIM_SPRITES_START + 3) -#define ANIM_TAG_004 (ANIM_SPRITES_START + 4) -#define ANIM_TAG_005 (ANIM_SPRITES_START + 5) -#define ANIM_TAG_006 (ANIM_SPRITES_START + 6) -#define ANIM_TAG_007 (ANIM_SPRITES_START + 7) -#define ANIM_TAG_008 (ANIM_SPRITES_START + 8) -#define ANIM_TAG_009 (ANIM_SPRITES_START + 9) -#define ANIM_TAG_010 (ANIM_SPRITES_START + 10) -#define ANIM_TAG_011 (ANIM_SPRITES_START + 11) -#define ANIM_TAG_012 (ANIM_SPRITES_START + 12) -#define ANIM_TAG_013 (ANIM_SPRITES_START + 13) -#define ANIM_TAG_014 (ANIM_SPRITES_START + 14) -#define ANIM_TAG_015 (ANIM_SPRITES_START + 15) -#define ANIM_TAG_016 (ANIM_SPRITES_START + 16) -#define ANIM_TAG_017 (ANIM_SPRITES_START + 17) -#define ANIM_TAG_018 (ANIM_SPRITES_START + 18) -#define ANIM_TAG_019 (ANIM_SPRITES_START + 19) -#define ANIM_TAG_020 (ANIM_SPRITES_START + 20) -#define ANIM_TAG_021 (ANIM_SPRITES_START + 21) -#define ANIM_TAG_022 (ANIM_SPRITES_START + 22) -#define ANIM_TAG_023 (ANIM_SPRITES_START + 23) -#define ANIM_TAG_024 (ANIM_SPRITES_START + 24) -#define ANIM_TAG_025 (ANIM_SPRITES_START + 25) -#define ANIM_TAG_026 (ANIM_SPRITES_START + 26) -#define ANIM_TAG_027 (ANIM_SPRITES_START + 27) -#define ANIM_TAG_028 (ANIM_SPRITES_START + 28) -#define ANIM_TAG_029 (ANIM_SPRITES_START + 29) -#define ANIM_TAG_030 (ANIM_SPRITES_START + 30) -#define ANIM_TAG_031 (ANIM_SPRITES_START + 31) -#define ANIM_TAG_032 (ANIM_SPRITES_START + 32) -#define ANIM_TAG_033 (ANIM_SPRITES_START + 33) -#define ANIM_TAG_034 (ANIM_SPRITES_START + 34) -#define ANIM_TAG_035 (ANIM_SPRITES_START + 35) -#define ANIM_TAG_036 (ANIM_SPRITES_START + 36) -#define ANIM_TAG_037 (ANIM_SPRITES_START + 37) -#define ANIM_TAG_038 (ANIM_SPRITES_START + 38) -#define ANIM_TAG_039 (ANIM_SPRITES_START + 39) -#define ANIM_TAG_040 (ANIM_SPRITES_START + 40) -#define ANIM_TAG_041 (ANIM_SPRITES_START + 41) -#define ANIM_TAG_042 (ANIM_SPRITES_START + 42) -#define ANIM_TAG_043 (ANIM_SPRITES_START + 43) -#define ANIM_TAG_044 (ANIM_SPRITES_START + 44) -#define ANIM_TAG_045 (ANIM_SPRITES_START + 45) -#define ANIM_TAG_046 (ANIM_SPRITES_START + 46) -#define ANIM_TAG_047 (ANIM_SPRITES_START + 47) -#define ANIM_TAG_048 (ANIM_SPRITES_START + 48) -#define ANIM_TAG_049 (ANIM_SPRITES_START + 49) -#define ANIM_TAG_050 (ANIM_SPRITES_START + 50) +#define ANIM_TAG_BONE (ANIM_SPRITES_START + 0) +#define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1) +#define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2) +#define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3) +#define ANIM_TAG_004 (ANIM_SPRITES_START + 4) // ? +#define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5) +#define ANIM_TAG_SEED (ANIM_SPRITES_START + 6) +#define ANIM_TAG_007 (ANIM_SPRITES_START + 7) // ? +#define ANIM_TAG_008 (ANIM_SPRITES_START + 8) // ? +#define ANIM_TAG_GUST (ANIM_SPRITES_START + 9) +#define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10) +#define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11) +#define ANIM_TAG_012 (ANIM_SPRITES_START + 12) // ? +#define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13) +#define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14) +#define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15) +#define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16) +#define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17) +#define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18) +#define ANIM_TAG_019 (ANIM_SPRITES_START + 19) // ? +#define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20) +#define ANIM_TAG_021 (ANIM_SPRITES_START + 21) // ? +#define ANIM_TAG_022 (ANIM_SPRITES_START + 22) // ? +#define ANIM_TAG_023 (ANIM_SPRITES_START + 23) // ? +#define ANIM_TAG_024 (ANIM_SPRITES_START + 24) // ? +#define ANIM_TAG_025 (ANIM_SPRITES_START + 25) // ? +#define ANIM_TAG_026 (ANIM_SPRITES_START + 26) // ? +#define ANIM_TAG_GLARE (ANIM_SPRITES_START + 27) +#define ANIM_TAG_028 (ANIM_SPRITES_START + 28) // ? +#define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29) +#define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30) +#define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31) +#define ANIM_TAG_032 (ANIM_SPRITES_START + 32) // ? +#define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33) +#define ANIM_TAG_034 (ANIM_SPRITES_START + 34) // ? +#define ANIM_TAG_035 (ANIM_SPRITES_START + 35) // ? +#define ANIM_TAG_036 (ANIM_SPRITES_START + 36) // ? +#define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37) +#define ANIM_TAG_038 (ANIM_SPRITES_START + 38) // ? +#define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39) +#define ANIM_TAG_040 (ANIM_SPRITES_START + 40) // ? +#define ANIM_TAG_041 (ANIM_SPRITES_START + 41) // ? +#define ANIM_TAG_042 (ANIM_SPRITES_START + 42) // ? +#define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43) +#define ANIM_TAG_044 (ANIM_SPRITES_START + 44) // ? +#define ANIM_TAG_045 (ANIM_SPRITES_START + 45) // ? +#define ANIM_TAG_046 (ANIM_SPRITES_START + 46) // ? +#define ANIM_TAG_047 (ANIM_SPRITES_START + 47) // ? +#define ANIM_TAG_048 (ANIM_SPRITES_START + 48) // ? +#define ANIM_TAG_SPARKLE (ANIM_SPRITES_START + 49) +#define ANIM_TAG_050 (ANIM_SPRITES_START + 50) // ? #define ANIM_TAG_051 (ANIM_SPRITES_START + 51) #define ANIM_TAG_052 (ANIM_SPRITES_START + 52) #define ANIM_TAG_053 (ANIM_SPRITES_START + 53) @@ -107,16 +107,16 @@ #define ANIM_TAG_097 (ANIM_SPRITES_START + 97) #define ANIM_TAG_098 (ANIM_SPRITES_START + 98) #define ANIM_TAG_099 (ANIM_SPRITES_START + 99) -#define ANIM_TAG_100 (ANIM_SPRITES_START + 100) -#define ANIM_TAG_101 (ANIM_SPRITES_START + 101) -#define ANIM_TAG_102 (ANIM_SPRITES_START + 102) -#define ANIM_TAG_103 (ANIM_SPRITES_START + 103) -#define ANIM_TAG_104 (ANIM_SPRITES_START + 104) -#define ANIM_TAG_105 (ANIM_SPRITES_START + 105) -#define ANIM_TAG_106 (ANIM_SPRITES_START + 106) -#define ANIM_TAG_107 (ANIM_SPRITES_START + 107) -#define ANIM_TAG_108 (ANIM_SPRITES_START + 108) -#define ANIM_TAG_109 (ANIM_SPRITES_START + 109) +#define ANIM_TAG_ICE_CUBE0 (ANIM_SPRITES_START + 100) +#define ANIM_TAG_ICE_CUBE1 (ANIM_SPRITES_START + 101) +#define ANIM_TAG_ICE_CUBE2 (ANIM_SPRITES_START + 102) +#define ANIM_TAG_ICE_CUBE3 (ANIM_SPRITES_START + 103) +#define ANIM_TAG_ICE_CUBE4 (ANIM_SPRITES_START + 104) +#define ANIM_TAG_ICE_CUBE5 (ANIM_SPRITES_START + 105) +#define ANIM_TAG_ICE_CUBE6 (ANIM_SPRITES_START + 106) +#define ANIM_TAG_ICE_CUBE7 (ANIM_SPRITES_START + 107) +#define ANIM_TAG_ICE_CUBE8 (ANIM_SPRITES_START + 108) +#define ANIM_TAG_ICE_CUBE9 (ANIM_SPRITES_START + 109) #define ANIM_TAG_110 (ANIM_SPRITES_START + 110) #define ANIM_TAG_111 (ANIM_SPRITES_START + 111) #define ANIM_TAG_112 (ANIM_SPRITES_START + 112) -- cgit v1.2.3 From 61ab631dec9d5a122224d3ab641be97db80386e5 Mon Sep 17 00:00:00 2001 From: Tetrable Date: Fri, 5 Oct 2018 23:02:04 +0100 Subject: Fixed a small error --- include/constants/battle_anim.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'include') diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 74cb86ddb..d133477e9 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -107,16 +107,16 @@ #define ANIM_TAG_097 (ANIM_SPRITES_START + 97) #define ANIM_TAG_098 (ANIM_SPRITES_START + 98) #define ANIM_TAG_099 (ANIM_SPRITES_START + 99) -#define ANIM_TAG_ICE_CUBE0 (ANIM_SPRITES_START + 100) -#define ANIM_TAG_ICE_CUBE1 (ANIM_SPRITES_START + 101) -#define ANIM_TAG_ICE_CUBE2 (ANIM_SPRITES_START + 102) -#define ANIM_TAG_ICE_CUBE3 (ANIM_SPRITES_START + 103) -#define ANIM_TAG_ICE_CUBE4 (ANIM_SPRITES_START + 104) -#define ANIM_TAG_ICE_CUBE5 (ANIM_SPRITES_START + 105) -#define ANIM_TAG_ICE_CUBE6 (ANIM_SPRITES_START + 106) -#define ANIM_TAG_ICE_CUBE7 (ANIM_SPRITES_START + 107) -#define ANIM_TAG_ICE_CUBE8 (ANIM_SPRITES_START + 108) -#define ANIM_TAG_ICE_CUBE9 (ANIM_SPRITES_START + 109) +#define ANIM_TAG_100 (ANIM_SPRITES_START + 100) +#define ANIM_TAG_101 (ANIM_SPRITES_START + 101) +#define ANIM_TAG_102 (ANIM_SPRITES_START + 102) +#define ANIM_TAG_103 (ANIM_SPRITES_START + 103) +#define ANIM_TAG_104 (ANIM_SPRITES_START + 104) +#define ANIM_TAG_105 (ANIM_SPRITES_START + 105) +#define ANIM_TAG_106 (ANIM_SPRITES_START + 106) +#define ANIM_TAG_107 (ANIM_SPRITES_START + 107) +#define ANIM_TAG_108 (ANIM_SPRITES_START + 108) +#define ANIM_TAG_109 (ANIM_SPRITES_START + 109) #define ANIM_TAG_110 (ANIM_SPRITES_START + 110) #define ANIM_TAG_111 (ANIM_SPRITES_START + 111) #define ANIM_TAG_112 (ANIM_SPRITES_START + 112) -- cgit v1.2.3 From 024700769a5deec98c0eb0231b6e3f61f5043a89 Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Sat, 6 Oct 2018 01:45:36 -0400 Subject: Document all possible VERSION_ numbers and add them to the enum --- include/global.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'include') diff --git a/include/global.h b/include/global.h index b35008550..842cec257 100644 --- a/include/global.h +++ b/include/global.h @@ -86,13 +86,28 @@ extern u8 gStringVar4[]; #define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) #define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr) +/*Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. + *In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". + *Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". + *In Gen 4, migrated Pokemon with Heartgold or Soulsilver's ID show the unused "Johto" string.*/ enum { + VERSION_INVALID_0 = 0, VERSION_SAPPHIRE = 1, VERSION_RUBY = 2, VERSION_EMERALD = 3, VERSION_FIRE_RED = 4, VERSION_LEAF_GREEN = 5, + VERSION_INVALID_6 = 6, + VERSION_HEARTGOLD = 7, + VERSION_SOULSILVER = 8, + VERSION_INVALID_9 = 9, + VERSION_DIAMOND = 10, + VERSION_PEARL = 11, + VERSION_PLATINUM = 12, + VERSION_INVALID_13 = 13, + VERSION_INVALID_14 = 14, + VERSION_GAMECUBE = 15, }; enum LanguageId -- cgit v1.2.3 From cc0d2288d5a450591093749eb23381b1b86ccc49 Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Sat, 6 Oct 2018 01:46:17 -0400 Subject: Match comment formatting --- include/global.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/global.h b/include/global.h index 842cec257..cb029cb07 100644 --- a/include/global.h +++ b/include/global.h @@ -86,10 +86,10 @@ extern u8 gStringVar4[]; #define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) #define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr) -/*Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. - *In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". - *Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". - *In Gen 4, migrated Pokemon with Heartgold or Soulsilver's ID show the unused "Johto" string.*/ +// Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. +// In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". +// Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". +// In Gen 4, migrated Pokemon with Heartgold or Soulsilver's ID show the unused "Johto" string. enum { VERSION_INVALID_0 = 0, -- cgit v1.2.3 From 76a9cf0d54ff8163fbe5598d04b131407377df87 Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Sat, 6 Oct 2018 01:56:03 -0400 Subject: Fix captitalization of HGSS in comment and match FRLG formatting in enum --- include/global.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/global.h b/include/global.h index cb029cb07..1faaf4860 100644 --- a/include/global.h +++ b/include/global.h @@ -89,7 +89,7 @@ extern u8 gStringVar4[]; // Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. // In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". // Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". -// In Gen 4, migrated Pokemon with Heartgold or Soulsilver's ID show the unused "Johto" string. +// In Gen 4, migrated Pokemon with HeartGold or SoulSilver's ID show the unused "Johto" string. enum { VERSION_INVALID_0 = 0, @@ -99,8 +99,8 @@ enum VERSION_FIRE_RED = 4, VERSION_LEAF_GREEN = 5, VERSION_INVALID_6 = 6, - VERSION_HEARTGOLD = 7, - VERSION_SOULSILVER = 8, + VERSION_HEART_GOLD = 7, + VERSION_SOUL_SILVER = 8, VERSION_INVALID_9 = 9, VERSION_DIAMOND = 10, VERSION_PEARL = 11, -- cgit v1.2.3 From 17c5b4089ae0477c8500f6d2ccd686a75aab784e Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 6 Oct 2018 09:37:52 +0200 Subject: Label most of the anim tags --- include/constants/battle_anim.h | 66 ++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 33 deletions(-) (limited to 'include') diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index d133477e9..2b21aad9e 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -52,7 +52,7 @@ #define ANIM_TAG_042 (ANIM_SPRITES_START + 42) // ? #define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43) #define ANIM_TAG_044 (ANIM_SPRITES_START + 44) // ? -#define ANIM_TAG_045 (ANIM_SPRITES_START + 45) // ? +#define ANIM_TAG_PINK_HEART (ANIM_SPRITES_START + 45) // ? #define ANIM_TAG_046 (ANIM_SPRITES_START + 46) // ? #define ANIM_TAG_047 (ANIM_SPRITES_START + 47) // ? #define ANIM_TAG_048 (ANIM_SPRITES_START + 48) // ? @@ -62,7 +62,7 @@ #define ANIM_TAG_052 (ANIM_SPRITES_START + 52) #define ANIM_TAG_053 (ANIM_SPRITES_START + 53) #define ANIM_TAG_054 (ANIM_SPRITES_START + 54) -#define ANIM_TAG_055 (ANIM_SPRITES_START + 55) +#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55) #define ANIM_TAG_056 (ANIM_SPRITES_START + 56) #define ANIM_TAG_057 (ANIM_SPRITES_START + 57) #define ANIM_TAG_058 (ANIM_SPRITES_START + 58) @@ -79,8 +79,8 @@ #define ANIM_TAG_069 (ANIM_SPRITES_START + 69) #define ANIM_TAG_070 (ANIM_SPRITES_START + 70) #define ANIM_TAG_071 (ANIM_SPRITES_START + 71) -#define ANIM_TAG_072 (ANIM_SPRITES_START + 72) -#define ANIM_TAG_073 (ANIM_SPRITES_START + 73) +#define ANIM_TAG_MUSIC_NOTES2 (ANIM_SPRITES_START + 72) +#define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73) #define ANIM_TAG_074 (ANIM_SPRITES_START + 74) #define ANIM_TAG_075 (ANIM_SPRITES_START + 75) #define ANIM_TAG_076 (ANIM_SPRITES_START + 76) @@ -94,7 +94,7 @@ #define ANIM_TAG_084 (ANIM_SPRITES_START + 84) #define ANIM_TAG_085 (ANIM_SPRITES_START + 85) #define ANIM_TAG_086 (ANIM_SPRITES_START + 86) -#define ANIM_TAG_087 (ANIM_SPRITES_START + 87) +#define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87) #define ANIM_TAG_088 (ANIM_SPRITES_START + 88) #define ANIM_TAG_089 (ANIM_SPRITES_START + 89) #define ANIM_TAG_090 (ANIM_SPRITES_START + 90) @@ -104,9 +104,9 @@ #define ANIM_TAG_094 (ANIM_SPRITES_START + 94) #define ANIM_TAG_095 (ANIM_SPRITES_START + 95) #define ANIM_TAG_096 (ANIM_SPRITES_START + 96) -#define ANIM_TAG_097 (ANIM_SPRITES_START + 97) +#define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97) #define ANIM_TAG_098 (ANIM_SPRITES_START + 98) -#define ANIM_TAG_099 (ANIM_SPRITES_START + 99) +#define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99) #define ANIM_TAG_100 (ANIM_SPRITES_START + 100) #define ANIM_TAG_101 (ANIM_SPRITES_START + 101) #define ANIM_TAG_102 (ANIM_SPRITES_START + 102) @@ -127,7 +127,7 @@ #define ANIM_TAG_117 (ANIM_SPRITES_START + 117) #define ANIM_TAG_118 (ANIM_SPRITES_START + 118) #define ANIM_TAG_119 (ANIM_SPRITES_START + 119) -#define ANIM_TAG_120 (ANIM_SPRITES_START + 120) +#define ANIM_TAG_ITEM_BAG2 (ANIM_SPRITES_START + 120) #define ANIM_TAG_121 (ANIM_SPRITES_START + 121) #define ANIM_TAG_122 (ANIM_SPRITES_START + 122) #define ANIM_TAG_123 (ANIM_SPRITES_START + 123) @@ -157,8 +157,8 @@ #define ANIM_TAG_147 (ANIM_SPRITES_START + 147) #define ANIM_TAG_148 (ANIM_SPRITES_START + 148) #define ANIM_TAG_149 (ANIM_SPRITES_START + 149) -#define ANIM_TAG_150 (ANIM_SPRITES_START + 150) -#define ANIM_TAG_151 (ANIM_SPRITES_START + 151) +#define ANIM_TAG_POISON_BUBBLE (ANIM_SPRITES_START + 150) +#define ANIM_TAG_TOXIC_BUBBLE (ANIM_SPRITES_START + 151) #define ANIM_TAG_152 (ANIM_SPRITES_START + 152) #define ANIM_TAG_153 (ANIM_SPRITES_START + 153) #define ANIM_TAG_154 (ANIM_SPRITES_START + 154) @@ -187,37 +187,37 @@ #define ANIM_TAG_177 (ANIM_SPRITES_START + 177) #define ANIM_TAG_178 (ANIM_SPRITES_START + 178) #define ANIM_TAG_179 (ANIM_SPRITES_START + 179) -#define ANIM_TAG_180 (ANIM_SPRITES_START + 180) -#define ANIM_TAG_181 (ANIM_SPRITES_START + 181) +#define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180) +#define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181) #define ANIM_TAG_182 (ANIM_SPRITES_START + 182) #define ANIM_TAG_183 (ANIM_SPRITES_START + 183) #define ANIM_TAG_184 (ANIM_SPRITES_START + 184) #define ANIM_TAG_185 (ANIM_SPRITES_START + 185) #define ANIM_TAG_186 (ANIM_SPRITES_START + 186) -#define ANIM_TAG_187 (ANIM_SPRITES_START + 187) +#define ANIM_TAG_EYE (ANIM_SPRITES_START + 187) #define ANIM_TAG_188 (ANIM_SPRITES_START + 188) #define ANIM_TAG_189 (ANIM_SPRITES_START + 189) -#define ANIM_TAG_190 (ANIM_SPRITES_START + 190) +#define ANIM_TAG_OPENING_EYE (ANIM_SPRITES_START + 190) #define ANIM_TAG_191 (ANIM_SPRITES_START + 191) #define ANIM_TAG_192 (ANIM_SPRITES_START + 192) #define ANIM_TAG_193 (ANIM_SPRITES_START + 193) -#define ANIM_TAG_194 (ANIM_SPRITES_START + 194) -#define ANIM_TAG_195 (ANIM_SPRITES_START + 195) +#define ANIM_TAG_MOON (ANIM_SPRITES_START + 194) +#define ANIM_TAG_GREEN_SPARKLE (ANIM_SPRITES_START + 195) #define ANIM_TAG_196 (ANIM_SPRITES_START + 196) #define ANIM_TAG_197 (ANIM_SPRITES_START + 197) -#define ANIM_TAG_198 (ANIM_SPRITES_START + 198) -#define ANIM_TAG_199 (ANIM_SPRITES_START + 199) +#define ANIM_TAG_EXPLOSION (ANIM_SPRITES_START + 198) +#define ANIM_TAG_NAIL (ANIM_SPRITES_START + 199) #define ANIM_TAG_200 (ANIM_SPRITES_START + 200) #define ANIM_TAG_201 (ANIM_SPRITES_START + 201) -#define ANIM_TAG_202 (ANIM_SPRITES_START + 202) +#define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202) #define ANIM_TAG_203 (ANIM_SPRITES_START + 203) #define ANIM_TAG_204 (ANIM_SPRITES_START + 204) -#define ANIM_TAG_205 (ANIM_SPRITES_START + 205) -#define ANIM_TAG_206 (ANIM_SPRITES_START + 206) +#define ANIM_TAG_BELL (ANIM_SPRITES_START + 205) +#define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 206) #define ANIM_TAG_207 (ANIM_SPRITES_START + 207) #define ANIM_TAG_208 (ANIM_SPRITES_START + 208) #define ANIM_TAG_209 (ANIM_SPRITES_START + 209) -#define ANIM_TAG_210 (ANIM_SPRITES_START + 210) +#define ANIM_TAG_PURPLE_HEART (ANIM_SPRITES_START + 210) #define ANIM_TAG_211 (ANIM_SPRITES_START + 211) #define ANIM_TAG_212 (ANIM_SPRITES_START + 212) #define ANIM_TAG_213 (ANIM_SPRITES_START + 213) @@ -227,17 +227,17 @@ #define ANIM_TAG_217 (ANIM_SPRITES_START + 217) #define ANIM_TAG_218 (ANIM_SPRITES_START + 218) #define ANIM_TAG_219 (ANIM_SPRITES_START + 219) -#define ANIM_TAG_220 (ANIM_SPRITES_START + 220) -#define ANIM_TAG_221 (ANIM_SPRITES_START + 221) +#define ANIM_TAG_ANGEL (ANIM_SPRITES_START + 220) +#define ANIM_TAG_EVIL_ANGEL (ANIM_SPRITES_START + 221) #define ANIM_TAG_222 (ANIM_SPRITES_START + 222) #define ANIM_TAG_223 (ANIM_SPRITES_START + 223) -#define ANIM_TAG_224 (ANIM_SPRITES_START + 224) +#define ANIM_TAG_ITEM_BAG (ANIM_SPRITES_START + 224) #define ANIM_TAG_225 (ANIM_SPRITES_START + 225) #define ANIM_TAG_226 (ANIM_SPRITES_START + 226) #define ANIM_TAG_227 (ANIM_SPRITES_START + 227) -#define ANIM_TAG_228 (ANIM_SPRITES_START + 228) +#define ANIM_TAG_LETTER_Z (ANIM_SPRITES_START + 228) #define ANIM_TAG_229 (ANIM_SPRITES_START + 229) -#define ANIM_TAG_230 (ANIM_SPRITES_START + 230) +#define ANIM_TAG_TRI_FORCE_TRIANGLE (ANIM_SPRITES_START + 230) #define ANIM_TAG_231 (ANIM_SPRITES_START + 231) #define ANIM_TAG_232 (ANIM_SPRITES_START + 232) #define ANIM_TAG_233 (ANIM_SPRITES_START + 233) @@ -248,16 +248,16 @@ #define ANIM_TAG_238 (ANIM_SPRITES_START + 238) #define ANIM_TAG_239 (ANIM_SPRITES_START + 239) #define ANIM_TAG_240 (ANIM_SPRITES_START + 240) -#define ANIM_TAG_241 (ANIM_SPRITES_START + 241) +#define ANIM_TAG_GREEN_STAR (ANIM_SPRITES_START + 241) #define ANIM_TAG_242 (ANIM_SPRITES_START + 242) #define ANIM_TAG_243 (ANIM_SPRITES_START + 243) #define ANIM_TAG_244 (ANIM_SPRITES_START + 244) #define ANIM_TAG_245 (ANIM_SPRITES_START + 245) #define ANIM_TAG_246 (ANIM_SPRITES_START + 246) -#define ANIM_TAG_247 (ANIM_SPRITES_START + 247) +#define ANIM_TAG_HAND (ANIM_SPRITES_START + 247) #define ANIM_TAG_248 (ANIM_SPRITES_START + 248) #define ANIM_TAG_249 (ANIM_SPRITES_START + 249) -#define ANIM_TAG_250 (ANIM_SPRITES_START + 250) +#define ANIM_TAG_X_SIGN (ANIM_SPRITES_START + 250) #define ANIM_TAG_251 (ANIM_SPRITES_START + 251) #define ANIM_TAG_252 (ANIM_SPRITES_START + 252) #define ANIM_TAG_253 (ANIM_SPRITES_START + 253) @@ -265,7 +265,7 @@ #define ANIM_TAG_255 (ANIM_SPRITES_START + 255) #define ANIM_TAG_256 (ANIM_SPRITES_START + 256) #define ANIM_TAG_257 (ANIM_SPRITES_START + 257) -#define ANIM_TAG_258 (ANIM_SPRITES_START + 258) +#define ANIM_TAG_MAGNIFYING_GLASS (ANIM_SPRITES_START + 258) #define ANIM_TAG_259 (ANIM_SPRITES_START + 259) #define ANIM_TAG_260 (ANIM_SPRITES_START + 260) #define ANIM_TAG_261 (ANIM_SPRITES_START + 261) @@ -285,9 +285,9 @@ #define ANIM_TAG_275 (ANIM_SPRITES_START + 275) #define ANIM_TAG_276 (ANIM_SPRITES_START + 276) #define ANIM_TAG_277 (ANIM_SPRITES_START + 277) -#define ANIM_TAG_278 (ANIM_SPRITES_START + 278) +#define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278) #define ANIM_TAG_279 (ANIM_SPRITES_START + 279) -#define ANIM_TAG_280 (ANIM_SPRITES_START + 280) +#define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280) #define ANIM_TAG_281 (ANIM_SPRITES_START + 281) #define ANIM_TAG_282 (ANIM_SPRITES_START + 282) #define ANIM_TAG_283 (ANIM_SPRITES_START + 283) -- cgit v1.2.3 From 2070c246f97058d45bcec238f5263becc354e2e9 Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Sat, 6 Oct 2018 07:40:56 -0400 Subject: Added new findings about invalid version IDs. After transferring Pokemon up to Gen 6 and then to Gen 7, I discovered that invalid version IDs display the "a distant land" string that is used for the Gamecube games, so that information was added in a comment. Also clarified that it's not just Gen 4 that displays the Johto string, it's Gen 4 and up. --- include/global.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/global.h b/include/global.h index 1faaf4860..889ddd8f8 100644 --- a/include/global.h +++ b/include/global.h @@ -87,9 +87,10 @@ extern u8 gStringVar4[]; #define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr) // Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. +// In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. // In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". // Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". -// In Gen 4, migrated Pokemon with HeartGold or SoulSilver's ID show the unused "Johto" string. +// In Gen 4 and up, migrated Pokemon with HeartGold or SoulSilver's ID show the unused "Johto" string. enum { VERSION_INVALID_0 = 0, -- cgit v1.2.3 From 54fc92bc92e78d172be51f7d11b4d746e46f8a7e Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 6 Oct 2018 23:04:53 +0200 Subject: Start porting ruby battle anim file --- include/battle_anim.h | 13 ++++++++----- include/contest.h | 16 ++++++++-------- 2 files changed, 16 insertions(+), 13 deletions(-) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index f690cf10c..29de71077 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -72,17 +72,20 @@ void HandleIntroSlide(u8 terrainId); // battle_anim_80A5C6C.s void sub_80A6EEC(struct Sprite *sprite); void sub_80A68D4(struct Sprite *sprite); -void sub_80A6F3C(struct Sprite *sprite); +void TranslateAnimLinear(struct Sprite *sprite); void sub_80A8278(void); void sub_80A6B30(struct UnknownAnimStruct2*); void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1); u8 sub_80A82E4(u8 battlerId); -bool8 AnimateBallThrow(struct Sprite *sprite); +bool8 TranslateAnimArc(struct Sprite *sprite); enum { - BANK_X_POS, - BANK_Y_POS, + BATTLER_COORD_X, + BATTLER_COORD_Y, + BATTLER_COORD_X_2, + BATTLER_COORD_3, + BATTLER_COORD_4, }; u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId); @@ -107,6 +110,6 @@ u8 ItemIdToBallId(u16 itemId); u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId); u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId); -u8 sub_80A600C(u8, u16, u8); +u8 GetBattlerSpriteFinal_Y(u8, u16, u8); #endif // GUARD_BATTLE_ANIM_H diff --git a/include/contest.h b/include/contest.h index 0a8fa4436..d62d33ab7 100644 --- a/include/contest.h +++ b/include/contest.h @@ -239,14 +239,13 @@ struct Shared18000 struct ContestStruct_field_18 { - // unknown size - u16 field_0; - u16 field_2; - u16 field_4; - u16 field_6; - u32 field_8; - u32 field_C; - u32 field_10; + u16 unk0; + u16 unk2; + u8 unk4_0:1; + u8 unk5; + u32 unk8; + u32 unkC; + u32 unk10; }; struct Contest @@ -411,6 +410,7 @@ extern struct ContestResources *gContestResources; #define eContestAI (gContestResources->field_C) #define shared19328 (*gContestResources->field_10) #define shared19338 (*gContestResources->field_14) +#define shared19348 (*gContestResources->field_18) #define shared15800 (gHeap + 0x18000) #define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) -- cgit v1.2.3 From 8c834b9ae8eccaf6a95583e632f2007715271cd9 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 7 Oct 2018 12:32:20 +0200 Subject: battle anim 80a5c6c decompiled --- include/battle_anim.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index 29de71077..c8a2779d8 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -14,11 +14,11 @@ enum struct UnknownAnimStruct2 { - void *unk0; + u8 *bgTiles; u16 *unk4; u8 unk8; - u8 unk9; - u16 unkA; + u8 bgId; + u16 tilesOffset; u16 unkC; }; @@ -63,16 +63,18 @@ s8 BattleAnimAdjustPanning(s8 pan); s8 BattleAnimAdjustPanning2(s8 pan); s16 KeepPanInRange(s16 a); s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan); +void sub_80A4720(u16 a, u16 *b, u32 c, u8 d); // battle_anim_80FE840.s void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value); -void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 bankIdentity, u8 arg4, void *arg5, u16 *arg6, u16 arg7); +void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, void *arg5, u16 *arg6, u16 arg7); void HandleIntroSlide(u8 terrainId); +u32 GetAnimBgAttribute(u8 bgId, u8 attributeId); // battle_anim_80A5C6C.s void sub_80A6EEC(struct Sprite *sprite); void sub_80A68D4(struct Sprite *sprite); -void TranslateAnimLinear(struct Sprite *sprite); +bool8 TranslateAnimLinear(struct Sprite *sprite); void sub_80A8278(void); void sub_80A6B30(struct UnknownAnimStruct2*); void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1); @@ -91,11 +93,11 @@ enum u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId); bool8 IsBattlerSpritePresent(u8 battlerId); -void sub_80A6C68(u8 arg0); +void sub_80A6C68(u32 arg0); u8 GetAnimBattlerSpriteId(u8 wantedBattler); bool8 IsDoubleBattle(void); u8 sub_80A6D94(void); -u8 sub_80A8364(u8); +u8 sub_80A8364(u8 battlerId); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*)); void oamt_add_pos2_onto_pos1(struct Sprite *sprite); u8 GetBattlerSpriteDefault_Y(u8 battlerId); -- cgit v1.2.3 From 61343d50698e035834eb276b48189d4db0a4b9b8 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 7 Oct 2018 15:39:46 +0200 Subject: Decompile battle_anim_80A9C70 --- include/battle_anim.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index c8a2779d8..2b5b3e20c 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -105,6 +105,14 @@ u8 sub_80A82E4(u8 battlerId); u8 GetSubstituteSpriteDefault_Y(u8 battlerId); // battle_anim_80A9C70.s +#define STAT_ANIM_PLUS1 15 +#define STAT_ANIM_PLUS2 39 +#define STAT_ANIM_MINUS1 22 +#define STAT_ANIM_MINUS2 46 +#define STAT_ANIM_MULTIPLE_PLUS1 55 +#define STAT_ANIM_MULTIPLE_PLUS2 56 +#define STAT_ANIM_MULTIPLE_MINUS1 57 +#define STAT_ANIM_MULTIPLE_MINUS2 58 void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); // battle_anim_8170478.s -- cgit v1.2.3 From 413e26e83ddecca2e8a48ae8337f3309b29a9903 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 7 Oct 2018 17:45:37 +0200 Subject: port 80d51ac --- include/battle_anim.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/battle_anim.h b/include/battle_anim.h index 2b5b3e20c..200b9fdb1 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -39,7 +39,7 @@ extern bool8 gAnimScriptActive; extern u8 gAnimVisualTaskCount; extern u8 gAnimSoundTaskCount; extern struct DisableStruct *gAnimDisableStructPtr; -extern u32 gAnimMoveDmg; +extern s32 gAnimMoveDmg; extern u16 gAnimMovePower; extern u8 gAnimFriendship; extern u16 gWeatherMoveAnim; @@ -80,6 +80,13 @@ void sub_80A6B30(struct UnknownAnimStruct2*); void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1); u8 sub_80A82E4(u8 battlerId); bool8 TranslateAnimArc(struct Sprite *sprite); +void sub_80A6630(struct Sprite *sprite); +void sub_80A6680(struct Sprite *sprite); +void sub_80A7344(u8 spriteId); +void obj_id_set_rotscale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation); +void sub_80A6E14(struct Sprite *sprite); +void sub_80A7270(u8 spriteId, u8 objMode); +void sub_80A73A0(u8 spriteId); enum { -- cgit v1.2.3 From 72c9abbb667dfb8ec1c596559b97c7571d1084cf Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sun, 7 Oct 2018 23:28:36 -0500 Subject: Remove invalid version entries --- include/global.h | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'include') diff --git a/include/global.h b/include/global.h index 889ddd8f8..9ae892b5c 100644 --- a/include/global.h +++ b/include/global.h @@ -90,24 +90,19 @@ extern u8 gStringVar4[]; // In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. // In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". // Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". -// In Gen 4 and up, migrated Pokemon with HeartGold or SoulSilver's ID show the unused "Johto" string. +// In Gen 4 and up, migrated Pokemon with HeartGold or SoulSilver's ID show the otherwise unused "Johto" string. enum { - VERSION_INVALID_0 = 0, VERSION_SAPPHIRE = 1, VERSION_RUBY = 2, VERSION_EMERALD = 3, VERSION_FIRE_RED = 4, VERSION_LEAF_GREEN = 5, - VERSION_INVALID_6 = 6, VERSION_HEART_GOLD = 7, VERSION_SOUL_SILVER = 8, - VERSION_INVALID_9 = 9, VERSION_DIAMOND = 10, VERSION_PEARL = 11, VERSION_PLATINUM = 12, - VERSION_INVALID_13 = 13, - VERSION_INVALID_14 = 14, VERSION_GAMECUBE = 15, }; -- cgit v1.2.3 From 35ee9f67c0d89d73c7ef4c8d272dca767ceeb7c4 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Tue, 9 Oct 2018 17:32:39 -0400 Subject: ported some of field_effect_helpers --- include/event_object_movement.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/event_object_movement.h b/include/event_object_movement.h index d43dd78ea..97c41a519 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -80,6 +80,7 @@ struct LockedAnimEventObjects }; extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[]; +extern const u8 gReflectionEffectPaletteMap[]; void sub_808D438(void); u8 GetMoveDirectionAnimNum(u8); @@ -189,6 +190,8 @@ u8 GetMoveDirectionFasterAnimNum(u8); u8 GetMoveDirectionFastestAnimNum(u8); u8 GetLedgeJumpDirection(s16, s16, u8); void CameraObjectSetFollowedObjectId(u8 objectId); +u16 GetObjectPaletteTag(u8 palSlot); +void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible); void MovementType_None(struct Sprite *); void MovementType_LookAround(struct Sprite *); @@ -249,6 +252,7 @@ u8 GetSlideMovementAction(u32); u8 GetJumpInPlaceMovementAction(u32); u8 GetJumpMovementAction(u32); u8 GetJump2MovementAction(u32); +u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority); u8 MovementType_WanderAround_Step0(struct EventObject *, struct Sprite *); u8 MovementType_WanderAround_Step1(struct EventObject *, struct Sprite *); -- cgit v1.2.3 From 803c2388ce23efebab04c86c6d58dc2d24a49dd2 Mon Sep 17 00:00:00 2001 From: golem galvanize Date: Wed, 10 Oct 2018 12:02:02 -0400 Subject: finish porting field_effect_helpers --- include/event_object_movement.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 97c41a519..80b9f3fc0 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -192,6 +192,8 @@ u8 GetLedgeJumpDirection(s16, s16, u8); void CameraObjectSetFollowedObjectId(u8 objectId); u16 GetObjectPaletteTag(u8 palSlot); void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible); +s16 sub_809773C(s16 a1); +s16 sub_8097728(s16 a1); void MovementType_None(struct Sprite *); void MovementType_LookAround(struct Sprite *); -- cgit v1.2.3 From 04836db16721fc3ff33bda41242ab04deb9ca02f Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Thu, 11 Oct 2018 16:02:58 -0500 Subject: Start porting cable_club.c --- include/link.h | 3 ++- include/strings.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/link.h b/include/link.h index 9561728bd..eb44ed04e 100644 --- a/include/link.h +++ b/include/link.h @@ -97,7 +97,8 @@ enum EXCHANGE_IN_PROGRESS, EXCHANGE_STAT_4, EXCHANGE_STAT_5, - EXCHANGE_STAT_6 + EXCHANGE_STAT_6, + EXCHANGE_STAT_7 }; enum diff --git a/include/strings.h b/include/strings.h index e72360563..54644a7cb 100644 --- a/include/strings.h +++ b/include/strings.h @@ -843,4 +843,6 @@ extern const u8 gText_TwoDashes[]; extern const u8 *const gReturnToXStringsTable2[]; +extern const u8 gText_XPLink[]; + #endif //GUARD_STRINGS_H -- cgit v1.2.3 From 74b81bf229ded3212ab77701aebd4e16799731ec Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 13 Oct 2018 00:48:26 +0200 Subject: start apprentice --- include/global.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/global.h b/include/global.h index 9ae892b5c..9b66f7da6 100644 --- a/include/global.h +++ b/include/global.h @@ -297,9 +297,16 @@ struct UnknownSaveBlock2Struct struct UnkRecordMixingStruct { - u8 field_0[0x34]; + u8 field_0_0:5; + u8 field_0_1:2; + u8 field_1; + u8 field_2; + u8 field_3[37]; + u16 unk28[6]; u8 playerId[4]; - u8 field_38[10]; + u8 playerName[PLAYER_NAME_LENGTH]; + u8 language; + u32 unk40; }; struct UnknownPokemonStruct @@ -492,10 +499,12 @@ struct SaveBlock2 // TODO: fix and verify labels /*0xB0*/ u8 field_B0; - /*0xB1*/ u8 field_B1; + /*0xB1*/ u8 field_B1_0:2; + /*0xB1*/ u8 field_B1_1:6; /*0xB2*/ u8 field_B2_0:3; /*0xB2*/ u8 field_B2_1:2; - /*0xB3*/ u8 field_B3[0x29]; + /*0xB3*/ u8 field_B3; + /*0xB4*/ u8 field_B4[0x28]; /*0xDC*/ struct UnkRecordMixingStruct field_DC[4]; /*0x1EC*/ struct BerryCrush berryCrush; /*0x1FC*/ struct PokemonJumpResults pokeJump; -- cgit v1.2.3 From 35c69388140243c391b925fd8b9012d2d1703810 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sat, 13 Oct 2018 12:41:10 -0500 Subject: Port/decompile cable_club.s --- include/cable_club.h | 1 + include/field_message_box.h | 10 ++++++++++ include/field_specials.h | 1 + include/link.h | 8 ++++++++ include/menu.h | 1 + include/overworld.h | 3 +++ include/rom_8011DC0.h | 2 ++ include/script_pokemon_util_80F87D8.h | 1 + include/strings.h | 8 ++++++++ include/trainer_card.h | 9 ++++++--- 10 files changed, 41 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/cable_club.h b/include/cable_club.h index 8be376721..ebdc82b46 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -14,5 +14,6 @@ u8 sub_80B3050(void); void sub_80B360C(void); bool32 sub_80B2AF4(u16 *arg0, u16 *arg1); void sub_80B3AF8(u8 taskId); +void task00_08081A90(u8 taskId); #endif //GUARD_CABLE_CLUB_H diff --git a/include/field_message_box.h b/include/field_message_box.h index 432c9078b..e3deee4d6 100644 --- a/include/field_message_box.h +++ b/include/field_message_box.h @@ -1,10 +1,20 @@ #ifndef GUARD_FIELD_MESSAGE_BOX_H #define GUARD_FIELD_MESSAGE_BOX_H +enum +{ + FIELD_MESSAGE_BOX_HIDDEN, + FIELD_MESSAGE_BOX_UNUSED, + FIELD_MESSAGE_BOX_NORMAL, + FIELD_MESSAGE_BOX_AUTO_SCROLL, +}; + bool8 ShowFieldMessage(const u8 *message); bool8 sub_8098238(const u8 *message); bool8 ShowFieldAutoScrollMessage(const u8 *message); void HideFieldMessageBox(void); bool8 IsFieldMessageBoxHidden(void); +u8 GetFieldMessageBoxMode(void); +void sub_8098374(void); #endif // GUARD_FIELD_MESSAGE_BOX_H diff --git a/include/field_specials.h b/include/field_specials.h index c1f70a399..4709f9551 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -5,5 +5,6 @@ u8 GetLeadMonIndex(void); u8 sub_813B260(void); u16 get_unknown_box_id(void); bool8 InMultiBattleRoom(void); +void sub_813BF10(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/link.h b/include/link.h index eb44ed04e..f12f0990f 100644 --- a/include/link.h +++ b/include/link.h @@ -259,6 +259,8 @@ void sub_800AF18(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 un void sub_800B348(void); void sub_800B3A4(u32 who); bool32 sub_800A07C(void); +void sub_800AB98(void); +void sub_800AA04(u8 a0); extern u16 gLinkPartnersHeldKeys[6]; extern u32 gLinkDebugSeed; @@ -293,6 +295,7 @@ extern u32 gFiller_0300315c; extern u32 gFiller_03004138; extern u32 gFiller_0300413C; extern u32 gFiller_03003080; +extern struct LinkPlayer gLocalLinkPlayer; bool32 Link_AnyPartnersPlayingRubyOrSapphire(void); bool32 sub_800A03C(void); @@ -303,5 +306,10 @@ bool8 sub_800A4D8(u8 a0); u8 sub_800A9D8(void); u8 sub_800A0C8(s32, s32); u16 *sub_801B058(void); +u8 sub_800A9A8(void); +void sub_800AD10(void); +void sub_800AB18(void); +void sub_8009F18(void); +bool8 sub_800AA60(void); #endif // GUARD_LINK_H diff --git a/include/menu.h b/include/menu.h index cddab0870..2689b026c 100644 --- a/include/menu.h +++ b/include/menu.h @@ -87,5 +87,6 @@ void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP); void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram); +void sub_8197AE8(bool8 copyToVram); #endif // GUARD_MENU_H diff --git a/include/overworld.h b/include/overworld.h index f6856ab0c..3dce20ab2 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -25,6 +25,9 @@ extern u16 *gBGTilemapBuffers3; extern void (*gFieldCallback)(void); +extern u8 gUnknown_03005DB4; +extern u8 gFieldLinkPlayerCount; + // Exported ROM declarations extern const struct UCoords32 gDirectionToVectors[]; diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index f71e5d97d..b6ca0e248 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -9,5 +9,7 @@ void sub_8018438(void); u16 mevent_081445C0(u8); +void sub_801B990(u32, u32); +u8 sub_8013F78(void); #endif //GUARD_rom_8011DC0_H diff --git a/include/script_pokemon_util_80F87D8.h b/include/script_pokemon_util_80F87D8.h index 555b3428b..68aec7eb6 100644 --- a/include/script_pokemon_util_80F87D8.h +++ b/include/script_pokemon_util_80F87D8.h @@ -3,5 +3,6 @@ #define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H u16 sub_80F903C(void); +void ReducePlayerPartyToThree(void); #endif // GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H diff --git a/include/strings.h b/include/strings.h index 54644a7cb..1a254c2ad 100644 --- a/include/strings.h +++ b/include/strings.h @@ -844,5 +844,13 @@ extern const u8 gText_TwoDashes[]; extern const u8 *const gReturnToXStringsTable2[]; extern const u8 gText_XPLink[]; +extern const u8 gText_ConfirmLinkWhenPlayersReady[]; +extern const u8 gText_ConfirmStartLinkWithXPlayers[]; +extern const u8 gText_AwaitingLinkup[]; +extern const u8 gText_PleaseWaitForLink[]; +extern const u8 gText_BronzeCard[]; +extern const u8 gText_CopperCard[]; +extern const u8 gText_SilverCard[]; +extern const u8 gText_GoldCard[]; #endif //GUARD_STRINGS_H diff --git a/include/trainer_card.h b/include/trainer_card.h index af603444f..d80a5fa52 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -27,13 +27,16 @@ struct TrainerCard /*0x24*/ u32 money; /*0x28*/ u16 var_28[4]; /*0x30*/ u8 playerName[8]; - /*0x38*/ u8 emeraldAddedUnknownFields[0x64-0x38]; + /*0x38*/ u8 emeraldAddedUnknownFields[0x54-0x38]; + /*0x54*/ u16 monSpecies[2]; + /*0x58*/ u8 emeraldAddedUnknownFields2[0x64-0x58]; }; extern struct TrainerCard gTrainerCards[4]; void sub_80C3120(struct TrainerCard *arg0, u16 *arg1, u8 gameVersion); -void sub_80C4E74(u8 arg0, void (*callback)(void)); -void sub_80C30A4(u16 *arg0); +void TrainerCard_ShowLinkCard(u8 arg0, void (*callback)(void)); +void TrainerCard_GenerateCardForPlayer(struct TrainerCard *); +u8 sub_80C4904(u8); #endif // GUARD_TRAINER_CARD_H -- cgit v1.2.3 From a496a763ca54871e19e2482b550127e2aa709b05 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 13 Oct 2018 20:38:46 +0200 Subject: Merge record mixing, pokemon and global with apprentice --- include/apprentice.h | 17 +++++++++++++++++ include/global.h | 29 ++++++++++++++++++++++++----- include/pokemon.h | 28 +--------------------------- include/script_menu.h | 1 + 4 files changed, 43 insertions(+), 32 deletions(-) create mode 100644 include/apprentice.h (limited to 'include') diff --git a/include/apprentice.h b/include/apprentice.h new file mode 100644 index 000000000..98185e3c2 --- /dev/null +++ b/include/apprentice.h @@ -0,0 +1,17 @@ +#ifndef GUARD_APPRENTICE_H +#define GUARD_APPRENTICE_H + +#define APPRENTICE_SPECIES_COUNT 10 + +struct ApprenticeTrainer +{ + u8 name[6][PLAYER_NAME_LENGTH + 1]; // For all six languages. + u16 otId; + u16 facilityClass; + u16 species[APPRENTICE_SPECIES_COUNT]; + u8 rest[14]; +}; + +extern const struct ApprenticeTrainer gApprentices[]; + +#endif // GUARD_APPRENTICE_H diff --git a/include/global.h b/include/global.h index 9b66f7da6..ec9fc99bf 100644 --- a/include/global.h +++ b/include/global.h @@ -295,13 +295,21 @@ struct UnknownSaveBlock2Struct u8 field_EB; }; // sizeof = 0xEC -struct UnkRecordMixingStruct +struct ApprenticeMon +{ + u16 species; + u16 moves[4]; + u16 item; +}; + +struct Apprentice { u8 field_0_0:5; u8 field_0_1:2; u8 field_1; u8 field_2; - u8 field_3[37]; + u8 field_3; + struct ApprenticeMon monData[3]; u16 unk28[6]; u8 playerId[4]; u8 playerName[PLAYER_NAME_LENGTH]; @@ -473,6 +481,15 @@ struct BattleFrontier /*0xEFC*/ struct FrontierMonData field_EFC[3]; }; +struct Sav2_B8 +{ + u8 unk0_0:2; + u8 unk0_1:2; + u8 unk0_2:2; + u8 unk0_3:2; + u16 unk2; +}; + struct SaveBlock2 { /*0x00*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; @@ -500,12 +517,14 @@ struct SaveBlock2 // TODO: fix and verify labels /*0xB0*/ u8 field_B0; /*0xB1*/ u8 field_B1_0:2; - /*0xB1*/ u8 field_B1_1:6; + /*0xB1*/ u8 field_B1_1:4; + /*0xB1*/ u8 field_B1_2:2; /*0xB2*/ u8 field_B2_0:3; /*0xB2*/ u8 field_B2_1:2; /*0xB3*/ u8 field_B3; - /*0xB4*/ u8 field_B4[0x28]; - /*0xDC*/ struct UnkRecordMixingStruct field_DC[4]; + /*0xB4*/ u8 field_B4[3]; + /*0xB8*/ struct Sav2_B8 field_B8[9]; + /*0xDC*/ struct Apprentice field_DC[4]; /*0x1EC*/ struct BerryCrush berryCrush; /*0x1FC*/ struct PokemonJumpResults pokeJump; /*0x20C*/ struct BerryPickingResults berryPick; diff --git a/include/pokemon.h b/include/pokemon.h index 9eddd8155..d261fba85 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -240,32 +240,6 @@ struct PokemonStorage /*0x83C2*/ u8 boxWallpapers[14]; }; -struct UnknownPokemonSubStruct2 -{ - u16 species; - u16 moves[4]; - u16 item; -}; - -struct UnknownPokemonStruct2 -{ - u8 field_0_0 : 5; - u8 field_0_1 : 2; - u8 field_1; - u8 field_2; - u8 field_3; - struct UnknownPokemonSubStruct2 mons[3]; - u8 field_28[23]; - u8 language; -}; - -struct UnknownPokemonStruct3 -{ - u8 field_0[48]; - u16 field_30; - u8 field_32[38]; -}; - struct Unknown_806F160_Struct { u8 field_0_0:4; @@ -472,7 +446,7 @@ void CreateMonWithIVsOTID(struct Pokemon *mon, u16 species, u8 level, u8 *ivs, u void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 evSpread); void sub_806819C(struct Pokemon *mon, struct UnknownPokemonStruct *src); void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lvl50); -void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u8 monId); +void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId); void CreateMonWithEVSpreadPersonalityOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId); void sub_80686FC(struct Pokemon *mon, struct UnknownPokemonStruct *dest); void CreateObedientMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId); diff --git a/include/script_menu.h b/include/script_menu.h index c50bef00f..8870e80b9 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -13,5 +13,6 @@ s32 convert_pixel_width_to_tile_width(s32); u8 CreateWindowFromRect(u8, u8, u8, u8); void sub_80E2A78(u8); u32 display_text_and_get_width(const u8*, u32); +u8 sub_80E2D5C(u8 arg0, u8 tileWidth); #endif //GUARD_SCRIPT_MENU_H -- cgit v1.2.3 From 36b8a6a9a2ad5aca2e5d59a1293222819d987aa6 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 13 Oct 2018 23:23:33 +0200 Subject: More apprentice work --- include/global.h | 2 +- include/menu.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/global.h b/include/global.h index ec9fc99bf..0100d04db 100644 --- a/include/global.h +++ b/include/global.h @@ -310,7 +310,7 @@ struct Apprentice u8 field_2; u8 field_3; struct ApprenticeMon monData[3]; - u16 unk28[6]; + u16 easyChatWords[6]; u8 playerId[4]; u8 playerName[PLAYER_NAME_LENGTH]; u8 language; diff --git a/include/menu.h b/include/menu.h index cddab0870..7815f71d8 100644 --- a/include/menu.h +++ b/include/menu.h @@ -50,7 +50,7 @@ void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); void reset_temp_tile_data_buffers(void); void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode); bool8 free_temp_tile_data_buffers_if_possible(void); -struct WindowTemplate CreateWindowTemplate(u8, u8, u8, u8, u8, u8, u16); +struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock); void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode); s8 Menu_ProcessInputNoWrap_(void); -- cgit v1.2.3 From b4a42a6832e851f457636da61fceb530b77962f9 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 14 Oct 2018 11:37:44 +0200 Subject: Decompile apprentice --- include/apprentice.h | 4 +++- include/constants/apprentice.h | 11 +++++++++++ include/item_menu.h | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 include/constants/apprentice.h (limited to 'include') diff --git a/include/apprentice.h b/include/apprentice.h index 98185e3c2..86c6250a0 100644 --- a/include/apprentice.h +++ b/include/apprentice.h @@ -7,11 +7,13 @@ struct ApprenticeTrainer { u8 name[6][PLAYER_NAME_LENGTH + 1]; // For all six languages. u16 otId; - u16 facilityClass; + u8 facilityClass; u16 species[APPRENTICE_SPECIES_COUNT]; u8 rest[14]; }; extern const struct ApprenticeTrainer gApprentices[]; +const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language); + #endif // GUARD_APPRENTICE_H diff --git a/include/constants/apprentice.h b/include/constants/apprentice.h new file mode 100644 index 000000000..7fa78bfbe --- /dev/null +++ b/include/constants/apprentice.h @@ -0,0 +1,11 @@ +#ifndef GUARD_CONSTANTS_APPRENTICE_H +#define GUARD_CONSTANTS_APPRENTICE_H + +#define APPRENTICE_ASK_WHICH_LEVEL 0 +#define APPRENTICE_ASK_3SPECIES 1 +#define APPRENTICE_ASK_2SPECIES 2 +#define APPRENTICE_ASK_MOVES 3 +#define APPRENTICE_ASK_GIVE 4 +#define APPRENTICE_ASK_YES_NO 6 + +#endif // GUARD_CONSTANTS_APPRENTICE_H diff --git a/include/item_menu.h b/include/item_menu.h index 8a474bc0f..59316e948 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -54,6 +54,7 @@ extern u16 gSpecialVar_ItemId; void sub_81AAC14(void); void sub_81AAC50(void); void sub_81AAC70(void); +void sub_81AAC28(void); void bag_menu_mail_related(void); void CB2_BagMenuFromStartMenu(void); u8 sub_81ABB2C(u8 pocketId); -- cgit v1.2.3 From 145df4906326488874b3f75ef96f99e85b18f2a0 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 14 Oct 2018 14:35:51 +0200 Subject: Document more of apprentice --- include/apprentice.h | 1 + include/constants/apprentice.h | 11 +++++++++++ include/global.h | 11 +++++------ 3 files changed, 17 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/include/apprentice.h b/include/apprentice.h index 86c6250a0..90383b737 100644 --- a/include/apprentice.h +++ b/include/apprentice.h @@ -14,6 +14,7 @@ struct ApprenticeTrainer extern const struct ApprenticeTrainer gApprentices[]; +void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId); const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language); #endif // GUARD_APPRENTICE_H diff --git a/include/constants/apprentice.h b/include/constants/apprentice.h index 7fa78bfbe..9db58bb8e 100644 --- a/include/constants/apprentice.h +++ b/include/constants/apprentice.h @@ -8,4 +8,15 @@ #define APPRENTICE_ASK_GIVE 4 #define APPRENTICE_ASK_YES_NO 6 +#define APPRENTICE_BUFF_SPECIES1 0 +#define APPRENTICE_BUFF_SPECIES2 1 +#define APPRENTICE_BUFF_SPECIES3 2 +#define APPRENTICE_BUFF_MOVE1 3 +#define APPRENTICE_BUFF_MOVE2 4 +#define APPRENTICE_BUFF_ITEM 5 +#define APPRENTICE_BUFF_NAME 6 +#define APPRENTICE_BUFF_EASY_CHAT 7 +#define APPRENTICE_BUFF_LEVEL 8 +#define APPRENTICE_BUFF_SPECIES4 9 + #endif // GUARD_CONSTANTS_APPRENTICE_H diff --git a/include/global.h b/include/global.h index 0100d04db..43e829dcf 100644 --- a/include/global.h +++ b/include/global.h @@ -304,11 +304,10 @@ struct ApprenticeMon struct Apprentice { - u8 field_0_0:5; - u8 field_0_1:2; + u8 id:5; + u8 lvlMode:2; // + 1 u8 field_1; - u8 field_2; - u8 field_3; + u8 number; struct ApprenticeMon monData[3]; u16 easyChatWords[6]; u8 playerId[4]; @@ -514,7 +513,7 @@ struct SaveBlock2 /*0xA8*/ u32 field_A8; /*0xAC*/ u32 encryptionKey; - // TODO: fix and verify labels + // Possibly player's apprentice, will document once battle tower is decompiled. /*0xB0*/ u8 field_B0; /*0xB1*/ u8 field_B1_0:2; /*0xB1*/ u8 field_B1_1:4; @@ -524,7 +523,7 @@ struct SaveBlock2 /*0xB3*/ u8 field_B3; /*0xB4*/ u8 field_B4[3]; /*0xB8*/ struct Sav2_B8 field_B8[9]; - /*0xDC*/ struct Apprentice field_DC[4]; + /*0xDC*/ struct Apprentice apprentices[4]; /*0x1EC*/ struct BerryCrush berryCrush; /*0x1FC*/ struct PokemonJumpResults pokeJump; /*0x20C*/ struct BerryPickingResults berryPick; -- cgit v1.2.3 From 7a008a944aaac6e34d6425eb650a1886448395e1 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 14 Oct 2018 14:43:19 +0200 Subject: Move 'blend_palette'.c to util.c --- include/blend_palette.h | 6 ------ include/util.h | 1 + 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 include/blend_palette.h (limited to 'include') diff --git a/include/blend_palette.h b/include/blend_palette.h deleted file mode 100644 index a00847bc3..000000000 --- a/include/blend_palette.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GUARD_BLEND_PALETTE_H -#define GUARD_BLEND_PALETTE_H - -void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor); - -#endif // GUARD_BLEND_PALETTE_H diff --git a/include/util.h b/include/util.h index 63887b13f..997c8f713 100644 --- a/include/util.h +++ b/include/util.h @@ -13,5 +13,6 @@ int CountTrailingZeroBits(u32 value); u16 CalcCRC16(u8 *data, s32 length); u16 CalcCRC16WithTable(u8 *data, u32 length); u32 CalcByteArraySum(const u8* data, u32 length); +void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor); #endif // GUARD_UTIL_H -- cgit v1.2.3 From 541043a66154aab69fa3be85325ebb632707f8c1 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 14 Oct 2018 15:04:25 +0200 Subject: Use defines for text chars --- include/string_util.h | 2 +- include/text.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/string_util.h b/include/string_util.h index f26646082..7b685fcea 100644 --- a/include/string_util.h +++ b/include/string_util.h @@ -24,7 +24,7 @@ u8 *ConvertUIntToDecimalStringN(u8 *dest, u32 value, enum StringConvertMode mode u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n); u8 *StringExpandPlaceholders(u8 *dest, const u8 *src); u8 *StringBraille(u8 *dest, const u8 *src); -u8 *GetExpandedPlaceholder(u32 id); +const u8 *GetExpandedPlaceholder(u32 id); u8 *StringFill(u8 *dest, u8 c, u16 n); u8 *StringCopyPadded(u8 *dest, const u8 *src, u8 c, u16 n); u8 *StringFillWithTerminator(u8 *dest, u16 n); diff --git a/include/text.h b/include/text.h index e2120efa3..f677f2ced 100644 --- a/include/text.h +++ b/include/text.h @@ -76,6 +76,7 @@ #define CHAR_y 0xED #define CHAR_z 0xEE #define CHAR_SPECIAL_F7 0xF7 +#define CHAR_SPECIAL_F8 0xF8 #define CHAR_SPECIAL_F9 0xF9 #define CHAR_COLON 0xF0 #define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog -- cgit v1.2.3 From 7952cfeba5c9eaed2cd58a7f49dea8d676a56840 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 14 Oct 2018 16:27:48 +0200 Subject: document more of apprentice --- include/global.h | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'include') diff --git a/include/global.h b/include/global.h index 43e829dcf..2c5ce3777 100644 --- a/include/global.h +++ b/include/global.h @@ -178,12 +178,14 @@ enum OPTIONS_BATTLE_STYLE_SET }; -struct Coords8 { +struct Coords8 +{ s8 x; s8 y; }; -struct UCoords8 { +struct UCoords8 +{ u8 x; u8 y; }; @@ -489,6 +491,19 @@ struct Sav2_B8 u16 unk2; }; +struct PlayersApprentice +{ + /*0xB0*/ u8 id; + /*0xB1*/ u8 activeLvlMode:2; // +1, 0 means not active + /*0xB1*/ u8 field_B1_1:4; + /*0xB1*/ u8 field_B1_2:2; + /*0xB2*/ u8 field_B2_0:3; + /*0xB2*/ u8 field_B2_1:2; + /*0xB3*/ u8 field_B3; + /*0xB4*/ u8 monIds[3]; + /*0xB8*/ struct Sav2_B8 field_B8[9]; +}; + struct SaveBlock2 { /*0x00*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; @@ -512,17 +527,7 @@ struct SaveBlock2 /*0xA0*/ struct Time lastBerryTreeUpdate; /*0xA8*/ u32 field_A8; /*0xAC*/ u32 encryptionKey; - - // Possibly player's apprentice, will document once battle tower is decompiled. - /*0xB0*/ u8 field_B0; - /*0xB1*/ u8 field_B1_0:2; - /*0xB1*/ u8 field_B1_1:4; - /*0xB1*/ u8 field_B1_2:2; - /*0xB2*/ u8 field_B2_0:3; - /*0xB2*/ u8 field_B2_1:2; - /*0xB3*/ u8 field_B3; - /*0xB4*/ u8 field_B4[3]; - /*0xB8*/ struct Sav2_B8 field_B8[9]; + /*0xB0*/ struct PlayersApprentice playerApprentice; /*0xDC*/ struct Apprentice apprentices[4]; /*0x1EC*/ struct BerryCrush berryCrush; /*0x1FC*/ struct PokemonJumpResults pokeJump; -- cgit v1.2.3 From f47ed3268c76b43db4bce0a60f355b18d0edc875 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 14 Oct 2018 17:00:41 +0200 Subject: Finish documenting apprentice for now --- include/apprentice.h | 4 ++++ include/battle_frontier_2.h | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/apprentice.h b/include/apprentice.h index 90383b737..ca0b04800 100644 --- a/include/apprentice.h +++ b/include/apprentice.h @@ -15,6 +15,10 @@ struct ApprenticeTrainer extern const struct ApprenticeTrainer gApprentices[]; void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId); +void Apprentice_EnableBothScriptContexts(void); +void ResetApprenticeStruct(struct Apprentice *apprentice); +void ResetAllApprenticeData(void); +void CallApprenticeFunction(void); const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language); #endif // GUARD_APPRENTICE_H diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h index d032f9f74..573053f10 100644 --- a/include/battle_frontier_2.h +++ b/include/battle_frontier_2.h @@ -11,7 +11,6 @@ void sub_81A895C(void); u16 sub_81A89A0(u8); void sub_81A8AF8(void); bool8 InBattlePike(void); -void sub_819FA50(void); void sub_81AA078(u16*, u8); void sub_81A4C30(void); bool8 sub_81A6BF4(void); -- cgit v1.2.3 From b73611bccbfba2a4cb6779b5fd1174251b390cdb Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 14 Oct 2018 18:10:54 +0200 Subject: clean battle structs --- include/battle.h | 162 ++++++++++++++++++++++--------------------------------- 1 file changed, 65 insertions(+), 97 deletions(-) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index 3e638c6ef..c63d08e9b 100644 --- a/include/battle.h +++ b/include/battle.h @@ -128,42 +128,40 @@ struct UnknownFlags struct DisableStruct { - /*0x00*/ u32 transformedMonPersonality; - /*0x04*/ u16 disabledMove; - /*0x06*/ u16 encoredMove; - /*0x08*/ u8 protectUses; - /*0x09*/ u8 stockpileCounter; - /*0x0A*/ u8 substituteHP; - /*0x0B*/ u8 disableTimer1:4; - /*0x0B*/ u8 disableTimer2:4; - /*0x0C*/ u8 encoredMovePos; - /*0x0D*/ u8 unkD; - /*0x0E*/ u8 encoreTimer1:4; - /*0x0E*/ u8 encoreTimer2:4; - /*0x0F*/ u8 perishSongTimer1:4; - /*0x0F*/ u8 perishSongTimer2:4; - /*0x10*/ u8 furyCutterCounter; - /*0x11*/ u8 rolloutCounter1:4; - /*0x11*/ u8 rolloutCounter2:4; - /*0x12*/ u8 chargeTimer1:4; - /*0x12*/ u8 chargeTimer2:4; - /*0x13*/ u8 tauntTimer1:4; - /*0x13*/ u8 tauntTimer2:4; - /*0x14*/ u8 battlerPreventingEscape; - /*0x15*/ u8 battlerWithSureHit; - /*0x16*/ u8 isFirstTurn; - /*0x17*/ u8 unk17; - /*0x18*/ u8 truantCounter:1; - /*0x18*/ u8 truantUnknownBit:1; - /*0x18*/ u8 unk18_a_2:2; - /*0x18*/ u8 unk18_b:4; - /*0x19*/ u8 rechargeCounter; - /*0x1A*/ u8 unk1A[2]; + u32 transformedMonPersonality; + u16 disabledMove; + u16 encoredMove; + u8 protectUses; + u8 stockpileCounter; + u8 substituteHP; + u8 disableTimer:4; + u8 disableTimerStartValue:4; + u8 encoredMovePos; + u8 unkD; + u8 encoreTimer:4; + u8 encoreTimerStartValue:4; + u8 perishSongTimer:4; + u8 perishSongTimerStartValue:4; + u8 furyCutterCounter; + u8 rolloutTimer:4; + u8 rolloutTimerStartValue:4; + u8 chargeTimer:4; + u8 chargeTimer2:4; + u8 tauntTimer:4; + u8 tauntTimer2:4; + u8 battlerPreventingEscape; + u8 battlerWithSureHit; + u8 isFirstTurn; + u8 unk17; + u8 truantCounter:1; + u8 truantUnknownBit:1; + u8 unk18_a_2:2; + u8 unk18_b:4; + u8 rechargeTimer; }; struct ProtectStruct { - /* field_0 */ u32 protected:1; u32 endured:1; u32 noValidMoves:1; @@ -172,67 +170,54 @@ struct ProtectStruct u32 stealMove:1; u32 flag0Unknown:1; u32 prlzImmobility:1; - /* field_1 */ u32 confusionSelfDmg:1; u32 targetNotAffected:1; u32 chargingTurn:1; - u32 fleeFlag:2; // for RunAway and Smoke Ball + u32 fleeFlag:2; // For RunAway and Smoke Ball. u32 usedImprisionedMove:1; u32 loveImmobility:1; u32 usedDisabledMove:1; - /* field_2 */ - u32 usedTauntedMove:1; // 0x1 - u32 flag2Unknown:1; // 0x2 - u32 flinchImmobility:1; // 0x4 - u32 notFirstStrike:1; // 0x8 - u32 flag_x10:1; // 0x10 - u32 flag_x20:1; // 0x20 - u32 flag_x40:1; // 0x40 - u32 flag_x80:1; // 0x80 - /* field_3 */ - u32 field3:8; - - /* field_4 */ u32 physicalDmg; - /* field_8 */ u32 specialDmg; - /* field_C */ u8 physicalBattlerId; - /* field_D */ u8 specialBattlerId; - /* field_E */ u16 fieldE; + u32 usedTauntedMove:1; + u32 flag2Unknown:1; + u32 flinchImmobility:1; + u32 notFirstStrike:1; + u32 flag_x10:1; + u32 physicalDmg; + u32 specialDmg; + u8 physicalBattlerId; + u8 specialBattlerId; }; struct SpecialStatus { - u8 statLowered:1; // 0x1 - u8 lightningRodRedirected:1; // 0x2 - u8 restoredBattlerSprite: 1; // 0x4 - u8 intimidatedMon:1; // 0x8 - u8 traced:1; // 0x10 - u8 flag20:1; + u8 statLowered:1; + u8 lightningRodRedirected:1; + u8 restoredBattlerSprite: 1; + u8 intimidatedMon:1; + u8 traced:1; + u8 ppNotAffectedByPressure:1; u8 flag40:1; u8 focusBanded:1; - u8 field1[3]; s32 dmg; s32 physicalDmg; s32 specialDmg; u8 physicalBattlerId; u8 specialBattlerId; - u8 field12; - u8 field13; }; struct SideTimer { - /*0x00*/ u8 reflectTimer; - /*0x01*/ u8 reflectBattlerId; - /*0x02*/ u8 lightscreenTimer; - /*0x03*/ u8 lightscreenBattlerId; - /*0x04*/ u8 mistTimer; - /*0x05*/ u8 mistBattlerId; - /*0x06*/ u8 safeguardTimer; - /*0x07*/ u8 safeguardBattlerId; - /*0x08*/ u8 followmeTimer; - /*0x09*/ u8 followmeTarget; - /*0x0A*/ u8 spikesAmount; - /*0x0B*/ u8 fieldB; + u8 reflectTimer; + u8 reflectBattlerId; + u8 lightscreenTimer; + u8 lightscreenBattlerId; + u8 mistTimer; + u8 mistBattlerId; + u8 safeguardTimer; + u8 safeguardBattlerId; + u8 followmeTimer; + u8 followmeTarget; + u8 spikesAmount; }; struct WishFutureKnock @@ -428,22 +413,14 @@ struct BattleStruct u8 turnEffectsBattlerId; u8 filler2; u8 turnCountersTracker; - u8 wrappedMove[8]; // ask gamefreak why they declared it that way - u8 moveTarget[4]; + u8 wrappedMove[MAX_BATTLERS_COUNT * 2]; // Leftover from Ruby's ewram access. + u8 moveTarget[MAX_BATTLERS_COUNT]; u8 expGetterMonId; u8 field_11; u8 wildVictorySong; u8 dynamicMoveType; - u8 wrappedBy[4]; - u16 assistPossibleMoves[5 * 4]; // 5 mons, each of them knowing 4 moves - u8 field_40; - u8 field_41; - u8 field_42; - u8 field_43; - u8 field_44; - u8 field_45; - u8 field_46; - u8 field_47; + u8 wrappedBy[MAX_BATTLERS_COUNT]; + u16 assistPossibleMoves[PARTY_SIZE * 4]; // Each of mons can know max 4 moves. u8 focusPunchBattlerId; u8 battlerPreventingSwitchout; u8 moneyMultiplier; @@ -451,7 +428,6 @@ struct BattleStruct u8 switchInAbilitiesCounter; u8 faintedActionsState; u8 faintedActionsBattlerId; - u8 field_4F; u16 expValue; u8 field_52; u8 sentInPokes; @@ -460,7 +436,7 @@ struct BattleStruct u8 monToSwitchIntoId[MAX_BATTLERS_COUNT]; u8 field_60[4][3]; u8 runTries; - u8 caughtMonNick[11]; + u8 caughtMonNick[POKEMON_NAME_LENGTH + 1]; u8 field_78; u8 safariGoNearCounter; u8 safariPkblThrowCounter; @@ -487,15 +463,7 @@ struct BattleStruct u8 wallyMovesState; u8 wallyWaitFrames; u8 wallyMoveFrames; - u8 mirrorMoves[8]; // ask gamefreak why they declared it that way - u8 field_A0; - u8 field_A1; - u8 field_A2; - u8 field_A3; - u8 field_A4; - u8 field_A5; - u8 field_A6; - u8 field_A7; + u8 lastTakenMove[MAX_BATTLERS_COUNT * 2 * 2]; // Last move that a battler was hit with. This field seems to erroneously take 16 bytes instead of 8. u16 hpOnSwitchout[2]; u32 savedBattleTypeFlags; u8 abilityPreventingSwitchout; @@ -504,7 +472,7 @@ struct BattleStruct bool8 anyMonHasTransformed; void (*savedCallback)(void); u16 usedHeldItems[MAX_BATTLERS_COUNT]; - u8 chosenItem[4]; // why is this an u8? + u8 chosenItem[MAX_BATTLERS_COUNT]; // why is this an u8? u8 AI_itemType[2]; u8 AI_itemFlags[2]; u16 choicedMove[MAX_BATTLERS_COUNT]; @@ -515,7 +483,7 @@ struct BattleStruct u8 turnSideTracker; u8 fillerDC[0xDF-0xDC]; u8 field_DF; - u8 mirrorMoveArrays[32]; + u8 lastTakenMoveFrom[MAX_BATTLERS_COUNT * MAX_BATTLERS_COUNT * 2]; // a 3-D array [target][attacker][byte] u16 castformPalette[MAX_BATTLERS_COUNT][16]; u8 field_180; u8 field_181; -- cgit v1.2.3 From ecdf0fd69d8badc2a5491efa7663074a76accc24 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 14 Oct 2018 18:37:52 +0200 Subject: Clean battle structs --- include/battle.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/battle.h b/include/battle.h index c63d08e9b..87aa2a45b 100644 --- a/include/battle.h +++ b/include/battle.h @@ -27,8 +27,8 @@ #define B_ACTION_SAFARI_POKEBLOCK 6 #define B_ACTION_SAFARI_GO_NEAR 7 #define B_ACTION_SAFARI_RUN 8 +#define B_ACTION_WALLY_THROW 9 // The exact purposes of these are unclear -#define B_ACTION_WALLY_THROW 9 #define B_ACTION_EXEC_SCRIPT 10 // when executing an action #define B_ACTION_CANCEL_PARTNER 12 // when choosing an action #define B_ACTION_FINISHED 12 // when executing an action @@ -137,7 +137,7 @@ struct DisableStruct u8 disableTimer:4; u8 disableTimerStartValue:4; u8 encoredMovePos; - u8 unkD; + u8 filler_D; // Unused field. u8 encoreTimer:4; u8 encoreTimerStartValue:4; u8 perishSongTimer:4; @@ -146,7 +146,7 @@ struct DisableStruct u8 rolloutTimer:4; u8 rolloutTimerStartValue:4; u8 chargeTimer:4; - u8 chargeTimer2:4; + u8 chargeTimerStartValue:4; u8 tauntTimer:4; u8 tauntTimer2:4; u8 battlerPreventingEscape; @@ -229,7 +229,7 @@ struct WishFutureKnock u8 wishCounter[MAX_BATTLERS_COUNT]; u8 wishMonId[MAX_BATTLERS_COUNT]; u8 weatherDuration; - u8 knockedOffPokes[2]; + u8 knockedOffMons[2]; // Each battler is represented by a bit. The array entry is dependent on the battler's side. }; struct AI_ThinkingStruct @@ -302,7 +302,7 @@ struct BattleResults u8 playerSwitchesCounter; // 0x2 u8 unk3; // 0x3 u8 unk4; // 0x4 - u8 unk5_0:1; // 0x5 + u8 playerMonWasDamaged:1; // 0x5 u8 usedMasterBall:1; // 0x5 u8 caughtMonBall:4; // 0x5 u8 shinyWildMon:1; // 0x5 -- cgit v1.2.3 From c3113db931ad406154c3bfd60dc26458e0d5fe3f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 14 Oct 2018 20:00:14 +0200 Subject: Move HEAP_SIZE to malloc and use void instead of empty argument list --- include/field_weather.h | 2 +- include/global.h | 2 -- include/malloc.h | 1 + include/palette.h | 2 +- include/party_menu.h | 4 ++-- include/rotating_gate.h | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/field_weather.h b/include/field_weather.h index 7ad8d21e7..a48361b8a 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -155,7 +155,7 @@ void sub_80AEDBC(void); void SetSav1WeatherFromCurrMapHeader(void); // ... void DoCurrentWeather(void); -void sub_8080750(); +void sub_8080750(void); bool8 IsWeatherNotFadingIn(void); bool8 IsWeatherChangeComplete(void); diff --git a/include/global.h b/include/global.h index 9ae892b5c..3dab84a3a 100644 --- a/include/global.h +++ b/include/global.h @@ -61,8 +61,6 @@ #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) -#define HEAP_SIZE 0x1C000 - extern u8 gStringVar1[]; extern u8 gStringVar2[]; extern u8 gStringVar3[]; diff --git a/include/malloc.h b/include/malloc.h index 6efa8fbef..c215f56c0 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -13,6 +13,7 @@ } extern u8 gHeap[]; + void *Alloc(u32 size); void *AllocZeroed(u32 size); void Free(void *pointer); diff --git a/include/palette.h b/include/palette.h index d14fa1fcd..c14e9f453 100644 --- a/include/palette.h +++ b/include/palette.h @@ -55,7 +55,7 @@ bool8 unref_sub_8073D3C(u32, u8, u8, u8, u16); void unref_sub_8073D84(u8, u32 *); void ResetPaletteStructByUid(u16); void ResetPaletteStruct(u8); -void ResetPaletteFadeControl(); +void ResetPaletteFadeControl(void); void unref_sub_8074168(u16); void unref_sub_8074194(u16); void InvertPlttBuffer(u32); diff --git a/include/party_menu.h b/include/party_menu.h index b93b78544..170fcafc1 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -50,8 +50,8 @@ void sub_81B1370(u8 taskId); void display_pokemon_menu_message(u8 windowId); void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func); void sub_81B1B5C(void *a, u8 b); -u8 sub_81B1BD4(); -void sub_81B8448(); +u8 sub_81B1BD4(void); +void sub_81B8448(void); void sub_81B8518(u8 unused); u8 sub_81B1360(void); void sub_81B8904(u8 arg0, void (*callback)(void)); diff --git a/include/rotating_gate.h b/include/rotating_gate.h index 2ae26aa5b..fd86a6b04 100644 --- a/include/rotating_gate.h +++ b/include/rotating_gate.h @@ -2,7 +2,7 @@ #define GUARD_ROTATING_GATE_H void RotatingGatePuzzleCameraUpdate(s16, s16); -void RotatingGate_InitPuzzleAndGraphics(); +void RotatingGate_InitPuzzleAndGraphics(void); u32 CheckForRotatingGatePuzzleCollision(u8, s16, s16); bool32 CheckForRotatingGatePuzzleCollisionWithoutAnimation(u8, s16, s16); -- cgit v1.2.3 From 137f6549fffe9960b91ea8727ce92d3f3049f0fb Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 14 Oct 2018 23:43:40 +0100 Subject: label field_effect_helpers --- include/event_object_movement.h | 10 +++++----- include/field_effect_helpers.h | 36 ++++++++++++++++-------------------- include/rom6.h | 2 +- 3 files changed, 22 insertions(+), 26 deletions(-) (limited to 'include') diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 80b9f3fc0..ddccfe39b 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -102,17 +102,17 @@ void sub_80930E0(s16 *, s16 *, s16, s16); void EventObjectClearHeldMovement(struct EventObject *); void EventObjectClearHeldMovementIfActive(struct EventObject *); void TrySpawnEventObjects(s16, s16); -u8 sprite_new(u8, u8, s16, s16, u8, u8); -u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16, s16, u8); +u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction); +u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority); u8 show_sprite(u8, u8, u8); -u8 SpawnSpecialEventObjectParameterized(u8, u8, u8, s16, s16, u8); +u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z); u8 SpawnSpecialEventObject(struct EventObjectTemplate *); void sub_8093038(s16, s16, s16 *, s16 *); void CameraObjectReset1(void); -void EventObjectSetGraphicsId(struct EventObject *, u8); +void EventObjectSetGraphicsId(struct EventObject *, u8 graphicsId); void EventObjectTurn(struct EventObject *, u8); void EventObjectTurnByLocalIdAndMap(u8, u8, u8, u8); -const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8); +const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId); void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8); void FreeAndReserveObjectSpritePalettes(void); void sub_808E82C(u8, u8, u8, s16, s16); diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 547f515eb..9c354159b 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -1,7 +1,3 @@ -// -// Created by scott on 9/7/2017. -// - #ifndef GUARD_FIELD_EFFECT_HELPERS_H #define GUARD_FIELD_EFFECT_HELPERS_H @@ -10,29 +6,29 @@ // Exported RAM declarations // Exported ROM declarations -u8 sub_8154228(void); +u8 CreateWarpArrowSprite(void); bool8 sub_8155DA0(struct EventObject *); void sub_8155D78(struct EventObject *); void sub_81555AC(u8, u8); -void ash(s16, s16, u16, s16); +void StartAshFieldEffect(s16, s16, u16, s16); void SetUpReflection(struct EventObject*, struct Sprite*, u8); u32 StartFieldEffectForEventObject(u8, struct EventObject*); -u8 sub_81546C8(u8, u8, u8, s16, s16); +u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); void sub_8155F80(struct Sprite*); -void oamc_shadow(struct Sprite*); -void unc_grass_normal(struct Sprite*); +void UpdateShadowFieldEffect(struct Sprite*); +void UpdateTallGrassFieldEffect(struct Sprite*); void sub_81561D0(struct Sprite*); -void sub_8155460(struct Sprite*); -void sub_8155658(struct Sprite*); +void UpdateAshFieldEffect(struct Sprite*); +void UpdateSurfBlobFieldEffect(struct Sprite*); void sub_8156194(struct Sprite*); -void sub_8154C60(struct Sprite*); -void sub_8154D90(struct Sprite*); -void unc_grass_tall(struct Sprite*); -void sub_81559BC(struct Sprite*); -void sub_8155C88(struct Sprite*); -void sub_8154A10(struct Sprite*); -void sub_8155158(struct Sprite*); -void sub_8155AEC(struct Sprite*); -void sub_8155E50(struct Sprite*); +void UpdateFootprintsTireTracksFieldEffect(struct Sprite*); +void UpdateSplashFieldEffect(struct Sprite*); +void UpdateLongGrassFieldEffect(struct Sprite*); +void UpdateSandPileFieldEffect(struct Sprite*); +void UpdateDisguiseFieldEffect(struct Sprite*); +void UpdateShortGrassFieldEffect(struct Sprite*); +void UpdateHotSpringsWaterFieldEffect(struct Sprite*); +void UpdateBubblesFieldEffect(struct Sprite*); +void UpdateSparkleFieldEffect(struct Sprite*); #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/rom6.h b/include/rom6.h index 96c3b3ca2..8b133e56e 100644 --- a/include/rom6.h +++ b/include/rom6.h @@ -12,7 +12,7 @@ void UpdateFrontierManiac(u16 days); void UpdateFrontierGambler(u16 days); void SetShoalItemFlag(u16 days); -bool8 CheckObjectGraphicsInFrontOfPlayer(u8); +bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId); u8 oei_task_add(void); #endif //GUARD_ROM6_H -- cgit v1.2.3 From bf2063cc1a8d2de7dbf504a3388284fd98c58b00 Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Sun, 14 Oct 2018 19:09:18 -0400 Subject: Update All EVENT_OBJ_GFX References Didn't realize that this needed to be done as well for renaming OW sprites. The event_objects.h file has had its corresponding defines renamed and all references in all files to those defines have been relabeled. --- include/constants/event_objects.h | 42 +++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'include') diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index d04f0a1f9..80e4213fd 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -6,36 +6,36 @@ #define EVENT_OBJ_GFX_BRENDAN_SURFING 2 #define EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE 3 #define EVENT_OBJ_GFX_QUINTY_PLUMP 4 -#define EVENT_OBJ_GFX_LITTLE_BOY_1 5 -#define EVENT_OBJ_GFX_LITTLE_GIRL_1 6 +#define EVENT_OBJ_GFX_NINJA_BOY 5 +#define EVENT_OBJ_GFX_TWIN 6 #define EVENT_OBJ_GFX_BOY_1 7 #define EVENT_OBJ_GFX_GIRL_1 8 #define EVENT_OBJ_GFX_BOY_2 9 #define EVENT_OBJ_GFX_GIRL_2 10 -#define EVENT_OBJ_GFX_LITTLE_BOY_2 11 -#define EVENT_OBJ_GFX_LITTLE_GIRL_2 12 +#define EVENT_OBJ_GFX_LITTLE_BOY 11 +#define EVENT_OBJ_GFX_LITTLE_GIRL 12 #define EVENT_OBJ_GFX_BOY_3 13 #define EVENT_OBJ_GFX_GIRL_3 14 -#define EVENT_OBJ_GFX_BOY_4 15 +#define EVENT_OBJ_GFX_RICH_BOY 15 #define EVENT_OBJ_GFX_WOMAN_1 16 #define EVENT_OBJ_GFX_FAT_MAN 17 -#define EVENT_OBJ_GFX_WOMAN_2 18 +#define EVENT_OBJ_GFX_POKEFAN_F 18 #define EVENT_OBJ_GFX_MAN_1 19 -#define EVENT_OBJ_GFX_WOMAN_3 20 -#define EVENT_OBJ_GFX_OLD_MAN_1 21 -#define EVENT_OBJ_GFX_OLD_WOMAN_1 22 +#define EVENT_OBJ_GFX_WOMAN_2 20 +#define EVENT_OBJ_GFX_EXPERT_M 21 +#define EVENT_OBJ_GFX_EXPERT_F 22 #define EVENT_OBJ_GFX_MAN_2 23 -#define EVENT_OBJ_GFX_WOMAN_4 24 -#define EVENT_OBJ_GFX_MAN_3 25 -#define EVENT_OBJ_GFX_WOMAN_5 26 +#define EVENT_OBJ_GFX_WOMAN_3 24 +#define EVENT_OBJ_GFX_POKEFAN_M 25 +#define EVENT_OBJ_GFX_WOMAN_4 26 #define EVENT_OBJ_GFX_COOK 27 -#define EVENT_OBJ_GFX_WOMAN_6 28 -#define EVENT_OBJ_GFX_OLD_MAN_2 29 -#define EVENT_OBJ_GFX_OLD_WOMAN_2 30 +#define EVENT_OBJ_GFX_LINK_RECEPTIONIST 28 +#define EVENT_OBJ_GFX_OLD_MAN 29 +#define EVENT_OBJ_GFX_OLD_WOMAN 30 #define EVENT_OBJ_GFX_CAMPER 31 #define EVENT_OBJ_GFX_PICNICKER 32 -#define EVENT_OBJ_GFX_MAN_4 33 -#define EVENT_OBJ_GFX_WOMAN_7 34 +#define EVENT_OBJ_GFX_MAN_3 33 +#define EVENT_OBJ_GFX_WOMAN_5 34 #define EVENT_OBJ_GFX_YOUNGSTER 35 #define EVENT_OBJ_GFX_BUG_CATCHER 36 #define EVENT_OBJ_GFX_PSYCHIC_M 37 @@ -66,8 +66,8 @@ #define EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES 62 #define EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE 63 #define EVENT_OBJ_GFX_PROF_BIRCH 64 -#define EVENT_OBJ_GFX_MAN_5 65 -#define EVENT_OBJ_GFX_MAN_6 66 +#define EVENT_OBJ_GFX_MAN_4 65 +#define EVENT_OBJ_GFX_MAN_5 66 #define EVENT_OBJ_GFX_REPORTER_M 67 #define EVENT_OBJ_GFX_REPORTER_F 68 #define EVENT_OBJ_GFX_BARD 69 @@ -117,7 +117,7 @@ #define EVENT_OBJ_GFX_MOVING_BOX 113 #define EVENT_OBJ_GFX_CABLE_CAR 114 #define EVENT_OBJ_GFX_SCIENTIST_2 115 -#define EVENT_OBJ_GFX_MAN_7 116 +#define EVENT_OBJ_GFX_DEVON_EMPLOYEE 116 #define EVENT_OBJ_GFX_AQUA_MEMBER_M 117 #define EVENT_OBJ_GFX_AQUA_MEMBER_F 118 #define EVENT_OBJ_GFX_MAGMA_MEMBER_M 119 @@ -190,7 +190,7 @@ #define EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL 186 #define EVENT_OBJ_GFX_LATIAS 187 #define EVENT_OBJ_GFX_LATIOS 188 -#define EVENT_OBJ_GFX_BOY_5 189 +#define EVENT_OBJ_GFX_GAMEBOY_KID 189 #define EVENT_OBJ_GFX_CONTEST_JUDGE 190 #define EVENT_OBJ_GFX_BRENDAN_WATERING 191 #define EVENT_OBJ_GFX_MAY_WATERING 192 -- cgit v1.2.3 From 78a912a0396d1ff6ccfb48f7d4cd1b0b6f5181c6 Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Tue, 16 Oct 2018 12:06:38 -0400 Subject: Fix "Vigaroth" misspelling to "Vigoroth" --- include/constants/event_objects.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') 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 -- cgit v1.2.3 From e75f0b4f80670bd3b6a28257f10770911869ea08 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 16 Oct 2018 21:47:08 -0500 Subject: Port/decompile field_control_avatar --- include/battle_frontier_1.h | 6 ++++++ include/constants/flags.h | 2 +- include/daycare.h | 2 +- include/event_scripts.h | 4 ++-- include/field_control_avatar.h | 40 +++++++++++++++++++-------------------- include/field_player_avatar.h | 3 +++ include/field_poison.h | 2 +- include/field_screen.h | 4 ++++ include/field_specials.h | 9 +++++++++ include/fldeff_80F9BCC.h | 2 ++ include/global.fieldmap.h | 16 +++++++--------- include/item_menu.h | 1 + include/metatile_behavior.h | 10 +++++----- include/pokemon.h | 43 ++++++++++++++++++++++++++++++++++++++++-- include/pokenav.h | 8 ++++++++ include/rom_81BE66C.h | 12 ------------ include/script.h | 4 ++-- include/secret_base.h | 6 ++++++ 18 files changed, 119 insertions(+), 55 deletions(-) create mode 100644 include/battle_frontier_1.h delete mode 100644 include/rom_81BE66C.h (limited to 'include') 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/constants/flags.h b/include/constants/flags.h index a74dffccf..ff403a299 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -501,7 +501,7 @@ #define FLAG_0x1F1 0x1F1 #define FLAG_0x1F2 0x1F2 #define FLAG_0x1F3 0x1F3 -#define FLAG_0x1F4 0x1F4 +#define FLAG_HIDDEN_ITEMS_START 0x1F4 #define FLAG_0x1F5 0x1F5 #define FLAG_0x1F6 0x1F6 #define FLAG_0x1F7 0x1F7 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_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 0ff1834ca..536f218a3 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 sub_809C014(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_player_avatar.h b/include/field_player_avatar.h index b11b5e21a..ee2cbb3c8 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -44,6 +44,9 @@ u8 GetPlayerAvatarGraphicsIdByCurrentState(void); void SetPlayerAvatarStateMask(u8 a); u8 GetPlayerAvatarGraphicsIdByStateId(u8 a); u8 GetJumpSpecialMovementAction(u32); +bool8 PartyHasMonWithSurf(void); +bool8 IsPlayerFacingSurfableFishableWater(void); +bool8 IsPlayerSurfingNorth(void); bool8 ForcedMovement_None(void); bool8 ForcedMovement_Slip(void); diff --git a/include/field_poison.h b/include/field_poison.h index d1a4c823b..6a1ba17f2 100644 --- a/include/field_poison.h +++ b/include/field_poison.h @@ -14,6 +14,6 @@ enum { }; void sub_80F972C(void); -unsigned int overworld_poison(void); +int 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 ba775cd6d..87a20d290 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 overworld_poison_effect(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 4bec8e0c7..66d5b5e4c 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -63,17 +63,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]; @@ -83,16 +82,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/item_menu.h b/include/item_menu.h index 59316e948..b80d0628e 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -58,5 +58,6 @@ void sub_81AAC28(void); void bag_menu_mail_related(void); void CB2_BagMenuFromStartMenu(void); u8 sub_81ABB2C(u8 pocketId); +bool8 UseRegisteredKeyItemOnField(void); #endif //GUARD_item_menu_H diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index edffc711f..8301a22f2 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/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 -- cgit v1.2.3 From 6206acd2d20af143698e4b5ae1dfe04af6360d27 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Thu, 18 Oct 2018 12:05:02 -0500 Subject: Finish shop and fldeff_escalator --- include/graphics.h | 4 ++++ include/item_menu.h | 1 + include/party_menu.h | 1 - include/shop.h | 37 +++++++++++++++++++++---------------- include/strings.h | 16 ++++++++++++++++ 5 files changed, 42 insertions(+), 17 deletions(-) (limited to 'include') 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 b80d0628e..649eb934c 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -59,5 +59,6 @@ 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/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/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/strings.h b/include/strings.h index 4ea33635b..0b037287a 100644 --- a/include/strings.h +++ b/include/strings.h @@ -855,5 +855,21 @@ 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[]; #endif //GUARD_STRINGS_H -- cgit v1.2.3 From dfee5deca8e5c6f5b35b75d56e215638b66320b0 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 18 Oct 2018 21:24:37 +0200 Subject: Move Bitmap struct and clear sprite/text files --- include/blit.h | 7 +++++++ include/global.h | 9 --------- include/sprite.h | 8 ++++++-- 3 files changed, 13 insertions(+), 11 deletions(-) (limited to 'include') 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/global.h b/include/global.h index 027065481..b92f1097f 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/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); -- cgit v1.2.3 From dd3689fdbf98b0a60190bf10e3bed3158692818e Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 19 Oct 2018 00:05:54 -0500 Subject: Finish porting/decompiling field_player_avatar --- include/event_object_movement.h | 19 +++++++++++++++++++ include/field_effect_helpers.h | 6 +++++- include/field_player_avatar.h | 31 ++++++++++++------------------- include/global.fieldmap.h | 2 +- include/strings.h | 5 +++++ 5 files changed, 42 insertions(+), 21 deletions(-) (limited to 'include') diff --git a/include/event_object_movement.h b/include/event_object_movement.h index ddccfe39b..6d38d072d 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); @@ -194,6 +212,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/field_effect_helpers.h b/include/field_effect_helpers.h index 9c354159b..223350042 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 ee2cbb3c8..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); @@ -48,22 +59,4 @@ bool8 PartyHasMonWithSurf(void); bool8 IsPlayerFacingSurfableFishableWater(void); bool8 IsPlayerSurfingNorth(void); -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); - #endif // GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 66d5b5e4c..bb120c62c 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -232,7 +232,7 @@ struct EventObjectGraphicsInfo #define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1) #define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2) #define PLAYER_AVATAR_FLAG_SURFING (1 << 3) -#define PLAYER_AVATAR_FLAG_4 (1 << 4) +#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << 4) #define PLAYER_AVATAR_FLAG_5 (1 << 5) #define PLAYER_AVATAR_FLAG_6 (1 << 6) #define PLAYER_AVATAR_FLAG_DASH (1 << 7) diff --git a/include/strings.h b/include/strings.h index 0b037287a..c563353ec 100644 --- a/include/strings.h +++ b/include/strings.h @@ -872,4 +872,9 @@ 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 -- cgit v1.2.3