diff options
-rwxr-xr-x | asm/rom_11B9C.s | 20 | ||||
-rwxr-xr-x | data/mon_locations.inc | 281 | ||||
-rwxr-xr-x | data/rom.s | 8 | ||||
-rwxr-xr-x | include/constants/species.h | 211 |
4 files changed, 509 insertions, 11 deletions
diff --git a/asm/rom_11B9C.s b/asm/rom_11B9C.s index d297457..76c6a28 100755 --- a/asm/rom_11B9C.s +++ b/asm/rom_11B9C.s @@ -63891,12 +63891,12 @@ sub_31F6C: @ 0x08031F6C strh r1, [r3] ldr r3, _08031FE4 @ =0x0000073D adds r0, r0, r3 - ldrb r0, [r0] + ldrb r0, [r0] @ number of "catch" arrows lit up lsls r0, r0, #0x18 asrs r0, r0, #0x18 cmp r0, #3 bne _08031F96 - movs r1, #1 + movs r1, #1 @ rare mons _08031F96: movs r2, #0 lsls r1, r1, #4 @@ -63912,12 +63912,12 @@ _08031FA2: mov r3, sl ldr r0, [r3] adds r0, #0x35 - ldrb r0, [r0] + ldrb r0, [r0] @ current area lsls r0, r0, #0x18 asrs r0, r0, #0x18 lsls r0, r0, #5 adds r1, r1, r0 - ldr r5, _08031FEC @ =0x08055A84 + ldr r5, _08031FEC @ =gWildMonLocations adds r1, r1, r5 ldrh r6, [r1] movs r3, #0 @@ -63940,7 +63940,7 @@ _08031FA2: _08031FE0: .4byte 0x020314E0 _08031FE4: .4byte 0x0000073D _08031FE8: .4byte 0x0200B134 -_08031FEC: .4byte 0x08055A84 +_08031FEC: .4byte gWildMonLocations _08031FF0: cmp r0, #0x86 beq _08032018 @@ -64063,7 +64063,7 @@ _080320C2: ldrb r6, [r0, #0x15] adds r0, r6, #0 cmp r0, #0xcc - bgt _080320FA + bgt _080320FA @ check if mon's evolution species is < SPECIES_NONE add r0, r8 ldrb r0, [r0] lsls r0, r0, #1 @@ -64097,7 +64097,7 @@ _080320FA: asrs r0, r0, #0x18 lsls r0, r0, #5 adds r1, r1, r0 - ldr r3, _08032194 @ =0x08055A84 + ldr r3, _08032194 @ =gWildMonLocations adds r1, r1, r3 ldrh r6, [r1] movs r0, #0xbe @@ -64164,7 +64164,7 @@ _0803217C: .align 2, 0 _0803218C: .4byte 0x086AE5E0 _08032190: .4byte 0x086A3700 -_08032194: .4byte 0x08055A84 +_08032194: .4byte gWildMonLocations _08032198: .4byte 0x0000059C thumb_func_start sub_3219C @@ -64503,7 +64503,7 @@ _0803240A: _0803242A: ldr r0, _08032478 @ =0x020314E0 ldr r2, [r0] - ldr r3, _0803247C @ =0x08055A84 + ldr r3, _0803247C @ =gWildMonLocations lsls r1, r5, #0x10 asrs r1, r1, #0xf asrs r0, r6, #0x10 @@ -64541,7 +64541,7 @@ _08032454: _08032470: .4byte 0x0000073D _08032474: .4byte gMain _08032478: .4byte 0x020314E0 -_0803247C: .4byte 0x08055A84 +_0803247C: .4byte gWildMonLocations _08032480: .4byte 0x0000059C thumb_func_start sub_32484 diff --git a/data/mon_locations.inc b/data/mon_locations.inc new file mode 100755 index 0000000..f021535 --- /dev/null +++ b/data/mon_locations.inc @@ -0,0 +1,281 @@ +gWildMonLocations:: @ 0x08055A84 + @ petalburg forest ruby common + .2byte SPECIES_NUZLEAF + .2byte SPECIES_ZIGZAGOON + .2byte SPECIES_SILCOON + .2byte SPECIES_CASCOON + .2byte SPECIES_DUSKULL + .2byte SPECIES_KECLEON + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ petalburg forest ruby rare + .2byte SPECIES_TREECKO + .2byte SPECIES_NUZLEAF + .2byte SPECIES_ZIGZAGOON + .2byte SPECIES_SILCOON + .2byte SPECIES_CASCOON + .2byte SPECIES_DUSKULL + .2byte SPECIES_NINCADA + .2byte SPECIES_KECLEON + + @ petalburg forest sapphire common + .2byte SPECIES_SLAKOTH + .2byte SPECIES_ROSELIA + .2byte SPECIES_SILCOON + .2byte SPECIES_CASCOON + .2byte SPECIES_DUSKULL + .2byte SPECIES_KECLEON + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ petalburg forest sapphire rare + .2byte SPECIES_TROPIUS + .2byte SPECIES_SLAKOTH + .2byte SPECIES_ROSELIA + .2byte SPECIES_SILCOON + .2byte SPECIES_CASCOON + .2byte SPECIES_DUSKULL + .2byte SPECIES_NINCADA + .2byte SPECIES_KECLEON + + @ plains ruby common + .2byte SPECIES_ILLUMISE + .2byte SPECIES_ELECTRIKE + .2byte SPECIES_POOCHYENA + .2byte SPECIES_MAGNEMITE + .2byte SPECIES_VOLTORB + .2byte SPECIES_TAILLOW + .2byte SPECIES_CASTFORM + .2byte SPECIES_NONE + + @ plains ruby rare + .2byte SPECIES_ZANGOOSE + .2byte SPECIES_POOCHYENA + .2byte SPECIES_MAGNEMITE + .2byte SPECIES_VOLTORB + .2byte SPECIES_TAILLOW + .2byte SPECIES_CASTFORM + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ plains sapphire common + .2byte SPECIES_JIGGLYPUFF + .2byte SPECIES_ELECTRIKE + .2byte SPECIES_POOCHYENA + .2byte SPECIES_MAGNEMITE + .2byte SPECIES_VOLTORB + .2byte SPECIES_TAILLOW + .2byte SPECIES_CASTFORM + .2byte SPECIES_NONE + + @ plains sapphire rare + .2byte SPECIES_VOLBEAT + .2byte SPECIES_SEVIPER + .2byte SPECIES_JIGGLYPUFF + .2byte SPECIES_POOCHYENA + .2byte SPECIES_MAGNEMITE + .2byte SPECIES_VOLTORB + .2byte SPECIES_TAILLOW + .2byte SPECIES_CASTFORM + + @ lilycove common + .2byte SPECIES_WAILMER + .2byte SPECIES_WINGULL + .2byte SPECIES_TENTACOOL + .2byte SPECIES_CARVANHA + .2byte SPECIES_LUVDISC + .2byte SPECIES_LILEEP + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ lilycove rare + .2byte SPECIES_STARYU + .2byte SPECIES_WAILMER + .2byte SPECIES_RELICANTH + .2byte SPECIES_TENTACOOL + .2byte SPECIES_CARVANHA + .2byte SPECIES_LUVDISC + .2byte SPECIES_LILEEP + .2byte SPECIES_NONE + + @ beach common + .2byte SPECIES_MAGIKARP + .2byte SPECIES_WINGULL + .2byte SPECIES_TENTACOOL + .2byte SPECIES_CARVANHA + .2byte SPECIES_LUVDISC + .2byte SPECIES_ANORITH + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ beach rare + .2byte SPECIES_CLAMPERL + .2byte SPECIES_MAGIKARP + .2byte SPECIES_RELICANTH + .2byte SPECIES_TENTACOOL + .2byte SPECIES_CARVANHA + .2byte SPECIES_LUVDISC + .2byte SPECIES_ANORITH + .2byte SPECIES_NONE + + @ granite cave ruby common + .2byte SPECIES_SOLROCK + .2byte SPECIES_MAWILE + .2byte SPECIES_MACHOP + .2byte SPECIES_GRIMER + .2byte SPECIES_SHELGON + .2byte SPECIES_LOUDRED + .2byte SPECIES_NOSEPASS + .2byte SPECIES_NONE + + @ granite cave ruby rare + .2byte SPECIES_SOLROCK + .2byte SPECIES_MACHOP + .2byte SPECIES_ABRA + .2byte SPECIES_SHELGON + .2byte SPECIES_LOUDRED + .2byte SPECIES_NOSEPASS + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ granite cave sapphire common + .2byte SPECIES_LUNATONE + .2byte SPECIES_MAKUHITA + .2byte SPECIES_GRIMER + .2byte SPECIES_SHELGON + .2byte SPECIES_LOUDRED + .2byte SPECIES_NOSEPASS + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ granite cave sapphire rare + .2byte SPECIES_LUNATONE + .2byte SPECIES_MAKUHITA + .2byte SPECIES_SABLEYE + .2byte SPECIES_ABRA + .2byte SPECIES_SHELGON + .2byte SPECIES_LOUDRED + .2byte SPECIES_NOSEPASS + .2byte SPECIES_NONE + + @ safari zone common + .2byte SPECIES_PSYDUCK + .2byte SPECIES_HERACROSS + .2byte SPECIES_GIRAFARIG + .2byte SPECIES_PINSIR + .2byte SPECIES_RHYHORN + .2byte SPECIES_DODUO + .2byte SPECIES_WOBBUFFET + .2byte SPECIES_NONE + + @ safari zone rare + .2byte SPECIES_PIKACHU + .2byte SPECIES_HERACROSS + .2byte SPECIES_GIRAFARIG + .2byte SPECIES_PINSIR + .2byte SPECIES_RHYHORN + .2byte SPECIES_DODUO + .2byte SPECIES_WOBBUFFET + .2byte SPECIES_NONE + + @ chimney mountain common + .2byte SPECIES_SLUGMA + .2byte SPECIES_VULPIX + .2byte SPECIES_TORKOAL + .2byte SPECIES_NUMEL + .2byte SPECIES_KOFFING + .2byte SPECIES_SKARMORY + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ chimney mountain rare + .2byte SPECIES_TORCHIC + .2byte SPECIES_VULPIX + .2byte SPECIES_TORKOAL + .2byte SPECIES_NUMEL + .2byte SPECIES_KOFFING + .2byte SPECIES_SKARMORY + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ lake common + .2byte SPECIES_GOLDEEN + .2byte SPECIES_MARILL + .2byte SPECIES_LOMBRE + .2byte SPECIES_BARBOACH + .2byte SPECIES_CORPHISH + .2byte SPECIES_FEEBAS + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ lake rare + .2byte SPECIES_MUDKIP + .2byte SPECIES_MARILL + .2byte SPECIES_LOMBRE + .2byte SPECIES_BARBOACH + .2byte SPECIES_CORPHISH + .2byte SPECIES_FEEBAS + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ desert common + .2byte SPECIES_BALTOY + .2byte SPECIES_MEDITITE + .2byte SPECIES_VIBRAVA + .2byte SPECIES_CACNEA + .2byte SPECIES_GEODUDE + .2byte SPECIES_ABSOL + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ desert rare + .2byte SPECIES_SWABLU + .2byte SPECIES_MEDITITE + .2byte SPECIES_VIBRAVA + .2byte SPECIES_CACNEA + .2byte SPECIES_GEODUDE + .2byte SPECIES_ABSOL + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + + @ ruins ruby common + .2byte SPECIES_BELDUM + .2byte SPECIES_REGIROCK + .2byte SPECIES_REGICE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ ruins ruby rare + .2byte SPECIES_BELDUM + .2byte SPECIES_REGIROCK + .2byte SPECIES_REGICE + .2byte SPECIES_REGISTEEL + .2byte SPECIES_NONE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ ruins sapphire common + .2byte SPECIES_BELDUM + .2byte SPECIES_REGIROCK + .2byte SPECIES_REGICE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + + @ ruins sapphire rare + .2byte SPECIES_BELDUM + .2byte SPECIES_REGIROCK + .2byte SPECIES_REGICE + .2byte SPECIES_REGISTEEL + .2byte SPECIES_NONE + .2byte SPECIES_NONE + .2byte SPECIES_NONE + .2byte SPECIES_NONE @@ -1,7 +1,13 @@ .section .rodata +#include "constants/species.h" + @ field select palettes 0xA8840 -.incbin "baserom.gba", 0x55A68, 0x57C46 - 0x55A68 +.incbin "baserom.gba", 0x55A68, 0x55A84 - 0x55A68 + +.include "data/mon_locations.inc" + +.incbin "baserom.gba", 0x55C44, 0x57C46 - 0x55C44 gEmptyOamData:: @ 0x08057C46 .4byte 0x00F000F4, 0x00000000 diff --git a/include/constants/species.h b/include/constants/species.h new file mode 100755 index 0000000..59f9ff2 --- /dev/null +++ b/include/constants/species.h @@ -0,0 +1,211 @@ +#ifndef GUARD_CONSTANTS_SPECIES_H +#define GUARD_CONSTANTS_SPECIES_H + +#define SPECIES_TREECKO 0x00 +#define SPECIES_GROVYLE 0x01 +#define SPECIES_SCEPTILE 0x02 +#define SPECIES_TORCHIC 0x03 +#define SPECIES_COMBUSKEN 0x04 +#define SPECIES_BLAZIKEN 0x05 +#define SPECIES_MUDKIP 0x06 +#define SPECIES_MARSHTOMP 0x07 +#define SPECIES_SWAMPERT 0x08 +#define SPECIES_POOCHYENA 0x09 +#define SPECIES_MIGHTYENA 0x0A +#define SPECIES_ZIGZAGOON 0x0B +#define SPECIES_LINOONE 0x0C +#define SPECIES_WURMPLE 0x0D +#define SPECIES_SILCOON 0x0E +#define SPECIES_BEAUTIFLY 0x0F +#define SPECIES_CASCOON 0x10 +#define SPECIES_DUSTOX 0x11 +#define SPECIES_LOTAD 0x12 +#define SPECIES_LOMBRE 0x13 +#define SPECIES_LUDICOLO 0x14 +#define SPECIES_SEEDOT 0x15 +#define SPECIES_NUZLEAF 0x16 +#define SPECIES_SHIFTRY 0x17 +#define SPECIES_TAILLOW 0x18 +#define SPECIES_SWELLOW 0x19 +#define SPECIES_WINGULL 0x1A +#define SPECIES_PELIPPER 0x1B +#define SPECIES_RALTS 0x1C +#define SPECIES_KIRLIA 0x1D +#define SPECIES_GARDEVOIR 0x1E +#define SPECIES_SURSKIT 0x1F +#define SPECIES_MASQUERAIN 0x20 +#define SPECIES_SHROOMISH 0x21 +#define SPECIES_BRELOOM 0x22 +#define SPECIES_SLAKOTH 0x23 +#define SPECIES_VIGOROTH 0x24 +#define SPECIES_SLAKING 0x25 +#define SPECIES_ABRA 0x26 +#define SPECIES_KADABRA 0x27 +#define SPECIES_ALAKAZAM 0x28 +#define SPECIES_NINCADA 0x29 +#define SPECIES_NINJASK 0x2A +#define SPECIES_SHEDINJA 0x2B +#define SPECIES_WHISMUR 0x2C +#define SPECIES_LOUDRED 0x2D +#define SPECIES_EXPLOUD 0x2E +#define SPECIES_MAKUHITA 0x2F +#define SPECIES_HARIYAMA 0x30 +#define SPECIES_GOLDEEN 0x31 +#define SPECIES_SEAKING 0x32 +#define SPECIES_MAGIKARP 0x33 +#define SPECIES_GYARADOS 0x34 +#define SPECIES_AZURILL 0x35 +#define SPECIES_MARILL 0x36 +#define SPECIES_AZUMARILL 0x37 +#define SPECIES_GEODUDE 0x38 +#define SPECIES_GRAVELER 0x39 +#define SPECIES_GOLEM 0x3A +#define SPECIES_NOSEPASS 0x3B +#define SPECIES_SKITTY 0x3C +#define SPECIES_DELCATTY 0x3D +#define SPECIES_ZUBAT 0x3E +#define SPECIES_GOLBAT 0x3F +#define SPECIES_CROBAT 0x40 +#define SPECIES_TENTACOOL 0x41 +#define SPECIES_TENTACRUEL 0x42 +#define SPECIES_SABLEYE 0x43 +#define SPECIES_MAWILE 0x44 +#define SPECIES_ARON 0x45 +#define SPECIES_LAIRON 0x46 +#define SPECIES_AGGRON 0x47 +#define SPECIES_MACHOP 0x48 +#define SPECIES_MACHOKE 0x49 +#define SPECIES_MACHAMP 0x4A +#define SPECIES_MEDITITE 0x4B +#define SPECIES_MEDICHAM 0x4C +#define SPECIES_ELECTRIKE 0x4D +#define SPECIES_MANECTRIC 0x4E +#define SPECIES_PLUSLE 0x4F +#define SPECIES_MINUN 0x50 +#define SPECIES_MAGNEMITE 0x51 +#define SPECIES_MAGNETON 0x52 +#define SPECIES_VOLTORB 0x53 +#define SPECIES_ELECTRODE 0x54 +#define SPECIES_VOLBEAT 0x55 +#define SPECIES_ILLUMISE 0x56 +#define SPECIES_ODDISH 0x57 +#define SPECIES_GLOOM 0x58 +#define SPECIES_VILEPLUME 0x59 +#define SPECIES_BELLOSSOM 0x5A +#define SPECIES_DODUO 0x5B +#define SPECIES_DODRIO 0x5C +#define SPECIES_ROSELIA 0x5D +#define SPECIES_GULPIN 0x5E +#define SPECIES_SWALOT 0x5F +#define SPECIES_CARVANHA 0x60 +#define SPECIES_SHARPEDO 0x61 +#define SPECIES_WAILMER 0x62 +#define SPECIES_WAILORD 0x63 +#define SPECIES_NUMEL 0x64 +#define SPECIES_CAMERUPT 0x65 +#define SPECIES_SLUGMA 0x66 +#define SPECIES_MAGCARGO 0x67 +#define SPECIES_TORKOAL 0x68 +#define SPECIES_GRIMER 0x69 +#define SPECIES_MUK 0x6A +#define SPECIES_KOFFING 0x6B +#define SPECIES_WEEZING 0x6C +#define SPECIES_SPOINK 0x6D +#define SPECIES_GRUMPIG 0x6E +#define SPECIES_SANDSHREW 0x6F +#define SPECIES_SANDSLASH 0x70 +#define SPECIES_SPINDA 0x71 +#define SPECIES_SKARMORY 0x72 +#define SPECIES_TRAPINCH 0x73 +#define SPECIES_VIBRAVA 0x74 +#define SPECIES_FLYGON 0x75 +#define SPECIES_CACNEA 0x76 +#define SPECIES_CACTURNE 0x77 +#define SPECIES_SWABLU 0x78 +#define SPECIES_ALTARIA 0x79 +#define SPECIES_ZANGOOSE 0x7A +#define SPECIES_SEVIPER 0x7B +#define SPECIES_LUNATONE 0x7C +#define SPECIES_SOLROCK 0x7D +#define SPECIES_BARBOACH 0x7E +#define SPECIES_WHISCASH 0x7F +#define SPECIES_CORPHISH 0x80 +#define SPECIES_CRAWDAUNT 0x81 +#define SPECIES_BALTOY 0x82 +#define SPECIES_CLAYDOL 0x83 +#define SPECIES_LILEEP 0x84 +#define SPECIES_CRADILY 0x85 +#define SPECIES_ANORITH 0x86 +#define SPECIES_ARMALDO 0x87 +#define SPECIES_IGGLYBUFF 0x88 +#define SPECIES_JIGGLYPUFF 0x89 +#define SPECIES_WIGGLYTUFF 0x8A +#define SPECIES_FEEBAS 0x8B +#define SPECIES_MILOTIC 0x8C +#define SPECIES_CASTFORM 0x8D +#define SPECIES_STARYU 0x8E +#define SPECIES_STARMIE 0x8F +#define SPECIES_KECLEON 0x90 +#define SPECIES_SHUPPET 0x91 +#define SPECIES_BANETTE 0x92 +#define SPECIES_DUSKULL 0x93 +#define SPECIES_DUSCLOPS 0x94 +#define SPECIES_TROPIUS 0x95 +#define SPECIES_CHIMECHO 0x96 +#define SPECIES_ABSOL 0x97 +#define SPECIES_VULPIX 0x98 +#define SPECIES_NINETALES 0x99 +#define SPECIES_PICHU 0x9A +#define SPECIES_PIKACHU 0x9B +#define SPECIES_RAICHU 0x9C +#define SPECIES_PSYDUCK 0x9D +#define SPECIES_GOLDUCK 0x9E +#define SPECIES_WYNAUT 0x9F +#define SPECIES_WOBBUFFET 0xA0 +#define SPECIES_NATU 0xA1 +#define SPECIES_XATU 0xA2 +#define SPECIES_GIRAFARIG 0xA3 +#define SPECIES_PHANPY 0xA4 +#define SPECIES_DONPHAN 0xA5 +#define SPECIES_PINSIR 0xA6 +#define SPECIES_HERACROSS 0xA7 +#define SPECIES_RHYHORN 0xA8 +#define SPECIES_RHYDON 0xA9 +#define SPECIES_SNORUNT 0xAA +#define SPECIES_GLALIE 0xAB +#define SPECIES_SPHEAL 0xAC +#define SPECIES_SEALEO 0xAD +#define SPECIES_WALREIN 0xAE +#define SPECIES_CLAMPERL 0xAF +#define SPECIES_HUNTAIL 0xB0 +#define SPECIES_GOREBYSS 0xB1 +#define SPECIES_RELICANTH 0xB2 +#define SPECIES_CORSOLA 0xB3 +#define SPECIES_CHINCHOU 0xB4 +#define SPECIES_LANTURN 0xB5 +#define SPECIES_LUVDISC 0xB6 +#define SPECIES_HORSEA 0xB7 +#define SPECIES_SEADRA 0xB8 +#define SPECIES_KINGDRA 0xB9 +#define SPECIES_BAGON 0xBA +#define SPECIES_SHELGON 0xBB +#define SPECIES_SALAMENCE 0xBC +#define SPECIES_BELDUM 0xBD +#define SPECIES_METANG 0xBE +#define SPECIES_METAGROSS 0xBF +#define SPECIES_REGIROCK 0xC0 +#define SPECIES_REGICE 0xC1 +#define SPECIES_REGISTEEL 0xC2 +#define SPECIES_LATIAS 0xC3 +#define SPECIES_LATIOS 0xC4 +#define SPECIES_KYOGRE 0xC5 +#define SPECIES_GROUDON 0xC6 +#define SPECIES_RAYQUAZA 0xC7 +#define SPECIES_JIRACHI 0xC8 +#define SPECIES_CHIKORITA 0xC9 +#define SPECIES_CYNDAQUIL 0xCA +#define SPECIES_TOTODILE 0xCB +#define SPECIES_AERODACTYL 0xCC +#define SPECIES_NONE 0xCD + +#endif // GUARD_CONSTANTS_SPECIES_H |