diff options
Diffstat (limited to 'constants')
-rwxr-xr-x | constants/collision_constants.asm | 129 | ||||
-rwxr-xr-x | constants/hardware_constants.asm | 164 | ||||
-rw-r--r-- | constants/item_constants.asm | 577 | ||||
-rwxr-xr-x | constants/mart_constants.asm | 43 | ||||
-rw-r--r-- | constants/script_constants.asm | 2 | ||||
-rw-r--r-- | constants/tilemap_constants.asm | 6 |
6 files changed, 613 insertions, 308 deletions
diff --git a/constants/collision_constants.asm b/constants/collision_constants.asm new file mode 100755 index 00000000..f9724da6 --- /dev/null +++ b/constants/collision_constants.asm @@ -0,0 +1,129 @@ +; collision permissions (see data/collision_permissions.asm) +LANDTILE EQU $00 +WATERTILE EQU $01 +WALLTILE EQU $0f +TALK EQU $10 + +; collision data types (see data/tilesets/*_collision.asm) +; TileCollisionTable indexes (see data/collision_permissions.asm) +COLL_FLOOR EQU $00 +COLL_01 EQU $01 ; garbage +COLL_03 EQU $03 ; garbage +COLL_04 EQU $04 ; garbage +COLL_WALL EQU $07 +COLL_CUT_08 EQU $08 ; unused +COLL_TALL_GRASS_10 EQU $10 ; unused +COLL_CUT_TREE EQU $12 +COLL_LONG_GRASS EQU $14 +COLL_HEADBUTT_TREE EQU $15 +COLL_TALL_GRASS EQU $18 +COLL_CUT_TREE_1A EQU $1a ; unused +COLL_LONG_GRASS_1C EQU $1c ; unused +COLL_HEADBUTT_TREE_1D EQU $1d ; unused +COLL_WATER_21 EQU $21 ; ??? +COLL_ICE EQU $23 +COLL_WHIRLPOOL EQU $24 +COLL_BUOY EQU $27 +COLL_CUT_28 EQU $28 ; garbage +COLL_WATER EQU $29 +COLL_ICE_2B EQU $2b ; unused +COLL_WHIRLPOOL_2C EQU $2c ; unused +COLL_WATERFALL_RIGHT EQU $30 ; unused +COLL_WATERFALL_LEFT EQU $31 ; unused +COLL_WATERFALL_UP EQU $32 ; unused +COLL_WATERFALL EQU $33 +COLL_CURRENT_RIGHT EQU $38 ; unused +COLL_CURRENT_LEFT EQU $39 ; unused +COLL_CURRENT_UP EQU $3a ; unused +COLL_CURRENT_DOWN EQU $3b ; unused +COLL_BRAKE EQU $40 ; unused +COLL_WALK_RIGHT EQU $41 ; unused +COLL_WALK_LEFT EQU $42 ; unused +COLL_WALK_UP EQU $43 ; unused +COLL_WALK_DOWN EQU $44 ; unused +COLL_BRAKE_45 EQU $45 ; garbage +COLL_BRAKE_46 EQU $46 ; unused +COLL_BRAKE_47 EQU $47 ; unused +COLL_GRASS_48 EQU $48 ; unused +COLL_GRASS_49 EQU $49 ; unused +COLL_GRASS_4A EQU $4a ; garbage +COLL_GRASS_4B EQU $4b ; garbage +COLL_GRASS_4C EQU $4c ; unused +COLL_WALK_RIGHT_ALT EQU $50 ; unused +COLL_WALK_LEFT_ALT EQU $51 ; unused +COLL_WALK_UP_ALT EQU $52 ; unused +COLL_WALK_DOWN_ALT EQU $53 ; unused +COLL_BRAKE_ALT EQU $54 ; unused +COLL_BRAKE_55 EQU $55 ; unused +COLL_BRAKE_56 EQU $56 ; unused +COLL_BRAKE_57 EQU $57 ; unused +COLL_5B EQU $5b ; garbage +COLL_PIT EQU $60 +COLL_VIRTUAL_BOY EQU $61 ; garbage +COLL_64 EQU $64 ; garbage +COLL_65 EQU $65 ; garbage +COLL_PIT_68 EQU $68 ; unused +COLL_WARP_CARPET_DOWN EQU $70 +COLL_DOOR EQU $71 +COLL_LADDER EQU $72 +COLL_STAIRCASE_73 EQU $73 ; unused +COLL_CAVE_74 EQU $74 ; unused +COLL_DOOR_75 EQU $75 ; unused +COLL_WARP_CARPET_LEFT EQU $76 +COLL_WARP_77 EQU $77 ; unused +COLL_WARP_CARPET_UP EQU $78 +COLL_DOOR_79 EQU $79 ; unused +COLL_STAIRCASE EQU $7a +COLL_CAVE EQU $7b +COLL_WARP_PANEL EQU $7c +COLL_DOOR_7D EQU $7d ; unused +COLL_WARP_CARPET_RIGHT EQU $7e +COLL_WARP_7F EQU $7f ; unused +COLL_COUNTER EQU $90 +COLL_BOOKSHELF EQU $91 +COLL_PC EQU $93 +COLL_RADIO EQU $94 +COLL_TOWN_MAP EQU $95 +COLL_MART_SHELF EQU $96 +COLL_TV EQU $97 +COLL_COUNTER_98 EQU $98 ; unused +COLL_9C EQU $9c ; garbage +COLL_WINDOW EQU $9d +COLL_INCENSE_BURNER EQU $9f +COLL_HOP_RIGHT EQU $a0 +COLL_HOP_LEFT EQU $a1 +COLL_HOP_UP EQU $a2 ; unused +COLL_HOP_DOWN EQU $a3 +COLL_HOP_DOWN_RIGHT EQU $a4 +COLL_HOP_DOWN_LEFT EQU $a5 +COLL_HOP_UP_RIGHT EQU $a6 ; unused +COLL_HOP_UP_LEFT EQU $a7 ; unused +COLL_RIGHT_WALL EQU $b0 +COLL_LEFT_WALL EQU $b1 +COLL_UP_WALL EQU $b2 +COLL_DOWN_WALL EQU $b3 ; unused +COLL_DOWN_RIGHT_WALL EQU $b4 ; unused +COLL_DOWN_LEFT_WALL EQU $b5 ; unused +COLL_UP_RIGHT_WALL EQU $b6 ; unused +COLL_UP_LEFT_WALL EQU $b7 ; unused +COLL_RIGHT_BUOY EQU $c0 ; unused +COLL_LEFT_BUOY EQU $c1 ; unused +COLL_UP_BUOY EQU $c2 ; unused +COLL_DOWN_BUOY EQU $c3 ; unused +COLL_DOWN_RIGHT_BUOY EQU $c4 ; unused +COLL_DOWN_LEFT_BUOY EQU $c5 ; unused +COLL_UP_RIGHT_BUOY EQU $c6 ; unused +COLL_UP_LEFT_BUOY EQU $c7 ; unused +COLL_FF EQU $ff ; garbage + +; collision data type nybbles +LO_NYBBLE_GRASS EQU $07 +HI_NYBBLE_TALL_GRASS EQU $10 +HI_NYBBLE_WATER EQU $20 +HI_NYBBLE_CURRENT EQU $30 +HI_NYBBLE_WALK EQU $40 +HI_NYBBLE_WALK_ALT EQU $50 +HI_NYBBLE_WARPS EQU $70 +HI_NYBBLE_LEDGES EQU $a0 +HI_NYBBLE_SIDE_WALLS EQU $b0 +HI_NYBBLE_SIDE_BUOYS EQU $c0 diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm new file mode 100755 index 00000000..6205a1d7 --- /dev/null +++ b/constants/hardware_constants.asm @@ -0,0 +1,164 @@ +; Graciously aped from: +; http://nocash.emubase.de/pandocs.htm +; http://gameboy.mongenel.com/dmg/asmmemmap.html + +; memory map +VRAM_Begin EQU $8000 +VRAM_End EQU $a000 +SRAM_Begin EQU $a000 +SRAM_End EQU $c000 +WRAM0_Begin EQU $c000 +WRAM0_End EQU $d000 +WRAM1_Begin EQU $d000 +WRAM1_End EQU $e000 +; hardware registers $ff00-$ff80 (see below) +HRAM_Begin EQU $ff80 +HRAM_End EQU $ffff + +; MBC3 +MBC3SRamEnable EQU $0000 +MBC3RomBank EQU $2000 +MBC3SRamBank EQU $4000 +MBC3LatchClock EQU $6000 +MBC3RTC EQU $a000 + +SRAM_DISABLE EQU $00 +SRAM_ENABLE EQU $0a + +NUM_SRAM_BANKS EQU 4 + +RTC_S EQU $08 ; Seconds 0-59 (0-3Bh) +RTC_M EQU $09 ; Minutes 0-59 (0-3Bh) +RTC_H EQU $0a ; Hours 0-23 (0-17h) +RTC_DL EQU $0b ; Lower 8 bits of Day Counter (0-FFh) +RTC_DH EQU $0c ; Upper 1 bit of Day Counter, Carry Bit, Halt Flag + ; Bit 0 Most significant bit of Day Counter (Bit 8) + ; Bit 6 Halt (0=Active, 1=Stop Timer) + ; Bit 7 Day Counter Carry Bit (1=Counter Overflow) + +; interrupt flags +VBLANK EQU 0 +LCD_STAT EQU 1 +TIMER EQU 2 +SERIAL EQU 3 +JOYPAD EQU 4 +IE_DEFAULT EQU (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK) + +; OAM attribute flags +OAM_TILE_BANK EQU 3 +OAM_OBP_NUM EQU 4 ; non CGB Mode Only +OAM_X_FLIP EQU 5 +OAM_Y_FLIP EQU 6 +OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3) + +; BG Map attribute flags +PALETTE_MASK EQU %111 +VRAM_BANK_1 EQU 1 << OAM_TILE_BANK ; $08 +OBP_NUM EQU 1 << OAM_OBP_NUM ; $10 +X_FLIP EQU 1 << OAM_X_FLIP ; $20 +Y_FLIP EQU 1 << OAM_Y_FLIP ; $40 +PRIORITY EQU 1 << OAM_PRIORITY ; $80 + +; Hardware registers +rJOYP EQU $ff00 ; Joypad (R/W) +rSB EQU $ff01 ; Serial transfer data (R/W) +rSC EQU $ff02 ; Serial Transfer Control (R/W) +rSC_ON EQU 7 +rSC_CGB EQU 1 +rSC_CLOCK EQU 0 +rDIV EQU $ff04 ; Divider Register (R/W) +rTIMA EQU $ff05 ; Timer counter (R/W) +rTMA EQU $ff06 ; Timer Modulo (R/W) +rTAC EQU $ff07 ; Timer Control (R/W) +rTAC_ON EQU 2 +rTAC_4096_HZ EQU 0 +rTAC_262144_HZ EQU 1 +rTAC_65536_HZ EQU 2 +rTAC_16384_HZ EQU 3 +rIF EQU $ff0f ; Interrupt Flag (R/W) +rNR10 EQU $ff10 ; Channel 1 Sweep register (R/W) +rNR11 EQU $ff11 ; Channel 1 Sound length/Wave pattern duty (R/W) +rNR12 EQU $ff12 ; Channel 1 Volume Envelope (R/W) +rNR13 EQU $ff13 ; Channel 1 Frequency lo (Write Only) +rNR14 EQU $ff14 ; Channel 1 Frequency hi (R/W) +rNR20 EQU $ff15 ; Channel 2 Sweep register (R/W) +rNR21 EQU $ff16 ; Channel 2 Sound Length/Wave Pattern Duty (R/W) +rNR22 EQU $ff17 ; Channel 2 Volume Envelope (R/W) +rNR23 EQU $ff18 ; Channel 2 Frequency lo data (W) +rNR24 EQU $ff19 ; Channel 2 Frequency hi data (R/W) +rNR30 EQU $ff1a ; Channel 3 Sound on/off (R/W) +rNR31 EQU $ff1b ; Channel 3 Sound Length +rNR32 EQU $ff1c ; Channel 3 Select output level (R/W) +rNR33 EQU $ff1d ; Channel 3 Frequency's lower data (W) +rNR34 EQU $ff1e ; Channel 3 Frequency's higher data (R/W) +rNR40 EQU $ff1f ; Channel 4 Sweep register (R/W) +rNR41 EQU $ff20 ; Channel 4 Sound Length (R/W) +rNR42 EQU $ff21 ; Channel 4 Volume Envelope (R/W) +rNR43 EQU $ff22 ; Channel 4 Polynomial Counter (R/W) +rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Inital (R/W) +rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W) +rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W) +rNR52 EQU $ff26 ; Sound on/off +rWave_0 EQU $ff30 +rWave_1 EQU $ff31 +rWave_2 EQU $ff32 +rWave_3 EQU $ff33 +rWave_4 EQU $ff34 +rWave_5 EQU $ff35 +rWave_6 EQU $ff36 +rWave_7 EQU $ff37 +rWave_8 EQU $ff38 +rWave_9 EQU $ff39 +rWave_a EQU $ff3a +rWave_b EQU $ff3b +rWave_c EQU $ff3c +rWave_d EQU $ff3d +rWave_e EQU $ff3e +rWave_f EQU $ff3f +rLCDC EQU $ff40 ; LCD Control (R/W) +rLCDC_BG_PRIORITY EQU 0 ; 0=Off, 1=On +rLCDC_SPRITES_ENABLE EQU 1 ; 0=Off, 1=On +rLCDC_SPRITE_SIZE EQU 2 ; 0=8x8, 1=8x16 +rLCDC_BG_TILEMAP EQU 3 ; 0=9800-9BFF, 1=9C00-9FFF +rLCDC_TILE_DATA EQU 4 ; 0=8800-97FF, 1=8000-8FFF +rLCDC_WINDOW_ENABLE EQU 5 ; 0=Off, 1=On +rLCDC_WINDOW_TILEMAP EQU 6 ; 0=9800-9BFF, 1=9C00-9FFF +rLCDC_ENABLE EQU 7 ; 0=Off, 1=On +LCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 << rLCDC_WINDOW_ENABLE) | (1 << rLCDC_SPRITES_ENABLE) | (1 << rLCDC_BG_PRIORITY) +rSTAT EQU $ff41 ; LCDC Status (R/W) +rSCY EQU $ff42 ; Scroll Y (R/W) +rSCX EQU $ff43 ; Scroll X (R/W) +rLY EQU $ff44 ; LCDC Y-Coordinate (R) +LY_VBLANK EQU 144 +rLYC EQU $ff45 ; LY Compare (R/W) +rDMA EQU $ff46 ; DMA Transfer and Start Address (W) +rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only +rOBP0 EQU $ff48 ; Object Palette 0 Data (R/W) - Non CGB Mode Only +rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only +rWY EQU $ff4a ; Window Y Position (R/W) +rWX EQU $ff4b ; Window X Position minus 7 (R/W) +rLCDMODE EQU $ff4c +rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch +rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank +rBLCK EQU $ff50 +rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High +rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low +rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High +rHDMA4 EQU $ff54 ; CGB Mode Only - New DMA Destination, Low +rHDMA5 EQU $ff55 ; CGB Mode Only - New DMA Length/Mode/Start +rRP EQU $ff56 ; CGB Mode Only - Infrared Communications Port +rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index +rBGPI_AUTO_INCREMENT EQU 7 ; increment rBGPI after write to rBGPD +rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data +rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index +rOBPI_AUTO_INCREMENT EQU 7 ; increment rOBPI after write to rOBPD +rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data +rUNKNOWN1 EQU $ff6c ; (FEh) Bit 0 (Read/Write) - CGB Mode Only +rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank +rUNKNOWN2 EQU $ff72 ; (00h) - Bit 0-7 (Read/Write) +rUNKNOWN3 EQU $ff73 ; (00h) - Bit 0-7 (Read/Write) +rUNKNOWN4 EQU $ff74 ; (00h) - Bit 0-7 (Read/Write) - CGB Mode Only +rUNKNOWN5 EQU $ff75 ; (8Fh) - Bit 4-6 (Read/Write) +rUNKNOWN6 EQU $ff76 ; (00h) - Always 00h (Read Only) +rUNKNOWN7 EQU $ff77 ; (00h) - Always 00h (Read Only) +rIE EQU $ffff ; Interrupt Enable (R/W) diff --git a/constants/item_constants.asm b/constants/item_constants.asm index f8429010..480ab577 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -5,310 +5,285 @@ ; - ItemAttributes (see data/items/attributes.asm) ; - ItemEffects (see engine/items/item_effects.asm) const_def - const NO_ITEM ; $00 - const MASTER_BALL ; $01 - const ULTRA_BALL ; $02 - const BRIGHTPOWDER ; $03 - const GREAT_BALL ; $04 - const POKE_BALL ; $05 - const TOWN_MAP ; $06 - const BICYCLE ; $07 - const MOON_STONE ; $08 - const ANTIDOTE ; $09 - const BURN_HEAL ; $0A - const ICE_HEAL ; $0B - const AWAKENING ; $0C - const PARLYZ_HEAL ; $0D - const FULL_RESTORE ; $0E - const MAX_POTION ; $0F - const HYPER_POTION ; $10 - const SUPER_POTION ; $11 - const POTION ; $12 - const ESCAPE_ROPE ; $13 - const REPEL ; $14 - const MAX_ELIXER ; $15 - const FIRE_STONE ; $16 - const THUNDERSTONE ; $17 - const WATER_STONE ; $18 - const ITEM_19 ; $19 - const HP_UP ; $1A - const PROTEIN ; $1B - const IRON ; $1C - const CARBOS ; $1D - const LUCKY_PUNCH ; $1E - const CALCIUM ; $1F - const RARE_CANDY ; $20 - const X_ACCURACY ; $21 - const LEAF_STONE ; $22 - const METAL_POWDER ; $23 - const NUGGET ; $24 - const POKE_DOLL ; $25 - const FULL_HEAL ; $26 - const REVIVE ; $27 - const MAX_REVIVE ; $28 - const GUARD_SPEC ; $29 - const SUPER_REPEL ; $2A - const MAX_REPEL ; $2B - const DIRE_HIT ; $2C - const ITEM_2D ; $2D - const FRESH_WATER ; $2E - const SODA_POP ; $2F - const LEMONADE ; $30 - const X_ATTACK ; $31 - const ITEM_32 ; $32 - const X_DEFEND ; $33 - const X_SPEED ; $34 - const X_SPECIAL ; $35 - const COIN_CASE ; $36 - const ITEMFINDER ; $37 - const POKE_FLUTE ; $38 - const EXP_SHARE ; $39 - const OLD_ROD ; $3A - const GOOD_ROD ; $3B - const SILVER_LEAF ; $3C - const SUPER_ROD ; $3D - const PP_UP ; $3E - const ETHER ; $3F - const MAX_ETHER ; $40 - const ELIXER ; $41 - const RED_SCALE ; $42 - const SECRETPOTION ; $43 - const S_S_TICKET ; $44 - const MYSTERY_EGG ; $45 - const ITEM_46 ; $46 - const SILVER_WING ; $47 - const MOOMOO_MILK ; $48 - const QUICK_CLAW ; $49 - const PSNCUREBERRY ; $4A - const GOLD_LEAF ; $4B - const SOFT_SAND ; $4C - const SHARP_BEAK ; $4D - const PRZCUREBERRY ; $4E - const BURNT_BERRY ; $4F - const ICE_BERRY ; $50 - const POISON_BARB ; $51 - const KINGS_ROCK ; $52 - const BITTER_BERRY ; $53 - const MINT_BERRY ; $54 - const RED_APRICORN ; $55 - const TINYMUSHROOM ; $56 - const BIG_MUSHROOM ; $57 - const SILVERPOWDER ; $58 - const BLU_APRICORN ; $59 - const ITEM_5A ; $5A - const AMULET_COIN ; $5B - const YLW_APRICORN ; $5C - const GRN_APRICORN ; $5D - const CLEANSE_TAG ; $5E - const MYSTIC_WATER ; $5F - const TWISTEDSPOON ; $60 - const WHT_APRICORN ; $61 - const BLACKBELT ; $62 - const BLK_APRICORN ; $63 - const ITEM_64 ; $64 - const PNK_APRICORN ; $65 - const BLACKGLASSES ; $66 - const SLOWPOKETAIL ; $67 - const PINK_BOW ; $68 - const STICK ; $69 - const SMOKE_BALL ; $6A - const NEVERMELTICE ; $6B - const MAGNET ; $6C - const MIRACLEBERRY ; $6D - const PEARL ; $6E - const BIG_PEARL ; $6F - const EVERSTONE ; $70 - const SPELL_TAG ; $71 - const RAGECANDYBAR ; $72 - const ITEM_73 ; $73 - const ITEM_74 ; $74 - const MIRACLE_SEED ; $75 - const THICK_CLUB ; $76 - const FOCUS_BAND ; $77 - const ITEM_78 ; $78 - const ENERGYPOWDER ; $79 - const ENERGY_ROOT ; $7A - const HEAL_POWDER ; $7B - const REVIVAL_HERB ; $7C - const HARD_STONE ; $7D - const LUCKY_EGG ; $7E - const CARD_KEY ; $7F - const MACHINE_PART ; $80 - const ITEM_81 ; $81 - const LOST_ITEM ; $82 - const STARDUST ; $83 - const STAR_PIECE ; $84 - const BASEMENT_KEY ; $85 - const PASS ; $86 - const ITEM_87 ; $87 - const ITEM_88 ; $88 - const ITEM_89 ; $89 - const CHARCOAL ; $8A - const BERRY_JUICE ; $8B - const SCOPE_LENS ; $8C - const ITEM_8D ; $8D - const ITEM_8E ; $8E - const METAL_COAT ; $8F - const DRAGON_FANG ; $90 - const ITEM_91 ; $91 - const LEFTOVERS ; $92 - const ITEM_93 ; $93 - const ITEM_94 ; $94 - const ITEM_95 ; $95 - const MYSTERYBERRY ; $96 - const DRAGON_SCALE ; $97 - const BERSERK_GENE ; $98 - const ITEM_99 ; $99 - const ITEM_9A ; $9A - const ITEM_9B ; $9B - const SACRED_ASH ; $9C - const HEAVY_BALL ; $9D - const FLOWER_MAIL ; $9E - const LEVEL_BALL ; $9F - const LURE_BALL ; $A0 - const FAST_BALL ; $A1 - const ITEM_A2 ; $A2 - const LIGHT_BALL ; $A3 - const FRIEND_BALL ; $A4 - const MOON_BALL ; $A5 - const LOVE_BALL ; $A6 - const NORMAL_BOX ; $A7 - const GORGEOUS_BOX ; $A8 - const SUN_STONE ; $A9 - const POLKADOT_BOW ; $AA - const ITEM_AB ; $AB - const UP_GRADE ; $AC - const BERRY ; $AD - const GOLD_BERRY ; $AE - const SQUIRTBOTTLE ; $AF - const ITEM_B0 ; $B0 - const PARK_BALL ; $B1 - const RAINBOW_WING ; $B2 - const ITEM_B3 ; $B3 - const BRICK_PIECE ; $B4 - const SURF_MAIL ; $B5 - const LITEBLUEMAIL ; $B6 - const PORTRAITMAIL ; $B7 - const LOVELY_MAIL ; $B8 - const EON_MAIL ; $B9 - const MORPH_MAIL ; $BA - const BLUESKY_MAIL ; $BB - const MUSIC_MAIL ; $BC - const MIRAGE_MAIL ; $BD - const ITEM_BE ; $BE + const NO_ITEM ; 00 + const MASTER_BALL ; 01 + const ULTRA_BALL ; 02 + const BRIGHTPOWDER ; 03 + const GREAT_BALL ; 04 + const POKE_BALL ; 05 + const TOWN_MAP ; 06 + const BICYCLE ; 07 + const MOON_STONE ; 08 + const ANTIDOTE ; 09 + const BURN_HEAL ; 0a + const ICE_HEAL ; 0b + const AWAKENING ; 0c + const PARLYZ_HEAL ; 0d + const FULL_RESTORE ; 0e + const MAX_POTION ; 0f + const HYPER_POTION ; 10 + const SUPER_POTION ; 11 + const POTION ; 12 + const ESCAPE_ROPE ; 13 + const REPEL ; 14 + const MAX_ELIXER ; 15 + const FIRE_STONE ; 16 + const THUNDERSTONE ; 17 + const WATER_STONE ; 18 + const ITEM_19 ; 19 + const HP_UP ; 1a + const PROTEIN ; 1b + const IRON ; 1c + const CARBOS ; 1d + const LUCKY_PUNCH ; 1e + const CALCIUM ; 1f + const RARE_CANDY ; 20 + const X_ACCURACY ; 21 + const LEAF_STONE ; 22 + const METAL_POWDER ; 23 + const NUGGET ; 24 + const POKE_DOLL ; 25 + const FULL_HEAL ; 26 + const REVIVE ; 27 + const MAX_REVIVE ; 28 + const GUARD_SPEC ; 29 + const SUPER_REPEL ; 2a + const MAX_REPEL ; 2b + const DIRE_HIT ; 2c + const ITEM_2D ; 2d + const FRESH_WATER ; 2e + const SODA_POP ; 2f + const LEMONADE ; 30 + const X_ATTACK ; 31 + const ITEM_32 ; 32 + const X_DEFEND ; 33 + const X_SPEED ; 34 + const X_SPECIAL ; 35 + const COIN_CASE ; 36 + const ITEMFINDER ; 37 + const POKE_FLUTE ; 38 + const EXP_SHARE ; 39 + const OLD_ROD ; 3a + const GOOD_ROD ; 3b + const SILVER_LEAF ; 3c + const SUPER_ROD ; 3d + const PP_UP ; 3e + const ETHER ; 3f + const MAX_ETHER ; 40 + const ELIXER ; 41 + const RED_SCALE ; 42 + const SECRETPOTION ; 43 + const S_S_TICKET ; 44 + const MYSTERY_EGG ; 45 + const ITEM_46 ; 46 + const SILVER_WING ; 47 + const MOOMOO_MILK ; 48 + const QUICK_CLAW ; 49 + const PSNCUREBERRY ; 4a + const GOLD_LEAF ; 4b + const SOFT_SAND ; 4c + const SHARP_BEAK ; 4d + const PRZCUREBERRY ; 4e + const BURNT_BERRY ; 4f + const ICE_BERRY ; 50 + const POISON_BARB ; 51 + const KINGS_ROCK ; 52 + const BITTER_BERRY ; 53 + const MINT_BERRY ; 54 + const RED_APRICORN ; 55 + const TINYMUSHROOM ; 56 + const BIG_MUSHROOM ; 57 + const SILVERPOWDER ; 58 + const BLU_APRICORN ; 59 + const ITEM_5A ; 5a + const AMULET_COIN ; 5b + const YLW_APRICORN ; 5c + const GRN_APRICORN ; 5d + const CLEANSE_TAG ; 5e + const MYSTIC_WATER ; 5f + const TWISTEDSPOON ; 60 + const WHT_APRICORN ; 61 + const BLACKBELT ; 62 + const BLK_APRICORN ; 63 + const ITEM_64 ; 64 + const PNK_APRICORN ; 65 + const BLACKGLASSES ; 66 + const SLOWPOKETAIL ; 67 + const PINK_BOW ; 68 + const STICK ; 69 + const SMOKE_BALL ; 6a + const NEVERMELTICE ; 6b + const MAGNET ; 6c + const MIRACLEBERRY ; 6d + const PEARL ; 6e + const BIG_PEARL ; 6f + const EVERSTONE ; 70 + const SPELL_TAG ; 71 + const RAGECANDYBAR ; 72 + const ITEM_73 ; 73 + const ITEM_74 ; 74 + const MIRACLE_SEED ; 75 + const THICK_CLUB ; 76 + const FOCUS_BAND ; 77 + const ITEM_78 ; 78 + const ENERGYPOWDER ; 79 + const ENERGY_ROOT ; 7a + const HEAL_POWDER ; 7b + const REVIVAL_HERB ; 7c + const HARD_STONE ; 7d + const LUCKY_EGG ; 7e + const CARD_KEY ; 7f + const MACHINE_PART ; 80 + const ITEM_81 ; 81 + const LOST_ITEM ; 82 + const STARDUST ; 83 + const STAR_PIECE ; 84 + const BASEMENT_KEY ; 85 + const PASS ; 86 + const ITEM_87 ; 87 + const ITEM_88 ; 88 + const ITEM_89 ; 89 + const CHARCOAL ; 8a + const BERRY_JUICE ; 8b + const SCOPE_LENS ; 8c + const ITEM_8D ; 8d + const ITEM_8E ; 8e + const METAL_COAT ; 8f + const DRAGON_FANG ; 90 + const ITEM_91 ; 91 + const LEFTOVERS ; 92 + const ITEM_93 ; 93 + const ITEM_94 ; 94 + const ITEM_95 ; 95 + const MYSTERYBERRY ; 96 + const DRAGON_SCALE ; 97 + const BERSERK_GENE ; 98 + const ITEM_99 ; 99 + const ITEM_9A ; 9a + const ITEM_9B ; 9b + const SACRED_ASH ; 9c + const HEAVY_BALL ; 9d + const FLOWER_MAIL ; 9e + const LEVEL_BALL ; 9f + const LURE_BALL ; a0 + const FAST_BALL ; a1 + const ITEM_A2 ; a2 + const LIGHT_BALL ; a3 + const FRIEND_BALL ; a4 + const MOON_BALL ; a5 + const LOVE_BALL ; a6 + const NORMAL_BOX ; a7 + const GORGEOUS_BOX ; a8 + const SUN_STONE ; a9 + const POLKADOT_BOW ; aa + const ITEM_AB ; ab + const UP_GRADE ; ac + const BERRY ; ad + const GOLD_BERRY ; ae + const SQUIRTBOTTLE ; af + const ITEM_B0 ; b0 + const PARK_BALL ; b1 + const RAINBOW_WING ; b2 + const ITEM_B3 ; b3 + const BRICK_PIECE ; b4 + const SURF_MAIL ; b5 + const LITEBLUEMAIL ; b6 + const PORTRAITMAIL ; b7 + const LOVELY_MAIL ; b8 + const EON_MAIL ; b9 + const MORPH_MAIL ; ba + const BLUESKY_MAIL ; bb + const MUSIC_MAIL ; bc + const MIRAGE_MAIL ; bd + const ITEM_BE ; be - add_tm DYNAMICPUNCH ; $BF - add_tm HEADBUTT ; $C0 - add_tm CURSE ; $C1 - add_tm ROLLOUT ; $C2 - const ITEM_C3 ; $C3 - add_tm ROAR ; $C4 - add_tm TOXIC ; $C5 - add_tm ZAP_CANNON ; $C6 - add_tm ROCK_SMASH ; $C7 - add_tm PSYCH_UP ; $C8 - add_tm HIDDEN_POWER ; $C9 - add_tm SUNNY_DAY ; $CA - add_tm SWEET_SCENT ; $CB - add_tm SNORE ; $CC - add_tm BLIZZARD ; $CD - add_tm HYPER_BEAM ; $CE - add_tm ICY_WIND ; $CF - add_tm PROTECT ; $D0 - add_tm RAIN_DANCE ; $D1 - add_tm GIGA_DRAIN ; $D2 - add_tm ENDURE ; $D3 - add_tm FRUSTRATION ; $D4 - add_tm SOLARBEAM ; $D5 - add_tm IRON_TAIL ; $D6 - add_tm DRAGONBREATH ; $D7 - add_tm THUNDER ; $D8 - add_tm EARTHQUAKE ; $D9 - add_tm RETURN ; $DA - add_tm DIG ; $DB - const ITEM_DC ; $DC - add_tm PSYCHIC_M ; $DD - add_tm SHADOW_BALL ; $DE - add_tm MUD_SLAP ; $DF - add_tm DOUBLE_TEAM ; $E0 - add_tm ICE_PUNCH ; $E1 - add_tm SWAGGER ; $E2 - add_tm SLEEP_TALK ; $E3 - add_tm SLUDGE_BOMB ; $E4 - add_tm SANDSTORM ; $E5 - add_tm FIRE_BLAST ; $E6 - add_tm SWIFT ; $E7 - add_tm DEFENSE_CURL ; $E8 - add_tm THUNDERPUNCH ; $E9 - add_tm DREAM_EATER ; $EA - add_tm DETECT ; $EB - add_tm REST ; $EC - add_tm ATTRACT ; $ED - add_tm THIEF ; $EE - add_tm STEEL_WING ; $EF - add_tm FIRE_PUNCH ; $F0 - add_tm FURY_CUTTER ; $F1 - add_tm NIGHTMARE ; $F2 -NUM_TMS = const_value - TM01 - 2 +add_tm: MACRO +if !DEF(TM01) +TM01 EQU const_value + enum_start 1 +endc + define _\@_1, "TM_\1" + const _\@_1 + enum \1_TMNUM +ENDM - add_hm CUT ; $F3 - add_hm FLY ; $F4 - add_hm SURF ; $F5 - add_hm STRENGTH ; $F6 - add_hm FLASH ; $F7 - add_hm WHIRLPOOL ; $F8 - add_hm WATERFALL ; $F9 -NUM_HMS = const_value - HM01 - const HM_08 ; $FA +; see data/moves/tmhm_moves.asm for moves + add_tm DYNAMICPUNCH ; bf + add_tm HEADBUTT ; c0 + add_tm CURSE ; c1 + add_tm ROLLOUT ; c2 + const ITEM_C3 ; c3 + add_tm ROAR ; c4 + add_tm TOXIC ; c5 + add_tm ZAP_CANNON ; c6 + add_tm ROCK_SMASH ; c7 + add_tm PSYCH_UP ; c8 + add_tm HIDDEN_POWER ; c9 + add_tm SUNNY_DAY ; ca + add_tm SWEET_SCENT ; cb + add_tm SNORE ; cc + add_tm BLIZZARD ; cd + add_tm HYPER_BEAM ; ce + add_tm ICY_WIND ; cf + add_tm PROTECT ; d0 + add_tm RAIN_DANCE ; d1 + add_tm GIGA_DRAIN ; d2 + add_tm ENDURE ; d3 + add_tm FRUSTRATION ; d4 + add_tm SOLARBEAM ; d5 + add_tm IRON_TAIL ; d6 + add_tm DRAGONBREATH ; d7 + add_tm THUNDER ; d8 + add_tm EARTHQUAKE ; d9 + add_tm RETURN ; da + add_tm DIG ; db + const ITEM_DC ; dc + add_tm PSYCHIC_M ; dd + add_tm SHADOW_BALL ; de + add_tm MUD_SLAP ; df + add_tm DOUBLE_TEAM ; e0 + add_tm ICE_PUNCH ; e1 + add_tm SWAGGER ; e2 + add_tm SLEEP_TALK ; e3 + add_tm SLUDGE_BOMB ; e4 + add_tm SANDSTORM ; e5 + add_tm FIRE_BLAST ; e6 + add_tm SWIFT ; e7 + add_tm DEFENSE_CURL ; e8 + add_tm THUNDERPUNCH ; e9 + add_tm DREAM_EATER ; ea + add_tm DETECT ; eb + add_tm REST ; ec + add_tm ATTRACT ; ed + add_tm THIEF ; ee + add_tm STEEL_WING ; ef + add_tm FIRE_PUNCH ; f0 + add_tm FURY_CUTTER ; f1 + add_tm NIGHTMARE ; f2 +NUM_TMS EQU const_value - TM01 - 2 ; discount ITEM_C3 and ITEM_DC -ITEM_FROM_MEM EQU $ff +add_hm: MACRO +if !DEF(HM01) +HM01 EQU const_value +endc + define _\@_1, "HM_\1" + const _\@_1 + enum \1_TMNUM +ENDM + add_hm CUT ; f3 + add_hm FLY ; f4 + add_hm SURF ; f5 + add_hm STRENGTH ; f6 + add_hm FLASH ; f7 + add_hm WHIRLPOOL ; f8 + add_hm WATERFALL ; f9 +NUM_HMS EQU const_value - HM01 -; leftovers from red -SAFARI_BALL EQU 8 ; MOON_STONE -MOON_STONE_RED EQU 10 ; BURN_HEAL -FULL_HEAL_RED EQU 52 ; X_SPEED -MAIL_MAX_LENGTH EQU $20 - - const_def - const MARTTYPE_STANDARD - const MARTTYPE_BITTER - const MARTTYPE_BARGAIN - const MARTTYPE_PHARMACY - const MARTTYPE_ROOFTOP +USE_SCRIPT_VAR EQU $00 +ITEM_FROM_MEM EQU $ff - const_def - const MART_CHERRYGROVE - const MART_CHERRYGROVE_DEX - const MART_VIOLET - const MART_AZALEA - const MART_CIANWOOD - const MART_GOLDENROD_2F_1 - const MART_GOLDENROD_2F_2 - const MART_GOLDENROD_3F - const MART_GOLDENROD_4F - const MART_GOLDENROD_5F_1 - const MART_GOLDENROD_5F_2 - const MART_GOLDENROD_5F_3 - const MART_GOLDENROD_5F_4 - const MART_OLIVINE - const MART_ECRUTEAK - const MART_MAHOGANY_1 - const MART_MAHOGANY_2 - const MART_BLACKTHORN - const MART_VIRIDIAN - const MART_PEWTER - const MART_CERULEAN - const MART_LAVENDER - const MART_VERMILION - const MART_CELADON_2F_1 - const MART_CELADON_2F_2 - const MART_CELADON_3F - const MART_CELADON_4F - const MART_CELADON_5F_1 - const MART_CELADON_5F_2 - const MART_FUCHSIA - const MART_SAFFRON - const MART_MT_MOON - const MART_INDIGO_PLATEAU - const MART_UNDERGROUND +; leftovers from red +SAFARI_BALL EQU $08 ; MOON_STONE +MOON_STONE_RED EQU $0a ; BURN_HEAL +FULL_HEAL_RED EQU $34 ; X_SPEED
\ No newline at end of file diff --git a/constants/mart_constants.asm b/constants/mart_constants.asm new file mode 100755 index 00000000..cffdfae0 --- /dev/null +++ b/constants/mart_constants.asm @@ -0,0 +1,43 @@ +; mart types (see engine/items/mart.asm) + const_def + const MARTTYPE_STANDARD + const MARTTYPE_BITTER + const MARTTYPE_BARGAIN + const MARTTYPE_PHARMACY + +; Marts indexes (see data/items/marts.asm) + const_def + const MART_CHERRYGROVE + const MART_CHERRYGROVE_DEX + const MART_VIOLET + const MART_AZALEA + const MART_CIANWOOD + const MART_GOLDENROD_2F_1 + const MART_GOLDENROD_2F_2 + const MART_GOLDENROD_3F + const MART_GOLDENROD_4F + const MART_GOLDENROD_5F_1 + const MART_GOLDENROD_5F_2 + const MART_GOLDENROD_5F_3 + const MART_GOLDENROD_5F_4 + const MART_OLIVINE + const MART_ECRUTEAK + const MART_MAHOGANY_1 + const MART_MAHOGANY_2 + const MART_BLACKTHORN + const MART_VIRIDIAN + const MART_PEWTER + const MART_CERULEAN + const MART_LAVENDER + const MART_VERMILION + const MART_CELADON_2F_1 + const MART_CELADON_2F_2 + const MART_CELADON_3F + const MART_CELADON_4F + const MART_CELADON_5F_1 + const MART_CELADON_5F_2 + const MART_FUCHSIA + const MART_SAFFRON + const MART_MT_MOON + const MART_INDIGO_PLATEAU + const MART_UNDERGROUND diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 7870fc84..b0db4e70 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -270,4 +270,4 @@ NUM_UNOWN_PUZZLES EQU const_value const_def 1 const MOVETUTOR_FLAMETHROWER ; 1 const MOVETUTOR_THUNDERBOLT ; 2 - const MOVETUTOR_ICE_BEAM ; 3 + const MOVETUTOR_ICE_BEAM ; 3
\ No newline at end of file diff --git a/constants/tilemap_constants.asm b/constants/tilemap_constants.asm index 5fe2beb9..0ead1444 100644 --- a/constants/tilemap_constants.asm +++ b/constants/tilemap_constants.asm @@ -1,9 +1,3 @@ -LANDTILE EQU 0 -WALLTILE EQU 1 -WATRTILE EQU 15 - -TALK EQU 1 << 4 - const_value SET 1 const_def 1 const TILESET_JOHTO ; 01 |