diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/code_800558C.h | 1 | ||||
-rw-r--r-- | include/constants/bg_music.h | 6 | ||||
-rw-r--r-- | include/constants/species.h | 429 | ||||
-rw-r--r-- | include/constants/weather.h | 14 | ||||
-rw-r--r-- | include/dungeon.h | 32 | ||||
-rw-r--r-- | include/file_system.h | 6 | ||||
-rw-r--r-- | include/gba/m4a_internal.h | 2 | ||||
-rw-r--r-- | include/input.h | 62 | ||||
-rw-r--r-- | include/m4a.h | 26 | ||||
-rw-r--r-- | include/pokemon.h | 61 | ||||
-rw-r--r-- | include/save.h | 34 | ||||
-rw-r--r-- | include/text.h | 28 | ||||
-rw-r--r-- | include/time.h | 20 |
13 files changed, 720 insertions, 1 deletions
diff --git a/include/code_800558C.h b/include/code_800558C.h index e1b3432..ac037c8 100644 --- a/include/code_800558C.h +++ b/include/code_800558C.h @@ -2,5 +2,6 @@ #define GUARD_code_800558C_H extern void *gUnknown_203B078; +void sub_80060EC(void); #endif //GUARD_code_800558C_H diff --git a/include/constants/bg_music.h b/include/constants/bg_music.h new file mode 100644 index 0000000..0e6f416 --- /dev/null +++ b/include/constants/bg_music.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BG_MUSIC_H +#define GUARD_BG_MUSIC_H + +#define MUS_TINY_WOODS 1 + +#endif //GUARD_BG_MUSIC_H diff --git a/include/constants/species.h b/include/constants/species.h new file mode 100644 index 0000000..1822200 --- /dev/null +++ b/include/constants/species.h @@ -0,0 +1,429 @@ +#ifndef GUARD_CONSTANTS_SPECIES_H +#define GUARD_CONSTANTS_SPECIES_H + +#define SPECIES_NONE 0 +#define SPECIES_BULBASAUR 1 +#define SPECIES_IVYSAUR 2 +#define SPECIES_VENUSAUR 3 +#define SPECIES_CHARMANDER 4 +#define SPECIES_CHARMELEON 5 +#define SPECIES_CHARIZARD 6 +#define SPECIES_SQUIRTLE 7 +#define SPECIES_WARTORTLE 8 +#define SPECIES_BLASTOISE 9 +#define SPECIES_CATERPIE 10 +#define SPECIES_METAPOD 11 +#define SPECIES_BUTTERFREE 12 +#define SPECIES_WEEDLE 13 +#define SPECIES_KAKUNA 14 +#define SPECIES_BEEDRILL 15 +#define SPECIES_PIDGEY 16 +#define SPECIES_PIDGEOTTO 17 +#define SPECIES_PIDGEOT 18 +#define SPECIES_RATTATA 19 +#define SPECIES_RATICATE 20 +#define SPECIES_SPEAROW 21 +#define SPECIES_FEAROW 22 +#define SPECIES_EKANS 23 +#define SPECIES_ARBOK 24 +#define SPECIES_PIKACHU 25 +#define SPECIES_RAICHU 26 +#define SPECIES_SANDSHREW 27 +#define SPECIES_SANDSLASH 28 +#define SPECIES_NIDORAN_F 29 +#define SPECIES_NIDORINA 30 +#define SPECIES_NIDOQUEEN 31 +#define SPECIES_NIDORAN_M 32 +#define SPECIES_NIDORINO 33 +#define SPECIES_NIDOKING 34 +#define SPECIES_CLEFAIRY 35 +#define SPECIES_CLEFABLE 36 +#define SPECIES_VULPIX 37 +#define SPECIES_NINETALES 38 +#define SPECIES_JIGGLYPUFF 39 +#define SPECIES_WIGGLYTUFF 40 +#define SPECIES_ZUBAT 41 +#define SPECIES_GOLBAT 42 +#define SPECIES_ODDISH 43 +#define SPECIES_GLOOM 44 +#define SPECIES_VILEPLUME 45 +#define SPECIES_PARAS 46 +#define SPECIES_PARASECT 47 +#define SPECIES_VENONAT 48 +#define SPECIES_VENOMOTH 49 +#define SPECIES_DIGLETT 50 +#define SPECIES_DUGTRIO 51 +#define SPECIES_MEOWTH 52 +#define SPECIES_PERSIAN 53 +#define SPECIES_PSYDUCK 54 +#define SPECIES_GOLDUCK 55 +#define SPECIES_MANKEY 56 +#define SPECIES_PRIMEAPE 57 +#define SPECIES_GROWLITHE 58 +#define SPECIES_ARCANINE 59 +#define SPECIES_POLIWAG 60 +#define SPECIES_POLIWHIRL 61 +#define SPECIES_POLIWRATH 62 +#define SPECIES_ABRA 63 +#define SPECIES_KADABRA 64 +#define SPECIES_ALAKAZAM 65 +#define SPECIES_MACHOP 66 +#define SPECIES_MACHOKE 67 +#define SPECIES_MACHAMP 68 +#define SPECIES_BELLSPROUT 69 +#define SPECIES_WEEPINBELL 70 +#define SPECIES_VICTREEBEL 71 +#define SPECIES_TENTACOOL 72 +#define SPECIES_TENTACRUEL 73 +#define SPECIES_GEODUDE 74 +#define SPECIES_GRAVELER 75 +#define SPECIES_GOLEM 76 +#define SPECIES_PONYTA 77 +#define SPECIES_RAPIDASH 78 +#define SPECIES_SLOWPOKE 79 +#define SPECIES_SLOWBRO 80 +#define SPECIES_MAGNEMITE 81 +#define SPECIES_MAGNETON 82 +#define SPECIES_FARFETCHD 83 +#define SPECIES_DODUO 84 +#define SPECIES_DODRIO 85 +#define SPECIES_SEEL 86 +#define SPECIES_DEWGONG 87 +#define SPECIES_GRIMER 88 +#define SPECIES_MUK 89 +#define SPECIES_SHELLDER 90 +#define SPECIES_CLOYSTER 91 +#define SPECIES_GASTLY 92 +#define SPECIES_HAUNTER 93 +#define SPECIES_GENGAR 94 +#define SPECIES_ONIX 95 +#define SPECIES_DROWZEE 96 +#define SPECIES_HYPNO 97 +#define SPECIES_KRABBY 98 +#define SPECIES_KINGLER 99 +#define SPECIES_VOLTORB 100 +#define SPECIES_ELECTRODE 101 +#define SPECIES_EXEGGCUTE 102 +#define SPECIES_EXEGGUTOR 103 +#define SPECIES_CUBONE 104 +#define SPECIES_MAROWAK 105 +#define SPECIES_HITMONLEE 106 +#define SPECIES_HITMONCHAN 107 +#define SPECIES_LICKITUNG 108 +#define SPECIES_KOFFING 109 +#define SPECIES_WEEZING 110 +#define SPECIES_RHYHORN 111 +#define SPECIES_RHYDON 112 +#define SPECIES_CHANSEY 113 +#define SPECIES_TANGELA 114 +#define SPECIES_KANGASKHAN 115 +#define SPECIES_HORSEA 116 +#define SPECIES_SEADRA 117 +#define SPECIES_GOLDEEN 118 +#define SPECIES_SEAKING 119 +#define SPECIES_STARYU 120 +#define SPECIES_STARMIE 121 +#define SPECIES_MR_MIME 122 +#define SPECIES_SCYTHER 123 +#define SPECIES_JYNX 124 +#define SPECIES_ELECTABUZZ 125 +#define SPECIES_MAGMAR 126 +#define SPECIES_PINSIR 127 +#define SPECIES_TAUROS 128 +#define SPECIES_MAGIKARP 129 +#define SPECIES_GYARADOS 130 +#define SPECIES_LAPRAS 131 +#define SPECIES_DITTO 132 +#define SPECIES_EEVEE 133 +#define SPECIES_VAPOREON 134 +#define SPECIES_JOLTEON 135 +#define SPECIES_FLAREON 136 +#define SPECIES_PORYGON 137 +#define SPECIES_OMANYTE 138 +#define SPECIES_OMASTAR 139 +#define SPECIES_KABUTO 140 +#define SPECIES_KABUTOPS 141 +#define SPECIES_AERODACTYL 142 +#define SPECIES_SNORLAX 143 +#define SPECIES_ARTICUNO 144 +#define SPECIES_ZAPDOS 145 +#define SPECIES_MOLTRES 146 +#define SPECIES_DRATINI 147 +#define SPECIES_DRAGONAIR 148 +#define SPECIES_DRAGONITE 149 +#define SPECIES_MEWTWO 150 +#define SPECIES_MEW 151 +#define SPECIES_CHIKORITA 152 +#define SPECIES_BAYLEEF 153 +#define SPECIES_MEGANIUM 154 +#define SPECIES_CYNDAQUIL 155 +#define SPECIES_QUILAVA 156 +#define SPECIES_TYPHLOSION 157 +#define SPECIES_TOTODILE 158 +#define SPECIES_CROCONAW 159 +#define SPECIES_FERALIGATR 160 +#define SPECIES_SENTRET 161 +#define SPECIES_FURRET 162 +#define SPECIES_HOOTHOOT 163 +#define SPECIES_NOCTOWL 164 +#define SPECIES_LEDYBA 165 +#define SPECIES_LEDIAN 166 +#define SPECIES_SPINARAK 167 +#define SPECIES_ARIADOS 168 +#define SPECIES_CROBAT 169 +#define SPECIES_CHINCHOU 170 +#define SPECIES_LANTURN 171 +#define SPECIES_PICHU 172 +#define SPECIES_CLEFFA 173 +#define SPECIES_IGGLYBUFF 174 +#define SPECIES_TOGEPI 175 +#define SPECIES_TOGETIC 176 +#define SPECIES_NATU 177 +#define SPECIES_XATU 178 +#define SPECIES_MAREEP 179 +#define SPECIES_FLAAFFY 180 +#define SPECIES_AMPHAROS 181 +#define SPECIES_BELLOSSOM 182 +#define SPECIES_MARILL 183 +#define SPECIES_AZUMARILL 184 +#define SPECIES_SUDOWOODO 185 +#define SPECIES_POLITOED 186 +#define SPECIES_HOPPIP 187 +#define SPECIES_SKIPLOOM 188 +#define SPECIES_JUMPLUFF 189 +#define SPECIES_AIPOM 190 +#define SPECIES_SUNKERN 191 +#define SPECIES_SUNFLORA 192 +#define SPECIES_YANMA 193 +#define SPECIES_WOOPER 194 +#define SPECIES_QUAGSIRE 195 +#define SPECIES_ESPEON 196 +#define SPECIES_UMBREON 197 +#define SPECIES_MURKROW 198 +#define SPECIES_SLOWKING 199 +#define SPECIES_MISDREAVUS 200 +#define SPECIES_UNOWN 201 +#define SPECIES_UNOWN_B 202 +#define SPECIES_UNOWN_C 203 +#define SPECIES_UNOWN_D 204 +#define SPECIES_UNOWN_E 205 +#define SPECIES_UNOWN_F 206 +#define SPECIES_UNOWN_G 207 +#define SPECIES_UNOWN_H 208 +#define SPECIES_UNOWN_I 209 +#define SPECIES_UNOWN_J 210 +#define SPECIES_UNOWN_K 211 +#define SPECIES_UNOWN_L 212 +#define SPECIES_UNOWN_M 213 +#define SPECIES_UNOWN_N 214 +#define SPECIES_UNOWN_O 215 +#define SPECIES_UNOWN_P 216 +#define SPECIES_UNOWN_Q 217 +#define SPECIES_UNOWN_R 218 +#define SPECIES_UNOWN_S 219 +#define SPECIES_UNOWN_T 220 +#define SPECIES_UNOWN_U 221 +#define SPECIES_UNOWN_V 222 +#define SPECIES_UNOWN_W 223 +#define SPECIES_UNOWN_X 224 +#define SPECIES_UNOWN_Y 225 +#define SPECIES_UNOWN_Z 226 +#define SPECIES_WOBBUFFET 227 +#define SPECIES_GIRAFARIG 228 +#define SPECIES_PINECO 229 +#define SPECIES_FORRETRESS 230 +#define SPECIES_DUNSPARCE 231 +#define SPECIES_GLIGAR 232 +#define SPECIES_STEELIX 233 +#define SPECIES_SNUBBULL 234 +#define SPECIES_GRANBULL 235 +#define SPECIES_QWILFISH 236 +#define SPECIES_SCIZOR 237 +#define SPECIES_SHUCKLE 238 +#define SPECIES_HERACROSS 239 +#define SPECIES_SNEASEL 240 +#define SPECIES_TEDDIURSA 241 +#define SPECIES_URSARING 242 +#define SPECIES_SLUGMA 243 +#define SPECIES_MAGCARGO 244 +#define SPECIES_SWINUB 245 +#define SPECIES_PILOSWINE 246 +#define SPECIES_CORSOLA 247 +#define SPECIES_REMORAID 248 +#define SPECIES_OCTILLERY 249 +#define SPECIES_DELIBIRD 250 +#define SPECIES_MANTINE 251 +#define SPECIES_SKARMORY 252 +#define SPECIES_HOUNDOUR 253 +#define SPECIES_HOUNDOOM 254 +#define SPECIES_KINGDRA 255 +#define SPECIES_PHANPY 256 +#define SPECIES_DONPHAN 257 +#define SPECIES_PORYGON2 258 +#define SPECIES_STANTLER 259 +#define SPECIES_SMEARGLE 260 +#define SPECIES_TYROGUE 261 +#define SPECIES_HITMONTOP 262 +#define SPECIES_SMOOCHUM 263 +#define SPECIES_ELEKID 264 +#define SPECIES_MAGBY 265 +#define SPECIES_MILTANK 266 +#define SPECIES_BLISSEY 267 +#define SPECIES_RAIKOU 268 +#define SPECIES_ENTEI 269 +#define SPECIES_SUICUNE 270 +#define SPECIES_LARVITAR 271 +#define SPECIES_PUPITAR 272 +#define SPECIES_TYRANITAR 273 +#define SPECIES_LUGIA 274 +#define SPECIES_HO_OH 275 +#define SPECIES_CELEBI 276 +#define SPECIES_TREECKO 277 +#define SPECIES_GROVYLE 278 +#define SPECIES_SCEPTILE 279 +#define SPECIES_TORCHIC 280 +#define SPECIES_COMBUSKEN 281 +#define SPECIES_BLAZIKEN 282 +#define SPECIES_MUDKIP 283 +#define SPECIES_MARSHTOMP 284 +#define SPECIES_SWAMPERT 285 +#define SPECIES_POOCHYENA 286 +#define SPECIES_MIGHTYENA 287 +#define SPECIES_ZIGZAGOON 288 +#define SPECIES_LINOONE 289 +#define SPECIES_WURMPLE 290 +#define SPECIES_SILCOON 291 +#define SPECIES_BEAUTIFLY 292 +#define SPECIES_CASCOON 293 +#define SPECIES_DUSTOX 294 +#define SPECIES_LOTAD 295 +#define SPECIES_LOMBRE 296 +#define SPECIES_LUDICOLO 297 +#define SPECIES_SEEDOT 298 +#define SPECIES_NUZLEAF 299 +#define SPECIES_SHIFTRY 300 +#define SPECIES_TAILLOW 301 +#define SPECIES_SWELLOW 302 +#define SPECIES_WINGULL 303 +#define SPECIES_PELIPPER 304 +#define SPECIES_RALTS 305 +#define SPECIES_KIRLIA 306 +#define SPECIES_GARDEVOIR 307 +#define SPECIES_SURSKIT 308 +#define SPECIES_MASQUERAIN 309 +#define SPECIES_SHROOMISH 310 +#define SPECIES_BRELOOM 311 +#define SPECIES_SLAKOTH 312 +#define SPECIES_VIGOROTH 313 +#define SPECIES_SLAKING 314 +#define SPECIES_NINCADA 315 +#define SPECIES_NINJASK 316 +#define SPECIES_SHEDINJA 317 +#define SPECIES_WHISMUR 318 +#define SPECIES_LOUDRED 319 +#define SPECIES_EXPLOUD 320 +#define SPECIES_MAKUHITA 321 +#define SPECIES_HARIYAMA 322 +#define SPECIES_AZURILL 323 +#define SPECIES_NOSEPASS 324 +#define SPECIES_SKITTY 325 +#define SPECIES_DELCATTY 326 +#define SPECIES_SABLEYE 327 +#define SPECIES_MAWILE 328 +#define SPECIES_ARON 329 +#define SPECIES_LAIRON 330 +#define SPECIES_AGGRON 331 +#define SPECIES_MEDITITE 332 +#define SPECIES_MEDICHAM 333 +#define SPECIES_ELECTRIKE 334 +#define SPECIES_MANECTRIC 335 +#define SPECIES_PLUSLE 336 +#define SPECIES_MINUN 337 +#define SPECIES_VOLBEAT 338 +#define SPECIES_ILLIMISE 339 +#define SPECIES_ROSELIA 340 +#define SPECIES_GULPIN 341 +#define SPECIES_SWALOT 342 +#define SPECIES_CARVANHA 343 +#define SPECIES_SHARPEDO 344 +#define SPECIES_WAILMER 345 +#define SPECIES_WAILORD 346 +#define SPECIES_NUMEL 347 +#define SPECIES_CAMERUPT 348 +#define SPECIES_TORKOAL 349 +#define SPECIES_SPOINK 350 +#define SPECIES_GRUMPIG 351 +#define SPECIES_SPINDA 352 +#define SPECIES_TRAPINCH 353 +#define SPECIES_VIBRAVA 354 +#define SPECIES_FLYGON 355 +#define SPECIES_CACNEA 356 +#define SPECIES_CACTURNE 357 +#define SPECIES_SWABLU 358 +#define SPECIES_ALTARIA 359 +#define SPECIES_ZANGOOSE 360 +#define SPECIES_SEVIPER 361 +#define SPECIES_LUNATONE 362 +#define SPECIES_SOLROCK 363 +#define SPECIES_BARBOACH 364 +#define SPECIES_WHISCASH 365 +#define SPECIES_CORPHISH 366 +#define SPECIES_CRAWDAUNT 367 +#define SPECIES_BALTOY 368 +#define SPECIES_CLAYDOL 369 +#define SPECIES_LILEEP 370 +#define SPECIES_CRADILY 371 +#define SPECIES_ANORITH 372 +#define SPECIES_ARMALDO 373 +#define SPECIES_FEEBAS 374 +#define SPECIES_MILOTIC 375 +#define SPECIES_CASTFORM 376 +#define SPECIES_CASTFORM_SNOWY 377 +#define SPECIES_CASTFORM_SUNNY 378 +#define SPECIES_CASTFORM_RAINY 379 +#define SPECIES_KECLEON 380 +#define SPECIES_SHUPPET 381 +#define SPECIES_BANETTE 382 +#define SPECIES_DUSKULL 383 +#define SPECIES_DUSCLOPS 384 +#define SPECIES_TROPIUS 385 +#define SPECIES_CHIMECHO 386 +#define SPECIES_ABSOL 387 +#define SPECIES_WYNAUT 388 +#define SPECIES_SNORUNT 389 +#define SPECIES_GLALIE 390 +#define SPECIES_SPHEAL 391 +#define SPECIES_SEALEO 392 +#define SPECIES_WALREIN 393 +#define SPECIES_CLAMPERL 394 +#define SPECIES_HUNTAIL 395 +#define SPECIES_GOREBYSS 396 +#define SPECIES_RELICANTH 397 +#define SPECIES_LUVDISC 398 +#define SPECIES_BAGON 399 +#define SPECIES_SHELGON 400 +#define SPECIES_SALAMENCE 401 +#define SPECIES_BELDUM 402 +#define SPECIES_METANG 403 +#define SPECIES_METAGROSS 404 +#define SPECIES_REGIROCK 405 +#define SPECIES_REGICE 406 +#define SPECIES_REGISTEEL 407 +#define SPECIES_LATIAS 408 +#define SPECIES_LATIOS 409 +#define SPECIES_KYOGRE 410 +#define SPECIES_GROUDON 411 +#define SPECIES_RAYQUAZA 412 +#define SPECIES_JIRACHI 413 +#define SPECIES_DEOXYS_NORMAL 414 +#define SPECIES_UNOWN_EMARK 415 +#define SPECIES_UNOWN_QMARK 416 +#define SPECIES_DEOXYS_ATTACK 417 +#define SPECIES_DEOXYS_DEFENSE 418 +#define SPECIES_DEOXYS_SPEED 419 +#define SPECIES_MUNCHLAX 420 +#define SPECIES_DECOY 421 +#define SPECIES_STATUE 422 +#define SPECIES_RAYQUAZA_CUTSCENE 423 + +#endif // GUARD_CONSTANTS_SPECIES_H diff --git a/include/constants/weather.h b/include/constants/weather.h new file mode 100644 index 0000000..e7225b9 --- /dev/null +++ b/include/constants/weather.h @@ -0,0 +1,14 @@ +#ifndef GUARD_CONSTANTS_WEATHER_H +#define GUARD_CONSTANTS_WEATHER_H + +#define WEATHER_CLEAR 0 +#define WEATHER_SUNNY 1 +#define WEATHER_SANDSTORM 2 +#define WEATHER_CLOUDY` 3 +#define WEATHER_RAIN 4 +#define WEATHER_HAIL 5 +#define WEATHER_FOG 6 +#define WEATHER_SNOW 7 +#define WEATHER_RANDOM 8 + +#endif // GUARD_CONSTANTS_WEATHER_H diff --git a/include/dungeon.h b/include/dungeon.h new file mode 100644 index 0000000..faf58e5 --- /dev/null +++ b/include/dungeon.h @@ -0,0 +1,32 @@ +#ifndef GUARD_DUNGEON_H +#define GUARD_DUNGEON_H + +struct DungeonName +{ + const u8 *name1; + const u8 *name2; +}; + +struct Dungeon +{ + u8 stairDirection; + u8 unk1; + bool8 isRecruitable; + s8 unk3; + u8 maxItemCount; + u8 maxPartySize; + u8 levelCondition; + u8 moneyCondition; + u8 unk8; + u8 unk9; + bool8 saveBeforeEntering; //whether to quicksave or not before entering + u8 unkB; // Apparently is a HM mask (Fly, Dive, Waterfall, Surf, Water) + s16 timer; + s16 unkE; +}; + +extern struct Dungeon gDungeons[]; +extern struct DungeonName gDungeonNames[]; +const u8 *GetDungeonName1(u8 dungeon); + +#endif //GUARD_DUNGEON_H diff --git a/include/file_system.h b/include/file_system.h index 360f7ac..45f6aac 100644 --- a/include/file_system.h +++ b/include/file_system.h @@ -26,6 +26,12 @@ struct SiroArchive u8 *data; }; +struct UnkFileStruct1 +{ + /* 0x0 */ u32 unk0; + /* 0x4 */ u32 unk4; +}; + struct OpenedFile *OpenFile(const char *filename, const struct FileArchive *arc); u8 *GetFileDataPtr(struct OpenedFile *openedFile, int unused); struct OpenedFile *OpenFileAndGetFileDataPtr(const char *filename, const struct FileArchive *arc); diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index ff92fcc..b241eb3 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -100,7 +100,7 @@ struct CgbChannel u8 le; u8 sw; u32 fr; - u32 wp; + u32* wp; u32 cp; u32 tp; u32 pp; diff --git a/include/input.h b/include/input.h new file mode 100644 index 0000000..0c4208d --- /dev/null +++ b/include/input.h @@ -0,0 +1,62 @@ +#ifndef GUARD_INPUT_H +#define GUARD_INPUT_H + +struct UnkInputStruct1 +{ + /* 0x0 */ u16 unk0; + /* 0x2 */ u16 unk2; + /* 0x4 */ u16 unk4; + /* 0x6 */ u16 unk6; + /* 0x8 */ u16 unk8; + /* 0xA */ u16 unkA; + /* 0xC */ u32 unkC; +}; + +struct UnkInputStruct2 +{ + /* 0x0 */ u16 unk0; + /* 0x2 */ u16 unk2; + /* 0x4 */ u16 unk4; + /* 0x6 */ u16 unk6; +}; + +struct Input +{ + /* 0x0 */ u16 unk0; + /* 0x2 */ u16 unk2; + /* 0x4 */ u16 unk4; + /* 0x6 */ u16 unk6; + /* 0x8 */ u16 unk8; + /* 0xA */ u16 unkA; + /* 0xC */ u16 unkC; + /* 0xE */ u16 unkE; + /* 0x10 */ u16 unk10; + /* 0x12 */ u16 unk12; + /* 0x14 */ u16 unk14; + /* 0x16 */ u16 unk16; + /* 0x16 */ u16 unk18; + /* 0x1A */ u16 unk1A; + /* 0x1C */ u16 unk1C; + /* 0x1E */ u16 unk1E; + /* 0x20 */ u32 unk20; + /* 0x24 */ u16 unk24; + /* 0x24 */ u16 unk26; + /* 0x28 */ u8 unk28; + /* 0x29 */ u8 unk29; + /* 0x2A */ u8 unk2A; + /* 0x2B */ u8 padding; +}; + +void InitInput(void); +void sub_800485C(void); +u8 sub_80048B8(void); +u8 sub_80048BC(void); +u8 sub_80048C0(void); +u8 sub_80048C4(void); +u8 sub_80048C8(void); +u8 sub_80048CC(void); +void sub_80048D0(void); +void sub_80048F8(void); +void sub_8004914(void); + +#endif // GUARD_INPUT_H diff --git a/include/m4a.h b/include/m4a.h new file mode 100644 index 0000000..fb05110 --- /dev/null +++ b/include/m4a.h @@ -0,0 +1,26 @@ +#ifndef GUARD_M4A_H +#define GUARD_M4A_H + +#include "gba/m4a_internal.h" + +void m4aSoundVSyncOn(void); +void m4aSoundVSyncOff(void); + +void m4aSoundInit(void); +void m4aSoundMain(void); +void m4aSongNumStart(u16 n); +void m4aSongNumStartOrChange(u16 n); +void m4aSongNumStop(u16 n); +void m4aMPlayAllStop(void); +void m4aMPlayContinue(struct MusicPlayerInfo *mplayInfo); +void m4aMPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed); +void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed); +void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed); +void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo); +void m4aMPlayStop(struct MusicPlayerInfo *mplayInfo); +void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume); + +extern struct MusicPlayerInfo gUnknown_20008F0; // BGM?? + + +#endif //GUARD_M4A_H diff --git a/include/pokemon.h b/include/pokemon.h new file mode 100644 index 0000000..6c18f7d --- /dev/null +++ b/include/pokemon.h @@ -0,0 +1,61 @@ +#ifndef POKEMON_H +#define POKEMON_H + +struct EvolveStruct1 +{ + u16 evolve_from; + u16 evolve_type; +}; + +struct EvolveNeeds +{ + u16 evolve_need1; + u16 evolve_need2; +}; + +struct gPokemon +{ + /* 0x0 */ u8* species; + /* 0x4 */ u8* category; + /* 0x8 */ u8 overworld_sprite; + /* 0x9 */ u8 size; + /* 0xA */ u8 unkA; + /* 0xB */ u8 unkB; + /* 0xC */ s32 move_speed; + /* 0x10 */ u16 dialogue_sprites; + /* 0x12 */ u8 unk12; + /* 0x13 */ u8 type_1; + /* 0x14 */ u8 type_2; + /* 0x15 */ u8 walkable_tiles; + /* 0x16 */ u8 friend_area; + /* 0x17 */ u8 ability_1; + /* 0x18 */ u8 ability_2; + /* 0x19 */ u8 shadow_size; + /* 0x1A */ u8 unk1A; + /* 0x1B */ u8 unk1B; + /* 0x1C */ bool8 isMoving; + /* 0x1D */ u8 unk1D; + /* 0x1E */ u16 base_hp; + /* 0x20 */ u16 base_exp; + /* 0x22 */ u16 unk22; // verified + /* 0x24 */ u16 base_att; + /* 0x26 */ u16 base_spatt; + /* 0x28 */ u16 base_def; + /* 0x2A */ u16 base_spdef; + /* 0x2C */ u16 lowkick_dmg; + /* 0x2E */ u16 sizeorb_dmg; + /* 0x30 */ u8 unk30; + /* 0x31 */ u8 unk31; + /* 0x32 */ u8 unk32; + /* 0x33 */ bool8 unk33; + /* 0x34 */ struct EvolveStruct1 pre; + /* 0x38 */ struct EvolveNeeds need; + /* 0x3C */ u16 dexNo; + /* 0x3E */ u16 internalNo; // verified + /* 0x40 */ s16 base_recruit; // verified + /* 0x42 */ u16 alphabetNo; + /* 0x44 */ u16 parentNo; + /* 0x46 */ u16 unk46; +}; + +#endif // POKEMON_H diff --git a/include/save.h b/include/save.h new file mode 100644 index 0000000..37309cf --- /dev/null +++ b/include/save.h @@ -0,0 +1,34 @@ +struct unkTimeStruct +{ + u16 unk0; + u8 unk2; + u8 unk3; + u8 unk4; +}; + +struct UnkStruct_203B184 { + /* 0x0 */ u32 *unk0; + /* 0x4 */ u32 *unk4; + /* 0x8 */ u8 *unk8; + /* 0xC */ u8 *unkC; + /* 0x10 */ u32 *unk10; + /* 0x14 */ u32 *unk14; + /* 0x18 */ u32 unk18; + /* 0x1C */ u32 unk1C; + /* 0x20 */ u32 unk20; + /* 0x24 */ u8 *unk24; + /* 0x28 */ u8 *unk28; + /* 0x2C */ u32 unk2C; + /* 0x30 */ struct unkTimeStruct *unk30; + u32 unk34; + u32 unk38; + u32 unk3C; + u32 unk40; + u32 unk44; + u32 unk48; + u8 *unk04C; + u32 unk050; + u32 unk054; + u32 unk058; +}; + diff --git a/include/text.h b/include/text.h new file mode 100644 index 0000000..d23ccf7 --- /dev/null +++ b/include/text.h @@ -0,0 +1,28 @@ +#ifndef GUARD_TEXT_H +#define GUARD_TEXT_H + +struct UnkTextStruct1 { + u8 fill00[4]; + u16 unk04; + u8 fill06[2]; + u16 unk08; + u8 fill04[0x3c]; + u8 unk46; +}; + +struct UnkTextStruct2 { + u8 fill00[0x0c]; + s16 unk0c; + u8 fill0e[2]; + s16 unk10; + u8 fill12[0x06]; +}; + +void sub_8006218(void); +u32 xxx_update_some_bg_tiles(u32 a0); +void sub_8006438(const struct UnkTextStruct2 *a0, u8 a1, u8 a2, u32 *a3); +void sub_8006554(void *a0, void *a1, void *a2, void *a3, u32 a4, const struct UnkTextStruct2 *a5, u8 a6, u32 a7, u32 *a8, u32 a9); +void sub_800898C(void); +void sub_80089AC(const struct UnkTextStruct2 *a0, void *a1); +void sub_8009388(void); +#endif diff --git a/include/time.h b/include/time.h new file mode 100644 index 0000000..9aeb28d --- /dev/null +++ b/include/time.h @@ -0,0 +1,20 @@ +#ifndef TIME_H +#define TIME_H + +struct PlayTimeStruct +{ + s16 hours; + u8 minutes; + u8 seconds; + u8 frames; +}; + +void IncrementPlayTime(struct PlayTimeStruct *Time); +void ResetPlayTime(struct PlayTimeStruct *Time); +struct PlayTimeStruct *sub_8094FA0(void); +void DeconstructPlayTime(struct PlayTimeStruct *r0, u32 *outHours, u32 *outMinutes, u32 *outSeconds); +void sub_8094F88(void); + + +#endif // TIME_H + |