summaryrefslogtreecommitdiff
path: root/constants
diff options
context:
space:
mode:
Diffstat (limited to 'constants')
-rw-r--r--constants/battle_constants.asm540
-rw-r--r--constants/gfx_constants.asm79
-rw-r--r--constants/item_constants.asm12
-rw-r--r--constants/map_constants.asm2460
-rw-r--r--constants/music_constants.asm207
-rw-r--r--constants/pokemon_constants.asm5
-rw-r--r--constants/pokemon_data_constants.asm145
-rw-r--r--constants/sfx_constants.asm416
8 files changed, 1393 insertions, 2471 deletions
diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm
index 0ef6bb325..0811f6a89 100644
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -5,32 +5,35 @@ NUM_MOVES EQU 4
REST_TURNS EQU 2
-ATTACK EQU 0
-DEFENSE EQU 1
-SPEED EQU 2
-SP_ATTACK EQU 3
-SP_DEFENSE EQU 4
-ACCURACY EQU 5
-EVASION EQU 6
+ const_def
+ const ATTACK
+ const DEFENSE
+ const SPEED
+ const SP_ATTACK
+ const SP_DEFENSE
+ const ACCURACY
+ const EVASION
; move struct
-MOVE_LENGTH EQU 7
-MOVE_ANIM EQU 0
-MOVE_EFFECT EQU 1
-MOVE_POWER EQU 2
-MOVE_TYPE EQU 3
-MOVE_ACC EQU 4
-MOVE_PP EQU 5
-MOVE_CHANCE EQU 6
+ const_def
+ const MOVE_ANIM
+ const MOVE_EFFECT
+ const MOVE_POWER
+ const MOVE_TYPE
+ const MOVE_ACC
+ const MOVE_PP
+ const MOVE_CHANCE
+ const MOVE_LENGTH
; stat constants
-NUM_STATS EQU 6
-STAT_HP EQU 1
-STAT_ATK EQU 2
-STAT_DEF EQU 3
-STAT_SPD EQU 4
-STAT_SATK EQU 5
-STAT_SDEF EQU 6
+const_value SET 1
+ const STAT_HP
+ const STAT_ATK
+ const STAT_DEF
+ const STAT_SPD
+ const STAT_SATK
+ const STAT_SDEF
+NUM_STATS EQU const_value
STAT_MIN_NORMAL EQU 5
STAT_MIN_HP EQU 10
@@ -39,263 +42,276 @@ ATKDEFDV_SHINY EQU $EA
SPDSPCDV_SHINY EQU $AA
; battle classes
-WILD_BATTLE EQU 1
-TRAINER_BATTLE EQU 2
+const_value SET 1
+ const WILD_BATTLE
+ const TRAINER_BATTLE
; battle types
-BATTLETYPE_NORMAL EQU $00
-BATTLETYPE_CANLOSE EQU $01
-BATTLETYPE_TUTORIAL EQU $03
-BATTLETYPE_FISH EQU $04
-BATTLETYPE_ROAMING EQU $05
-BATTLETYPE_CONTEST EQU $06
-BATTLETYPE_SHINY EQU $07
-BATTLETYPE_TREE EQU $08
-BATTLETYPE_TRAP EQU $09
-BATTLETYPE_FORCEITEM EQU $0a
-BATTLETYPE_CELEBI EQU $0b
-BATTLETYPE_SUICUNE EQU $0c
+ const_def
+ const BATTLETYPE_NORMAL
+ const BATTLETYPE_CANLOSE
+ const BATTLETYPE_DEBUG
+ const BATTLETYPE_TUTORIAL
+ const BATTLETYPE_FISH
+ const BATTLETYPE_ROAMING
+ const BATTLETYPE_CONTEST
+ const BATTLETYPE_SHINY
+ const BATTLETYPE_TREE
+ const BATTLETYPE_TRAP
+ const BATTLETYPE_FORCEITEM
+ const BATTLETYPE_CELEBI
+ const BATTLETYPE_SUICUNE
; battle variables
-BATTLE_VARS_SUBSTATUS1 EQU 0
-BATTLE_VARS_SUBSTATUS2 EQU 1
-BATTLE_VARS_SUBSTATUS3 EQU 2
-BATTLE_VARS_SUBSTATUS4 EQU 3
-BATTLE_VARS_SUBSTATUS5 EQU 4
-BATTLE_VARS_SUBSTATUS1_OPP EQU 5
-BATTLE_VARS_SUBSTATUS2_OPP EQU 6
-BATTLE_VARS_SUBSTATUS3_OPP EQU 7
-BATTLE_VARS_SUBSTATUS4_OPP EQU 8
-BATTLE_VARS_SUBSTATUS5_OPP EQU 9
-BATTLE_VARS_STATUS EQU 10
-BATTLE_VARS_STATUS_OPP EQU 11
-BATTLE_VARS_MOVE_ANIM EQU 12
-BATTLE_VARS_MOVE_EFFECT EQU 13
-BATTLE_VARS_MOVE_POWER EQU 14
-BATTLE_VARS_MOVE_TYPE EQU 15
-BATTLE_VARS_MOVE EQU 16
-BATTLE_VARS_LAST_COUNTER_MOVE EQU 17
-BATTLE_VARS_LAST_COUNTER_MOVE_OPP EQU 18
-BATTLE_VARS_LAST_MOVE EQU 19
-BATTLE_VARS_LAST_MOVE_OPP EQU 20
+ const_def
+ const BATTLE_VARS_SUBSTATUS1
+ const BATTLE_VARS_SUBSTATUS2
+ const BATTLE_VARS_SUBSTATUS3
+ const BATTLE_VARS_SUBSTATUS4
+ const BATTLE_VARS_SUBSTATUS5
+ const BATTLE_VARS_SUBSTATUS1_OPP
+ const BATTLE_VARS_SUBSTATUS2_OPP
+ const BATTLE_VARS_SUBSTATUS3_OPP
+ const BATTLE_VARS_SUBSTATUS4_OPP
+ const BATTLE_VARS_SUBSTATUS5_OPP
+ const BATTLE_VARS_STATUS
+ const BATTLE_VARS_STATUS_OPP
+ const BATTLE_VARS_MOVE_ANIM
+ const BATTLE_VARS_MOVE_EFFECT
+ const BATTLE_VARS_MOVE_POWER
+ const BATTLE_VARS_MOVE_TYPE
+ const BATTLE_VARS_MOVE
+ const BATTLE_VARS_LAST_COUNTER_MOVE
+ const BATTLE_VARS_LAST_COUNTER_MOVE_OPP
+ const BATTLE_VARS_LAST_MOVE
+ const BATTLE_VARS_LAST_MOVE_OPP
; status
-SLP EQU 7 ; 7 turns
-PSN EQU 3
-BRN EQU 4
-FRZ EQU 5
-PAR EQU 6
+const_value SET 3
+ const PSN
+ const BRN
+ const FRZ
+ const PAR
+ const SLP ; 7 turns
; substatus
-SUBSTATUS_IN_LOVE EQU 7
-SUBSTATUS_ROLLOUT EQU 6
-SUBSTATUS_ENDURE EQU 5
-SUBSTATUS_PERISH EQU 4
-SUBSTATUS_IDENTIFIED EQU 3
-SUBSTATUS_PROTECT EQU 2
-SUBSTATUS_CURSE EQU 1
-SUBSTATUS_NIGHTMARE EQU 0
+ enum_start 7, -1
+ enum SUBSTATUS_IN_LOVE
+ enum SUBSTATUS_ROLLOUT
+ enum SUBSTATUS_ENDURE
+ enum SUBSTATUS_PERISH
+ enum SUBSTATUS_IDENTIFIED
+ enum SUBSTATUS_PROTECT
+ enum SUBSTATUS_CURSE
+ enum SUBSTATUS_NIGHTMARE
SUBSTATUS_CURLED EQU 0
-SUBSTATUS_CONFUSED EQU 7
-SUBSTATUS_FLYING EQU 6
-SUBSTATUS_UNDERGROUND EQU 5
-SUBSTATUS_CHARGED EQU 4
-SUBSTATUS_FLINCHED EQU 3
-SUBSTATUS_IN_LOOP EQU 2
-SUBSTATUS_RAMPAGE EQU 1
-SUBSTATUS_BIDE EQU 0
+ enum_start 7, -1
+ enum SUBSTATUS_CONFUSED
+ enum SUBSTATUS_FLYING
+ enum SUBSTATUS_UNDERGROUND
+ enum SUBSTATUS_CHARGED
+ enum SUBSTATUS_FLINCHED
+ enum SUBSTATUS_IN_LOOP
+ enum SUBSTATUS_RAMPAGE
+ enum SUBSTATUS_BIDE
-SUBSTATUS_LEECH_SEED EQU 7
-SUBSTATUS_RAGE EQU 6
-SUBSTATUS_RECHARGE EQU 5
-SUBSTATUS_SUBSTITUTE EQU 4
-; EQU 3
-SUBSTATUS_FOCUS_ENERGY EQU 2
-SUBSTATUS_MIST EQU 1
-SUBSTATUS_X_ACCURACY EQU 0
+ enum_start 7, -1
+ enum SUBSTATUS_LEECH_SEED
+ enum SUBSTATUS_RAGE
+ enum SUBSTATUS_RECHARGE
+ enum SUBSTATUS_SUBSTITUTE
+ enum SUBSTATUS_UNKNOWN_1
+ enum SUBSTATUS_FOCUS_ENERGY
+ enum SUBSTATUS_MIST
+ enum SUBSTATUS_X_ACCURACY
-SUBSTATUS_CANT_RUN EQU 7
-SUBSTATUS_DESTINY_BOND EQU 6
-SUBSTATUS_LOCK_ON EQU 5
-SUBSTATUS_ENCORED EQU 4
-SUBSTATUS_TRANSFORMED EQU 3
-; EQU 2
-; EQU 1
-SUBSTATUS_TOXIC EQU 0
+ enum_start 7, -1
+ enum SUBSTATUS_CANT_RUN
+ enum SUBSTATUS_DESTINY_BOND
+ enum SUBSTATUS_LOCK_ON
+ enum SUBSTATUS_ENCORED
+ enum SUBSTATUS_TRANSFORMED
+ enum SUBSTATUS_UNKNOWN_2
+ enum SUBSTATUS_UNKNOWN_3
+ enum SUBSTATUS_TOXIC
; environmental
-SCREENS_REFLECT EQU 4
-SCREENS_LIGHT_SCREEN EQU 3
-SCREENS_SAFEGUARD EQU 2
-SCREENS_SPIKES EQU 0
+ enum_start 4, -1
+ enum SCREENS_REFLECT
+ enum SCREENS_LIGHT_SCREEN
+ enum SCREENS_SAFEGUARD
+ enum SCREENS_UNUSED
+ enum SCREENS_SPIKES
; weather
-WEATHER_NONE EQU 0
-WEATHER_RAIN EQU 1
-WEATHER_SUN EQU 2
-WEATHER_SANDSTORM EQU 3
-WEATHER_RAIN_END EQU 4
-WEATHER_SUN_END EQU 5
-WEATHER_SANDSTORM_END EQU 6
+ const_def
+ const WEATHER_NONE
+ const WEATHER_RAIN
+ const WEATHER_SUN
+ const WEATHER_SANDSTORM
+ const WEATHER_RAIN_END
+ const WEATHER_SUN_END
+ const WEATHER_SANDSTORM_END
; move effects
-EFFECT_NORMAL_HIT EQU $00
-EFFECT_SLEEP EQU $01
-EFFECT_POISON_HIT EQU $02
-EFFECT_LEECH_HIT EQU $03
-EFFECT_BURN_HIT EQU $04
-EFFECT_FREEZE_HIT EQU $05
-EFFECT_PARALYZE_HIT EQU $06
-EFFECT_EXPLOSION EQU $07
-EFFECT_DREAM_EATER EQU $08
-EFFECT_MIRROR_MOVE EQU $09
-EFFECT_ATTACK_UP EQU $0a
-EFFECT_DEFENSE_UP EQU $0b
-EFFECT_SPEED_UP EQU $0c
-EFFECT_SP_ATK_UP EQU $0d
-EFFECT_SP_DEF_UP EQU $0e
-EFFECT_ACCURACY_UP EQU $0f
-EFFECT_EVASION_UP EQU $10
-EFFECT_ALWAYS_HIT EQU $11
-EFFECT_ATTACK_DOWN EQU $12
-EFFECT_DEFENSE_DOWN EQU $13
-EFFECT_SPEED_DOWN EQU $14
-EFFECT_SP_ATK_DOWN EQU $15
-EFFECT_SP_DEF_DOWN EQU $16
-EFFECT_ACCURACY_DOWN EQU $17
-EFFECT_EVASION_DOWN EQU $18
-EFFECT_HAZE EQU $19
-EFFECT_BIDE EQU $1a
-EFFECT_RAMPAGE EQU $1b
-EFFECT_WHIRLWIND EQU $1c
-EFFECT_MULTI_HIT EQU $1d
-EFFECT_CONVERSION EQU $1e
-EFFECT_FLINCH_HIT EQU $1f
-EFFECT_HEAL EQU $20
-EFFECT_TOXIC EQU $21
-EFFECT_PAY_DAY EQU $22
-EFFECT_LIGHT_SCREEN EQU $23
-EFFECT_TRI_ATTACK EQU $24
-EFFECT_UNUSED_25 EQU $25 ; unused
-EFFECT_OHKO EQU $26
-EFFECT_RAZOR_WIND EQU $27
-EFFECT_SUPER_FANG EQU $28
-EFFECT_STATIC_DAMAGE EQU $29
-EFFECT_BIND EQU $2a
-EFFECT_UNUSED_2B EQU $2b ; unused
-EFFECT_DOUBLE_HIT EQU $2c
-EFFECT_JUMP_KICK EQU $2d
-EFFECT_MIST EQU $2e
-EFFECT_FOCUS_ENERGY EQU $2f
-EFFECT_RECOIL_HIT EQU $30
-EFFECT_CONFUSE EQU $31
-EFFECT_ATTACK_UP_2 EQU $32
-EFFECT_DEFENSE_UP_2 EQU $33
-EFFECT_SPEED_UP_2 EQU $34
-EFFECT_SP_ATK_UP_2 EQU $35
-EFFECT_SP_DEF_UP_2 EQU $36
-EFFECT_ACCURACY_UP_2 EQU $37
-EFFECT_EVASION_UP_2 EQU $38
-EFFECT_TRANSFORM EQU $39
-EFFECT_ATTACK_DOWN_2 EQU $3a
-EFFECT_DEFENSE_DOWN_2 EQU $3b
-EFFECT_SPEED_DOWN_2 EQU $3c
-EFFECT_SP_ATK_DOWN_2 EQU $3d
-EFFECT_SP_DEF_DOWN_2 EQU $3e
-EFFECT_ACCURACY_DOWN_2 EQU $3f
-EFFECT_EVASION_DOWN_2 EQU $40
-EFFECT_REFLECT EQU $41
-EFFECT_POISON EQU $42
-EFFECT_PARALYZE EQU $43
-EFFECT_ATTACK_DOWN_HIT EQU $44
-EFFECT_DEFENSE_DOWN_HIT EQU $45
-EFFECT_SPEED_DOWN_HIT EQU $46
-EFFECT_SP_ATK_DOWN_HIT EQU $47
-EFFECT_SP_DEF_DOWN_HIT EQU $48
-EFFECT_ACCURACY_DOWN_HIT EQU $49
-EFFECT_EVASION_DOWN_HIT EQU $4a
-EFFECT_SKY_ATTACK EQU $4b
-EFFECT_CONFUSE_HIT EQU $4c
-EFFECT_TWINEEDLE EQU $4d
-EFFECT_UNUSED_4E EQU $4e ; unused
-EFFECT_SUBSTITUTE EQU $4f
-EFFECT_HYPER_BEAM EQU $50
-EFFECT_RAGE EQU $51
-EFFECT_MIMIC EQU $52
-EFFECT_METRONOME EQU $53
-EFFECT_LEECH_SEED EQU $54
-EFFECT_SPLASH EQU $55
-EFFECT_DISABLE EQU $56
-EFFECT_LEVEL_DAMAGE EQU $57
-EFFECT_PSYWAVE EQU $58
-EFFECT_COUNTER EQU $59
-EFFECT_ENCORE EQU $5a
-EFFECT_PAIN_SPLIT EQU $5b
-EFFECT_SNORE EQU $5c
-EFFECT_CONVERSION2 EQU $5d
-EFFECT_LOCK_ON EQU $5e
-EFFECT_SKETCH EQU $5f
-EFFECT_DEFROST_OPPONENT EQU $60
-EFFECT_SLEEP_TALK EQU $61
-EFFECT_DESTINY_BOND EQU $62
-EFFECT_REVERSAL EQU $63
-EFFECT_SPITE EQU $64
-EFFECT_FALSE_SWIPE EQU $65
-EFFECT_HEAL_BELL EQU $66
-EFFECT_PRIORITY_HIT EQU $67
-EFFECT_TRIPLE_KICK EQU $68
-EFFECT_THIEF EQU $69
-EFFECT_MEAN_LOOK EQU $6a
-EFFECT_NIGHTMARE EQU $6b
-EFFECT_FLAME_WHEEL EQU $6c
-EFFECT_CURSE EQU $6d
-EFFECT_UNUSED_6E EQU $6e ; unused
-EFFECT_PROTECT EQU $6f
-EFFECT_SPIKES EQU $70
-EFFECT_FORESIGHT EQU $71
-EFFECT_PERISH_SONG EQU $72
-EFFECT_SANDSTORM EQU $73
-EFFECT_ENDURE EQU $74
-EFFECT_ROLLOUT EQU $75
-EFFECT_SWAGGER EQU $76
-EFFECT_FURY_CUTTER EQU $77
-EFFECT_ATTRACT EQU $78
-EFFECT_RETURN EQU $79
-EFFECT_PRESENT EQU $7a
-EFFECT_FRUSTRATION EQU $7b
-EFFECT_SAFEGUARD EQU $7c
-EFFECT_SACRED_FIRE EQU $7d
-EFFECT_MAGNITUDE EQU $7e
-EFFECT_BATON_PASS EQU $7f
-EFFECT_PURSUIT EQU $80
-EFFECT_RAPID_SPIN EQU $81
-EFFECT_UNUSED_82 EQU $82 ; unused
-EFFECT_UNUSED_83 EQU $83 ; unused
-EFFECT_MORNING_SUN EQU $84
-EFFECT_SYNTHESIS EQU $85
-EFFECT_MOONLIGHT EQU $86
-EFFECT_HIDDEN_POWER EQU $87
-EFFECT_RAIN_DANCE EQU $88
-EFFECT_SUNNY_DAY EQU $89
-EFFECT_STEEL_WING EQU $8a
-EFFECT_METAL_CLAW EQU $8b
-EFFECT_ANCIENTPOWER EQU $8c
-EFFECT_FAKE_OUT EQU $8d
-EFFECT_BELLY_DRUM EQU $8e
-EFFECT_PSYCH_UP EQU $8f
-EFFECT_MIRROR_COAT EQU $90
-EFFECT_SKULL_BASH EQU $91
-EFFECT_TWISTER EQU $92
-EFFECT_EARTHQUAKE EQU $93
-EFFECT_FUTURE_SIGHT EQU $94
-EFFECT_GUST EQU $95
-EFFECT_STOMP EQU $96
-EFFECT_SOLARBEAM EQU $97
-EFFECT_THUNDER EQU $98
-EFFECT_TELEPORT EQU $99
-EFFECT_BEAT_UP EQU $9a
-EFFECT_FLY EQU $9b
-EFFECT_DEFENSE_CURL EQU $9c
+ const_def
+ const EFFECT_NORMAL_HIT
+ const EFFECT_SLEEP
+ const EFFECT_POISON_HIT
+ const EFFECT_LEECH_HIT
+ const EFFECT_BURN_HIT
+ const EFFECT_FREEZE_HIT
+ const EFFECT_PARALYZE_HIT
+ const EFFECT_EXPLOSION
+ const EFFECT_DREAM_EATER
+ const EFFECT_MIRROR_MOVE
+ const EFFECT_ATTACK_UP
+ const EFFECT_DEFENSE_UP
+ const EFFECT_SPEED_UP
+ const EFFECT_SP_ATK_UP
+ const EFFECT_SP_DEF_UP
+ const EFFECT_ACCURACY_UP
+ const EFFECT_EVASION_UP
+ const EFFECT_ALWAYS_HIT
+ const EFFECT_ATTACK_DOWN
+ const EFFECT_DEFENSE_DOWN
+ const EFFECT_SPEED_DOWN
+ const EFFECT_SP_ATK_DOWN
+ const EFFECT_SP_DEF_DOWN
+ const EFFECT_ACCURACY_DOWN
+ const EFFECT_EVASION_DOWN
+ const EFFECT_HAZE
+ const EFFECT_BIDE
+ const EFFECT_RAMPAGE
+ const EFFECT_WHIRLWIND
+ const EFFECT_MULTI_HIT
+ const EFFECT_CONVERSION
+ const EFFECT_FLINCH_HIT
+ const EFFECT_HEAL
+ const EFFECT_TOXIC
+ const EFFECT_PAY_DAY
+ const EFFECT_LIGHT_SCREEN
+ const EFFECT_TRI_ATTACK
+ const EFFECT_UNUSED_25
+ const EFFECT_OHKO
+ const EFFECT_RAZOR_WIND
+ const EFFECT_SUPER_FANG
+ const EFFECT_STATIC_DAMAGE
+ const EFFECT_BIND
+ const EFFECT_UNUSED_2B
+ const EFFECT_DOUBLE_HIT
+ const EFFECT_JUMP_KICK
+ const EFFECT_MIST
+ const EFFECT_FOCUS_ENERGY
+ const EFFECT_RECOIL_HIT
+ const EFFECT_CONFUSE
+ const EFFECT_ATTACK_UP_2
+ const EFFECT_DEFENSE_UP_2
+ const EFFECT_SPEED_UP_2
+ const EFFECT_SP_ATK_UP_2
+ const EFFECT_SP_DEF_UP_2
+ const EFFECT_ACCURACY_UP_2
+ const EFFECT_EVASION_UP_2
+ const EFFECT_TRANSFORM
+ const EFFECT_ATTACK_DOWN_2
+ const EFFECT_DEFENSE_DOWN_2
+ const EFFECT_SPEED_DOWN_2
+ const EFFECT_SP_ATK_DOWN_2
+ const EFFECT_SP_DEF_DOWN_2
+ const EFFECT_ACCURACY_DOWN_2
+ const EFFECT_EVASION_DOWN_2
+ const EFFECT_REFLECT
+ const EFFECT_POISON
+ const EFFECT_PARALYZE
+ const EFFECT_ATTACK_DOWN_HIT
+ const EFFECT_DEFENSE_DOWN_HIT
+ const EFFECT_SPEED_DOWN_HIT
+ const EFFECT_SP_ATK_DOWN_HIT
+ const EFFECT_SP_DEF_DOWN_HIT
+ const EFFECT_ACCURACY_DOWN_HIT
+ const EFFECT_EVASION_DOWN_HIT
+ const EFFECT_SKY_ATTACK
+ const EFFECT_CONFUSE_HIT
+ const EFFECT_TWINEEDLE
+ const EFFECT_UNUSED_4E
+ const EFFECT_SUBSTITUTE
+ const EFFECT_HYPER_BEAM
+ const EFFECT_RAGE
+ const EFFECT_MIMIC
+ const EFFECT_METRONOME
+ const EFFECT_LEECH_SEED
+ const EFFECT_SPLASH
+ const EFFECT_DISABLE
+ const EFFECT_LEVEL_DAMAGE
+ const EFFECT_PSYWAVE
+ const EFFECT_COUNTER
+ const EFFECT_ENCORE
+ const EFFECT_PAIN_SPLIT
+ const EFFECT_SNORE
+ const EFFECT_CONVERSION2
+ const EFFECT_LOCK_ON
+ const EFFECT_SKETCH
+ const EFFECT_DEFROST_OPPONENT
+ const EFFECT_SLEEP_TALK
+ const EFFECT_DESTINY_BOND
+ const EFFECT_REVERSAL
+ const EFFECT_SPITE
+ const EFFECT_FALSE_SWIPE
+ const EFFECT_HEAL_BELL
+ const EFFECT_PRIORITY_HIT
+ const EFFECT_TRIPLE_KICK
+ const EFFECT_THIEF
+ const EFFECT_MEAN_LOOK
+ const EFFECT_NIGHTMARE
+ const EFFECT_FLAME_WHEEL
+ const EFFECT_CURSE
+ const EFFECT_UNUSED_6E
+ const EFFECT_PROTECT
+ const EFFECT_SPIKES
+ const EFFECT_FORESIGHT
+ const EFFECT_PERISH_SONG
+ const EFFECT_SANDSTORM
+ const EFFECT_ENDURE
+ const EFFECT_ROLLOUT
+ const EFFECT_SWAGGER
+ const EFFECT_FURY_CUTTER
+ const EFFECT_ATTRACT
+ const EFFECT_RETURN
+ const EFFECT_PRESENT
+ const EFFECT_FRUSTRATION
+ const EFFECT_SAFEGUARD
+ const EFFECT_SACRED_FIRE
+ const EFFECT_MAGNITUDE
+ const EFFECT_BATON_PASS
+ const EFFECT_PURSUIT
+ const EFFECT_RAPID_SPIN
+ const EFFECT_UNUSED_82
+ const EFFECT_UNUSED_83
+ const EFFECT_MORNING_SUN
+ const EFFECT_SYNTHESIS
+ const EFFECT_MOONLIGHT
+ const EFFECT_HIDDEN_POWER
+ const EFFECT_RAIN_DANCE
+ const EFFECT_SUNNY_DAY
+ const EFFECT_STEEL_WING
+ const EFFECT_METAL_CLAW
+ const EFFECT_ANCIENTPOWER
+ const EFFECT_FAKE_OUT
+ const EFFECT_BELLY_DRUM
+ const EFFECT_PSYCH_UP
+ const EFFECT_MIRROR_COAT
+ const EFFECT_SKULL_BASH
+ const EFFECT_TWISTER
+ const EFFECT_EARTHQUAKE
+ const EFFECT_FUTURE_SIGHT
+ const EFFECT_GUST
+ const EFFECT_STOMP
+ const EFFECT_SOLARBEAM
+ const EFFECT_THUNDER
+ const EFFECT_TELEPORT
+ const EFFECT_BEAT_UP
+ const EFFECT_FLY
+ const EFFECT_DEFENSE_CURL
diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm
index b10700d43..c5f8517ac 100644
--- a/constants/gfx_constants.asm
+++ b/constants/gfx_constants.asm
@@ -1,39 +1,40 @@
-ANIM_GFX_HIT EQU 1
-ANIM_GFX_CUT EQU 2
-ANIM_GFX_FIRE EQU 3
-ANIM_GFX_WATER EQU 4
-ANIM_GFX_LIGHTNING EQU 5
-ANIM_GFX_PLANT EQU 6
-ANIM_GFX_SMOKE EQU 7
-ANIM_GFX_EXPLOSION EQU 8
-ANIM_GFX_ROCKS EQU 9
-ANIM_GFX_ICE EQU 10
-ANIM_GFX_POKE_BALL EQU 11
-ANIM_GFX_POISON EQU 12
-ANIM_GFX_BUBBLE EQU 13
-ANIM_GFX_NOISE EQU 14
-ANIM_GFX_POWDER EQU 15
-ANIM_GFX_BEAM EQU 16
-ANIM_GFX_SPEED EQU 17
-ANIM_GFX_CHARGE EQU 18
-ANIM_GFX_WIND EQU 19
-ANIM_GFX_WHIP EQU 20
-ANIM_GFX_EGG EQU 21
-ANIM_GFX_ROPE EQU 22
-ANIM_GFX_PSYCHIC EQU 23
-ANIM_GFX_REFLECT EQU 24
-ANIM_GFX_STATUS EQU 25
-ANIM_GFX_SAND EQU 26
-ANIM_GFX_WEB EQU 27
-ANIM_GFX_HAZE EQU 28
-ANIM_GFX_HORN EQU 29
-ANIM_GFX_FLOWER EQU 30
-ANIM_GFX_MISC EQU 31
-ANIM_GFX_SKY_ATTACK EQU 32
-ANIM_GFX_GLOBE EQU 33
-ANIM_GFX_SHAPES EQU 34
-ANIM_GFX_OBJECTS EQU 35
-ANIM_GFX_SHINE EQU 36
-ANIM_GFX_ANGELS EQU 37
-ANIM_GFX_WAVE EQU 38
-ANIM_GFX_AEROBLAST EQU 39
+const_value SET 1
+ const ANIM_GFX_HIT
+ const ANIM_GFX_CUT
+ const ANIM_GFX_FIRE
+ const ANIM_GFX_WATER
+ const ANIM_GFX_LIGHTNING
+ const ANIM_GFX_PLANT
+ const ANIM_GFX_SMOKE
+ const ANIM_GFX_EXPLOSION
+ const ANIM_GFX_ROCKS
+ const ANIM_GFX_ICE
+ const ANIM_GFX_POKE_BALL
+ const ANIM_GFX_POISON
+ const ANIM_GFX_BUBBLE
+ const ANIM_GFX_NOISE
+ const ANIM_GFX_POWDER
+ const ANIM_GFX_BEAM
+ const ANIM_GFX_SPEED
+ const ANIM_GFX_CHARGE
+ const ANIM_GFX_WIND
+ const ANIM_GFX_WHIP
+ const ANIM_GFX_EGG
+ const ANIM_GFX_ROPE
+ const ANIM_GFX_PSYCHIC
+ const ANIM_GFX_REFLECT
+ const ANIM_GFX_STATUS
+ const ANIM_GFX_SAND
+ const ANIM_GFX_WEB
+ const ANIM_GFX_HAZE
+ const ANIM_GFX_HORN
+ const ANIM_GFX_FLOWER
+ const ANIM_GFX_MISC
+ const ANIM_GFX_SKY_ATTACK
+ const ANIM_GFX_GLOBE
+ const ANIM_GFX_SHAPES
+ const ANIM_GFX_OBJECTS
+ const ANIM_GFX_SHINE
+ const ANIM_GFX_ANGELS
+ const ANIM_GFX_WAVE
+ const ANIM_GFX_AEROBLAST
diff --git a/constants/item_constants.asm b/constants/item_constants.asm
index 64c387b2f..b891a2c3e 100644
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -291,7 +291,7 @@ CANT_TOSS EQU 1 << 7
const HELD_7
const HELD_CLEANSE_TAG
-const_value = 10
+const_value SET 10
const HELD_HEAL_POISON
const HELD_HEAL_FREEZE
const HELD_HEAL_BURN
@@ -300,7 +300,7 @@ const_value = 10
const HELD_HEAL_STATUS
const HELD_HEAL_CONFUSION
-const_value = 20
+const_value SET 20
const HELD_PREVENT_POISON
const HELD_PREVENT_BURN
const HELD_PREVENT_FREEZE
@@ -308,7 +308,7 @@ const_value = 20
const HELD_PREVENT_PARALYZE
const HELD_PREVENT_CONFUSE
-const_value = 30
+const_value SET 30
const HELD_30
const HELD_ATTACK_UP
const HELD_DEFENSE_UP
@@ -318,12 +318,12 @@ const_value = 30
const HELD_ACCURACY_UP
const HELD_EVASION_UP
-const_value = 40
+const_value SET 40
const HELD_40
const HELD_41
const HELD_METAL_POWDER
-const_value = 50
+const_value SET 50
const HELD_NORMAL_BOOST
const HELD_FIGHTING_BOOST
const HELD_FLYING_BOOST
@@ -342,7 +342,7 @@ const_value = 50
const HELD_DARK_BOOST
const HELD_STEEL_BOOST
-const_value = 70
+const_value SET 70
const HELD_CATCH_CHANCE
const HELD_71
const HELD_ESCAPE
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index 030b89840..0067ca9ed 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -2,1806 +2,698 @@ GROUP_N_A EQU -1
MAP_N_A EQU -1
; map group ids
-GROUP_OLIVINE_POKECENTER_1F EQU $01
-GROUP_OLIVINE_GYM EQU $01
-GROUP_OLIVINE_VOLTORB_HOUSE EQU $01
-GROUP_OLIVINE_HOUSE_BETA EQU $01
-GROUP_OLIVINE_PUNISHMENT_SPEECH_HOUSE EQU $01
-GROUP_OLIVINE_GOOD_ROD_HOUSE EQU $01
-GROUP_OLIVINE_CAFE EQU $01
-GROUP_OLIVINE_MART EQU $01
-GROUP_ROUTE_38_ECRUTEAK_GATE EQU $01
-GROUP_ROUTE_39_BARN EQU $01
-GROUP_ROUTE_39_FARMHOUSE EQU $01
-GROUP_ROUTE_38 EQU $01
-GROUP_ROUTE_39 EQU $01
-GROUP_OLIVINE_CITY EQU $01
-GROUP_MAHOGANY_RED_GYARADOS_SPEECH_HOUSE EQU $02
-GROUP_MAHOGANY_GYM EQU $02
-GROUP_MAHOGANY_POKECENTER_1F EQU $02
-GROUP_ROUTE_42_ECRUTEAK_GATE EQU $02
-GROUP_ROUTE_42 EQU $02
-GROUP_ROUTE_44 EQU $02
-GROUP_MAHOGANY_TOWN EQU $02
-GROUP_SPROUT_TOWER_1F EQU $03
-GROUP_SPROUT_TOWER_2F EQU $03
-GROUP_SPROUT_TOWER_3F EQU $03
-GROUP_TIN_TOWER_1F EQU $03
-GROUP_TIN_TOWER_2F EQU $03
-GROUP_TIN_TOWER_3F EQU $03
-GROUP_TIN_TOWER_4F EQU $03
-GROUP_TIN_TOWER_5F EQU $03
-GROUP_TIN_TOWER_6F EQU $03
-GROUP_TIN_TOWER_7F EQU $03
-GROUP_TIN_TOWER_8F EQU $03
-GROUP_TIN_TOWER_9F EQU $03
-GROUP_BURNED_TOWER_1F EQU $03
-GROUP_BURNED_TOWER_B1F EQU $03
-GROUP_NATIONAL_PARK EQU $03
-GROUP_NATIONAL_PARK_BUG_CONTEST EQU $03
-GROUP_RADIO_TOWER_1F EQU $03
-GROUP_RADIO_TOWER_2F EQU $03
-GROUP_RADIO_TOWER_3F EQU $03
-GROUP_RADIO_TOWER_4F EQU $03
-GROUP_RADIO_TOWER_5F EQU $03
-GROUP_RUINS_OF_ALPH_OUTSIDE EQU $03
-GROUP_RUINS_OF_ALPH_HO_OH_CHAMBER EQU $03
-GROUP_RUINS_OF_ALPH_KABUTO_CHAMBER EQU $03
-GROUP_RUINS_OF_ALPH_OMANYTE_CHAMBER EQU $03
-GROUP_RUINS_OF_ALPH_AERODACTYL_CHAMBER EQU $03
-GROUP_RUINS_OF_ALPH_INNER_CHAMBER EQU $03
-GROUP_RUINS_OF_ALPH_RESEARCH_CENTER EQU $03
-GROUP_RUINS_OF_ALPH_HO_OH_ITEM_ROOM EQU $03
-GROUP_RUINS_OF_ALPH_KABUTO_ITEM_ROOM EQU $03
-GROUP_RUINS_OF_ALPH_OMANYTE_ITEM_ROOM EQU $03
-GROUP_RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM EQU $03
-GROUP_RUINS_OF_ALPH_HO_OH_WORD_ROOM EQU $03
-GROUP_RUINS_OF_ALPH_KABUTO_WORD_ROOM EQU $03
-GROUP_RUINS_OF_ALPH_OMANYTE_WORD_ROOM EQU $03
-GROUP_RUINS_OF_ALPH_AERODACTYL_WORD_ROOM EQU $03
-GROUP_UNION_CAVE_1F EQU $03
-GROUP_UNION_CAVE_B1F EQU $03
-GROUP_UNION_CAVE_B2F EQU $03
-GROUP_SLOWPOKE_WELL_B1F EQU $03
-GROUP_SLOWPOKE_WELL_B2F EQU $03
-GROUP_OLIVINE_LIGHTHOUSE_1F EQU $03
-GROUP_OLIVINE_LIGHTHOUSE_2F EQU $03
-GROUP_OLIVINE_LIGHTHOUSE_3F EQU $03
-GROUP_OLIVINE_LIGHTHOUSE_4F EQU $03
-GROUP_OLIVINE_LIGHTHOUSE_5F EQU $03
-GROUP_OLIVINE_LIGHTHOUSE_6F EQU $03
-GROUP_MAHOGANY_MART_1F EQU $03
-GROUP_TEAM_ROCKET_BASE_B1F EQU $03
-GROUP_TEAM_ROCKET_BASE_B2F EQU $03
-GROUP_TEAM_ROCKET_BASE_B3F EQU $03
-GROUP_ILEX_FOREST EQU $03
-GROUP_WAREHOUSE_ENTRANCE EQU $03
-GROUP_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES EQU $03
-GROUP_GOLDENROD_DEPT_STORE_B1F EQU $03
-GROUP_UNDERGROUND_WAREHOUSE EQU $03
-GROUP_MOUNT_MORTAR_1F_OUTSIDE EQU $03
-GROUP_MOUNT_MORTAR_1F_INSIDE EQU $03
-GROUP_MOUNT_MORTAR_2F_INSIDE EQU $03
-GROUP_MOUNT_MORTAR_B1F EQU $03
-GROUP_ICE_PATH_1F EQU $03
-GROUP_ICE_PATH_B1F EQU $03
-GROUP_ICE_PATH_B2F_MAHOGANY_SIDE EQU $03
-GROUP_ICE_PATH_B2F_BLACKTHORN_SIDE EQU $03
-GROUP_ICE_PATH_B3F EQU $03
-GROUP_WHIRL_ISLAND_NW EQU $03
-GROUP_WHIRL_ISLAND_NE EQU $03
-GROUP_WHIRL_ISLAND_SW EQU $03
-GROUP_WHIRL_ISLAND_CAVE EQU $03
-GROUP_WHIRL_ISLAND_SE EQU $03
-GROUP_WHIRL_ISLAND_B1F EQU $03
-GROUP_WHIRL_ISLAND_B2F EQU $03
-GROUP_WHIRL_ISLAND_LUGIA_CHAMBER EQU $03
-GROUP_SILVER_CAVE_ROOM_1 EQU $03
-GROUP_SILVER_CAVE_ROOM_2 EQU $03
-GROUP_SILVER_CAVE_ROOM_3 EQU $03
-GROUP_SILVER_CAVE_ITEM_ROOMS EQU $03
-GROUP_DARK_CAVE_VIOLET_ENTRANCE EQU $03
-GROUP_DARK_CAVE_BLACKTHORN_ENTRANCE EQU $03
-GROUP_DRAGONS_DEN_1F EQU $03
-GROUP_DRAGONS_DEN_B1F EQU $03
-GROUP_DRAGON_SHRINE EQU $03
-GROUP_TOHJO_FALLS EQU $03
-GROUP_DIGLETTS_CAVE EQU $03
-GROUP_MOUNT_MOON EQU $03
-GROUP_UNDERGROUND EQU $03
-GROUP_ROCK_TUNNEL_1F EQU $03
-GROUP_ROCK_TUNNEL_B1F EQU $03
-GROUP_SAFARI_ZONE_FUCHSIA_GATE_BETA EQU $03
-GROUP_SAFARI_ZONE_BETA EQU $03
-GROUP_VICTORY_ROAD EQU $03
-GROUP_ECRUTEAK_HOUSE EQU $04
-GROUP_WISE_TRIOS_ROOM EQU $04
-GROUP_ECRUTEAK_POKECENTER_1F EQU $04
-GROUP_ECRUTEAK_LUGIA_SPEECH_HOUSE EQU $04
-GROUP_DANCE_THEATRE EQU $04
-GROUP_ECRUTEAK_MART EQU $04
-GROUP_ECRUTEAK_GYM EQU $04
-GROUP_ECRUTEAK_ITEMFINDER_HOUSE EQU $04
-GROUP_ECRUTEAK_CITY EQU $04
-GROUP_BLACKTHORN_GYM_1F EQU $05
-GROUP_BLACKTHORN_GYM_2F EQU $05
-GROUP_BLACKTHORN_DRAGON_SPEECH_HOUSE EQU $05
-GROUP_BLACKTHORN_DODRIO_TRADE_HOUSE EQU $05
-GROUP_BLACKTHORN_MART EQU $05
-GROUP_BLACKTHORN_POKECENTER_1F EQU $05
-GROUP_MOVE_DELETERS_HOUSE EQU $05
-GROUP_ROUTE_45 EQU $05
-GROUP_ROUTE_46 EQU $05
-GROUP_BLACKTHORN_CITY EQU $05
-GROUP_CINNABAR_POKECENTER_1F EQU $06
-GROUP_CINNABAR_POKECENTER_2F_BETA EQU $06
-GROUP_ROUTE_19___FUCHSIA_GATE EQU $06
-GROUP_SEAFOAM_GYM EQU $06
-GROUP_ROUTE_19 EQU $06
-GROUP_ROUTE_20 EQU $06
-GROUP_ROUTE_21 EQU $06
-GROUP_CINNABAR_ISLAND EQU $06
-GROUP_CERULEAN_GYM_BADGE_SPEECH_HOUSE EQU $07
-GROUP_CERULEAN_POLICE_STATION EQU $07
-GROUP_CERULEAN_TRADE_SPEECH_HOUSE EQU $07
-GROUP_CERULEAN_POKECENTER_1F EQU $07
-GROUP_CERULEAN_POKECENTER_2F_BETA EQU $07
-GROUP_CERULEAN_GYM EQU $07
-GROUP_CERULEAN_MART EQU $07
-GROUP_ROUTE_10_POKECENTER_1F EQU $07
-GROUP_ROUTE_10_POKECENTER_2F_BETA EQU $07
-GROUP_POWER_PLANT EQU $07
-GROUP_BILLS_HOUSE EQU $07
-GROUP_ROUTE_4 EQU $07
-GROUP_ROUTE_9 EQU $07
-GROUP_ROUTE_10A EQU $07
-GROUP_ROUTE_10_NORTH EQU $07
-GROUP_ROUTE_24 EQU $07
-GROUP_ROUTE_25 EQU $07
-GROUP_CERULEAN_CITY EQU $07
-GROUP_AZALEA_POKECENTER_1F EQU $08
-GROUP_CHARCOAL_KILN EQU $08
-GROUP_AZALEA_MART EQU $08
-GROUP_KURTS_HOUSE EQU $08
-GROUP_AZALEA_GYM EQU $08
-GROUP_ROUTE_33 EQU $08
-GROUP_AZALEA_TOWN EQU $08
-GROUP_LAKE_OF_RAGE_HIDDEN_POWER_HOUSE EQU $09
-GROUP_LAKE_OF_RAGE_MAGIKARP_HOUSE EQU $09
-GROUP_ROUTE_43_MAHOGANY_GATE EQU $09
-GROUP_ROUTE_43_GATE EQU $09
-GROUP_ROUTE_43 EQU $09
-GROUP_LAKE_OF_RAGE EQU $09
-GROUP_ROUTE_32 EQU $0a
-GROUP_ROUTE_35 EQU $0a
-GROUP_ROUTE_36 EQU $0a
-GROUP_ROUTE_37 EQU $0a
-GROUP_VIOLET_CITY EQU $0a
-GROUP_VIOLET_MART EQU $0a
-GROUP_VIOLET_GYM EQU $0a
-GROUP_EARLS_POKEMON_ACADEMY EQU $0a
-GROUP_VIOLET_NICKNAME_SPEECH_HOUSE EQU $0a
-GROUP_VIOLET_POKECENTER_1F EQU $0a
-GROUP_VIOLET_ONIX_TRADE_HOUSE EQU $0a
-GROUP_ROUTE_32_RUINS_OF_ALPH_GATE EQU $0a
-GROUP_ROUTE_32_POKECENTER_1F EQU $0a
-GROUP_ROUTE_35_GOLDENROD_GATE EQU $0a
-GROUP_ROUTE_35_NATIONAL_PARK_GATE EQU $0a
-GROUP_ROUTE_36_RUINS_OF_ALPH_GATE EQU $0a
-GROUP_ROUTE_36_NATIONAL_PARK_GATE EQU $0a
-GROUP_ROUTE_34 EQU $0b
-GROUP_GOLDENROD_CITY EQU $0b
-GROUP_GOLDENROD_GYM EQU $0b
-GROUP_GOLDENROD_BIKE_SHOP EQU $0b
-GROUP_GOLDENROD_HAPPINESS_RATER EQU $0b
-GROUP_GOLDENROD_BILLS_HOUSE EQU $0b
-GROUP_GOLDENROD_MAGNET_TRAIN_STATION EQU $0b
-GROUP_GOLDENROD_FLOWER_SHOP EQU $0b
-GROUP_GOLDENROD_PP_SPEECH_HOUSE EQU $0b
-GROUP_GOLDENROD_NAME_RATERS_HOUSE EQU $0b
-GROUP_GOLDENROD_DEPT_STORE_1F EQU $0b
-GROUP_GOLDENROD_DEPT_STORE_2F EQU $0b
-GROUP_GOLDENROD_DEPT_STORE_3F EQU $0b
-GROUP_GOLDENROD_DEPT_STORE_4F EQU $0b
-GROUP_GOLDENROD_DEPT_STORE_5F EQU $0b
-GROUP_GOLDENROD_DEPT_STORE_6F EQU $0b
-GROUP_GOLDENROD_DEPT_STORE_ELEVATOR EQU $0b
-GROUP_GOLDENROD_DEPT_STORE_ROOF EQU $0b
-GROUP_GOLDENROD_GAME_CORNER EQU $0b
-GROUP_GOLDENROD_POKECENTER_1F EQU $0b
-GROUP_GOLDENROD_POKECOM_CENTER_2F_MOBILE EQU $0b
-GROUP_ILEX_FOREST_AZALEA_GATE EQU $0b
-GROUP_ROUTE_34_ILEX_FOREST_GATE EQU $0b
-GROUP_DAY_CARE EQU $0b
-GROUP_ROUTE_6 EQU $0c
-GROUP_ROUTE_11 EQU $0c
-GROUP_VERMILION_CITY EQU $0c
-GROUP_VERMILION_HOUSE_FISHING_SPEECH_HOUSE EQU $0c
-GROUP_VERMILION_POKECENTER_1F EQU $0c
-GROUP_VERMILION_POKECENTER_2F_BETA EQU $0c
-GROUP_POKEMON_FAN_CLUB EQU $0c
-GROUP_VERMILION_MAGNET_TRAIN_SPEECH_HOUSE EQU $0c
-GROUP_VERMILION_MART EQU $0c
-GROUP_VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE EQU $0c
-GROUP_VERMILION_GYM EQU $0c
-GROUP_ROUTE_6_SAFFRON_GATE EQU $0c
-GROUP_ROUTE_6_UNDERGROUND_ENTRANCE EQU $0c
-GROUP_ROUTE_1 EQU $0d
-GROUP_PALLET_TOWN EQU $0d
-GROUP_REDS_HOUSE_1F EQU $0d
-GROUP_REDS_HOUSE_2F EQU $0d
-GROUP_BLUES_HOUSE EQU $0d
-GROUP_OAKS_LAB EQU $0d
-GROUP_ROUTE_3 EQU $0e
-GROUP_PEWTER_CITY EQU $0e
-GROUP_PEWTER_NIDORAN_SPEECH_HOUSE EQU $0e
-GROUP_PEWTER_GYM EQU $0e
-GROUP_PEWTER_MART EQU $0e
-GROUP_PEWTER_POKECENTER_1F EQU $0e
-GROUP_PEWTER_POKECENTER_2F_BETA EQU $0e
-GROUP_PEWTER_SNOOZE_SPEECH_HOUSE EQU $0e
-GROUP_OLIVINE_PORT EQU $0f
-GROUP_VERMILION_PORT EQU $0f
-GROUP_FAST_SHIP_1F EQU $0f
-GROUP_FAST_SHIP_CABINS_NNW_NNE_NE EQU $0f
-GROUP_FAST_SHIP_CABINS_SW_SSW_NW EQU $0f
-GROUP_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN EQU $0f
-GROUP_FAST_SHIP_B1F EQU $0f
-GROUP_OLIVINE_PORT_PASSAGE EQU $0f
-GROUP_VERMILION_PORT_PASSAGE EQU $0f
-GROUP_MOUNT_MOON_SQUARE EQU $0f
-GROUP_MOUNT_MOON_GIFT_SHOP EQU $0f
-GROUP_TIN_TOWER_ROOF EQU $0f
-GROUP_ROUTE_23 EQU $10
-GROUP_INDIGO_PLATEAU_POKECENTER_1F EQU $10
-GROUP_WILLS_ROOM EQU $10
-GROUP_KOGAS_ROOM EQU $10
-GROUP_BRUNOS_ROOM EQU $10
-GROUP_KARENS_ROOM EQU $10
-GROUP_LANCES_ROOM EQU $10
-GROUP_HALL_OF_FAME EQU $10
-GROUP_ROUTE_13 EQU $11
-GROUP_ROUTE_14 EQU $11
-GROUP_ROUTE_15 EQU $11
-GROUP_ROUTE_18 EQU $11
-GROUP_FUCHSIA_CITY EQU $11
-GROUP_FUCHSIA_MART EQU $11
-GROUP_SAFARI_ZONE_MAIN_OFFICE EQU $11
-GROUP_FUCHSIA_GYM EQU $11
-GROUP_FUCHSIA_BILL_SPEECH_HOUSE EQU $11
-GROUP_FUCHSIA_POKECENTER_1F EQU $11
-GROUP_FUCHSIA_POKECENTER_2F_BETA EQU $11
-GROUP_SAFARI_ZONE_WARDENS_HOME EQU $11
-GROUP_ROUTE_15_FUCHSIA_GATE EQU $11
-GROUP_ROUTE_8 EQU $12
-GROUP_ROUTE_12 EQU $12
-GROUP_ROUTE_10B EQU $12
-GROUP_ROUTE_10_SOUTH EQU $12
-GROUP_LAVENDER_TOWN EQU $12
-GROUP_LAVENDER_POKECENTER_1F EQU $12
-GROUP_LAVENDER_POKECENTER_2F_BETA EQU $12
-GROUP_MR_FUJIS_HOUSE EQU $12
-GROUP_LAVENDER_TOWN_SPEECH_HOUSE EQU $12
-GROUP_LAVENDER_NAME_RATER EQU $12
-GROUP_LAVENDER_MART EQU $12
-GROUP_SOUL_HOUSE EQU $12
-GROUP_LAV_RADIO_TOWER_1F EQU $12
-GROUP_ROUTE_8_SAFFRON_GATE EQU $12
-GROUP_ROUTE_12_SUPER_ROD_HOUSE EQU $12
-GROUP_ROUTE_28 EQU $13
-GROUP_SILVER_CAVE_OUTSIDE EQU $13
-GROUP_SILVER_CAVE_POKECENTER_1F EQU $13
-GROUP_ROUTE_28_FAMOUS_SPEECH_HOUSE EQU $13
-GROUP_POKECENTER_2F EQU $14
-GROUP_TRADE_CENTER EQU $14
-GROUP_COLOSSEUM EQU $14
-GROUP_TIME_CAPSULE EQU $14
-GROUP_MOBILE_TRADE_ROOM_MOBILE EQU $14
-GROUP_MOBILE_BATTLE_ROOM EQU $14
-GROUP_ROUTE_7 EQU $15
-GROUP_ROUTE_16 EQU $15
-GROUP_ROUTE_17 EQU $15
-GROUP_CELADON_CITY EQU $15
-GROUP_CELADON_DEPT_STORE_1F EQU $15
-GROUP_CELADON_DEPT_STORE_2F EQU $15
-GROUP_CELADON_DEPT_STORE_3F EQU $15
-GROUP_CELADON_DEPT_STORE_4F EQU $15
-GROUP_CELADON_DEPT_STORE_5F EQU $15
-GROUP_CELADON_DEPT_STORE_6F EQU $15
-GROUP_CELADON_DEPT_STORE_ELEVATOR EQU $15
-GROUP_CELADON_MANSION_1F EQU $15
-GROUP_CELADON_MANSION_2F EQU $15
-GROUP_CELADON_MANSION_3F EQU $15
-GROUP_CELADON_MANSION_ROOF EQU $15
-GROUP_CELADON_MANSION_ROOF_HOUSE EQU $15
-GROUP_CELADON_POKECENTER_1F EQU $15
-GROUP_CELADON_POKECENTER_2F_BETA EQU $15
-GROUP_CELADON_GAME_CORNER EQU $15
-GROUP_CELADON_GAME_CORNER_PRIZE_ROOM EQU $15
-GROUP_CELADON_GYM EQU $15
-GROUP_CELADON_CAFE EQU $15
-GROUP_ROUTE_16_FUCHSIA_SPEECH_HOUSE EQU $15
-GROUP_ROUTE_16_GATE EQU $15
-GROUP_ROUTE_7_SAFFRON_GATE EQU $15
-GROUP_ROUTE_17_18_GATE EQU $15
-GROUP_ROUTE_40 EQU $16
-GROUP_ROUTE_41 EQU $16
-GROUP_CIANWOOD_CITY EQU $16
-GROUP_MANIAS_HOUSE EQU $16
-GROUP_CIANWOOD_GYM EQU $16
-GROUP_CIANWOOD_POKECENTER_1F EQU $16
-GROUP_CIANWOOD_PHARMACY EQU $16
-GROUP_CIANWOOD_CITY_PHOTO_STUDIO EQU $16
-GROUP_CIANWOOD_LUGIA_SPEECH_HOUSE EQU $16
-GROUP_POKE_SEERS_HOUSE EQU $16
-GROUP_BATTLE_TOWER_1F EQU $16
-GROUP_BATTLE_TOWER_BATTLE_ROOM EQU $16
-GROUP_BATTLE_TOWER_ELEVATOR EQU $16
-GROUP_BATTLE_TOWER_HALLWAY EQU $16
-GROUP_ROUTE_40_BATTLE_TOWER_GATE EQU $16
-GROUP_BATTLE_TOWER_OUTSIDE EQU $16
-GROUP_ROUTE_2 EQU $17
-GROUP_ROUTE_22 EQU $17
-GROUP_VIRIDIAN_CITY EQU $17
-GROUP_VIRIDIAN_GYM EQU $17
-GROUP_VIRIDIAN_NICKNAME_SPEECH_HOUSE EQU $17
-GROUP_TRAINER_HOUSE_1F EQU $17
-GROUP_TRAINER_HOUSE_B1F EQU $17
-GROUP_VIRIDIAN_MART EQU $17
-GROUP_VIRIDIAN_POKECENTER_1F EQU $17
-GROUP_VIRIDIAN_POKECENTER_2F_BETA EQU $17
-GROUP_ROUTE_2_NUGGET_SPEECH_HOUSE EQU $17
-GROUP_ROUTE_2_GATE EQU $17
-GROUP_VICTORY_ROAD_GATE EQU $17
-GROUP_ROUTE_26 EQU $18
-GROUP_ROUTE_27 EQU $18
-GROUP_ROUTE_29 EQU $18
-GROUP_NEW_BARK_TOWN EQU $18
-GROUP_ELMS_LAB EQU $18
-GROUP_KRISS_HOUSE_1F EQU $18
-GROUP_KRISS_HOUSE_2F EQU $18
-GROUP_KRISS_NEIGHBORS_HOUSE EQU $18
-GROUP_ELMS_HOUSE EQU $18
-GROUP_ROUTE_26_HEAL_SPEECH_HOUSE EQU $18
-GROUP_ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE EQU $18
-GROUP_ROUTE_27_SANDSTORM_HOUSE EQU $18
-GROUP_ROUTE_29_46_GATE EQU $18
-GROUP_ROUTE_5 EQU $19
-GROUP_SAFFRON_CITY EQU $19
-GROUP_FIGHTING_DOJO EQU $19
-GROUP_SAFFRON_GYM EQU $19
-GROUP_SAFFRON_MART EQU $19
-GROUP_SAFFRON_POKECENTER_1F EQU $19
-GROUP_SAFFRON_POKECENTER_2F_BETA EQU $19
-GROUP_MR_PSYCHICS_HOUSE EQU $19
-GROUP_SAFFRON_TRAIN_STATION EQU $19
-GROUP_SILPH_CO_1F EQU $19
-GROUP_COPYCATS_HOUSE_1F EQU $19
-GROUP_COPYCATS_HOUSE_2F EQU $19
-GROUP_ROUTE_5_UNDERGROUND_ENTRANCE EQU $19
-GROUP_ROUTE_5_SAFFRON_CITY_GATE EQU $19
-GROUP_ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE EQU $19
-GROUP_ROUTE_30 EQU $1a
-GROUP_ROUTE_31 EQU $1a
-GROUP_CHERRYGROVE_CITY EQU $1a
-GROUP_CHERRYGROVE_MART EQU $1a
-GROUP_CHERRYGROVE_POKECENTER_1F EQU $1a
-GROUP_CHERRYGROVE_GYM_SPEECH_HOUSE EQU $1a
-GROUP_GUIDE_GENTS_HOUSE EQU $1a
-GROUP_CHERRYGROVE_EVOLUTION_SPEECH_HOUSE EQU $1a
-GROUP_ROUTE_30_BERRY_SPEECH_HOUSE EQU $1a
-GROUP_MR_POKEMONS_HOUSE EQU $1a
-GROUP_ROUTE_31_VIOLET_GATE EQU $1a
+ const_def
+ newgroup
+ mapgroup OLIVINE_POKECENTER_1F, 4, 5
+ mapgroup OLIVINE_GYM, 8, 5
+ mapgroup OLIVINE_VOLTORB_HOUSE, 4, 4
+ mapgroup OLIVINE_HOUSE_BETA, 4, 4
+ mapgroup OLIVINE_PUNISHMENT_SPEECH_HOUSE, 4, 4
+ mapgroup OLIVINE_GOOD_ROD_HOUSE, 4, 4
+ mapgroup OLIVINE_CAFE, 4, 4
+ mapgroup OLIVINE_MART, 4, 6
+ mapgroup ROUTE_38_ECRUTEAK_GATE, 4, 5
+ mapgroup ROUTE_39_BARN, 4, 4
+ mapgroup ROUTE_39_FARMHOUSE, 4, 4
+ mapgroup ROUTE_38, 9, 20
+ mapgroup ROUTE_39, 18, 10
+ mapgroup OLIVINE_CITY, 18, 20
-; map ids
-MAP_OLIVINE_POKECENTER_1F EQU $01
-MAP_OLIVINE_GYM EQU $02
-MAP_OLIVINE_VOLTORB_HOUSE EQU $03
-MAP_OLIVINE_HOUSE_BETA EQU $04
-MAP_OLIVINE_PUNISHMENT_SPEECH_HOUSE EQU $05
-MAP_OLIVINE_GOOD_ROD_HOUSE EQU $06
-MAP_OLIVINE_CAFE EQU $07
-MAP_OLIVINE_MART EQU $08
-MAP_ROUTE_38_ECRUTEAK_GATE EQU $09
-MAP_ROUTE_39_BARN EQU $0a
-MAP_ROUTE_39_FARMHOUSE EQU $0b
-MAP_ROUTE_38 EQU $0c
-MAP_ROUTE_39 EQU $0d
-MAP_OLIVINE_CITY EQU $0e
-MAP_MAHOGANY_RED_GYARADOS_SPEECH_HOUSE EQU $01
-MAP_MAHOGANY_GYM EQU $02
-MAP_MAHOGANY_POKECENTER_1F EQU $03
-MAP_ROUTE_42_ECRUTEAK_GATE EQU $04
-MAP_ROUTE_42 EQU $05
-MAP_ROUTE_44 EQU $06
-MAP_MAHOGANY_TOWN EQU $07
-MAP_SPROUT_TOWER_1F EQU $01
-MAP_SPROUT_TOWER_2F EQU $02
-MAP_SPROUT_TOWER_3F EQU $03
-MAP_TIN_TOWER_1F EQU $04
-MAP_TIN_TOWER_2F EQU $05
-MAP_TIN_TOWER_3F EQU $06
-MAP_TIN_TOWER_4F EQU $07
-MAP_TIN_TOWER_5F EQU $08
-MAP_TIN_TOWER_6F EQU $09
-MAP_TIN_TOWER_7F EQU $0a
-MAP_TIN_TOWER_8F EQU $0b
-MAP_TIN_TOWER_9F EQU $0c
-MAP_BURNED_TOWER_1F EQU $0d
-MAP_BURNED_TOWER_B1F EQU $0e
-MAP_NATIONAL_PARK EQU $0f
-MAP_NATIONAL_PARK_BUG_CONTEST EQU $10
-MAP_RADIO_TOWER_1F EQU $11
-MAP_RADIO_TOWER_2F EQU $12
-MAP_RADIO_TOWER_3F EQU $13
-MAP_RADIO_TOWER_4F EQU $14
-MAP_RADIO_TOWER_5F EQU $15
-MAP_RUINS_OF_ALPH_OUTSIDE EQU $16
-MAP_RUINS_OF_ALPH_HO_OH_CHAMBER EQU $17
-MAP_RUINS_OF_ALPH_KABUTO_CHAMBER EQU $18
-MAP_RUINS_OF_ALPH_OMANYTE_CHAMBER EQU $19
-MAP_RUINS_OF_ALPH_AERODACTYL_CHAMBER EQU $1a
-MAP_RUINS_OF_ALPH_INNER_CHAMBER EQU $1b
-MAP_RUINS_OF_ALPH_RESEARCH_CENTER EQU $1c
-MAP_RUINS_OF_ALPH_HO_OH_ITEM_ROOM EQU $1d
-MAP_RUINS_OF_ALPH_KABUTO_ITEM_ROOM EQU $1e
-MAP_RUINS_OF_ALPH_OMANYTE_ITEM_ROOM EQU $1f
-MAP_RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM EQU $20
-MAP_RUINS_OF_ALPH_HO_OH_WORD_ROOM EQU $21
-MAP_RUINS_OF_ALPH_KABUTO_WORD_ROOM EQU $22
-MAP_RUINS_OF_ALPH_OMANYTE_WORD_ROOM EQU $23
-MAP_RUINS_OF_ALPH_AERODACTYL_WORD_ROOM EQU $24
-MAP_UNION_CAVE_1F EQU $25
-MAP_UNION_CAVE_B1F EQU $26
-MAP_UNION_CAVE_B2F EQU $27
-MAP_SLOWPOKE_WELL_B1F EQU $28
-MAP_SLOWPOKE_WELL_B2F EQU $29
-MAP_OLIVINE_LIGHTHOUSE_1F EQU $2a
-MAP_OLIVINE_LIGHTHOUSE_2F EQU $2b
-MAP_OLIVINE_LIGHTHOUSE_3F EQU $2c
-MAP_OLIVINE_LIGHTHOUSE_4F EQU $2d
-MAP_OLIVINE_LIGHTHOUSE_5F EQU $2e
-MAP_OLIVINE_LIGHTHOUSE_6F EQU $2f
-MAP_MAHOGANY_MART_1F EQU $30
-MAP_TEAM_ROCKET_BASE_B1F EQU $31
-MAP_TEAM_ROCKET_BASE_B2F EQU $32
-MAP_TEAM_ROCKET_BASE_B3F EQU $33
-MAP_ILEX_FOREST EQU $34
-MAP_WAREHOUSE_ENTRANCE EQU $35
-MAP_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES EQU $36
-MAP_GOLDENROD_DEPT_STORE_B1F EQU $37
-MAP_UNDERGROUND_WAREHOUSE EQU $38
-MAP_MOUNT_MORTAR_1F_OUTSIDE EQU $39
-MAP_MOUNT_MORTAR_1F_INSIDE EQU $3a
-MAP_MOUNT_MORTAR_2F_INSIDE EQU $3b
-MAP_MOUNT_MORTAR_B1F EQU $3c
-MAP_ICE_PATH_1F EQU $3d
-MAP_ICE_PATH_B1F EQU $3e
-MAP_ICE_PATH_B2F_MAHOGANY_SIDE EQU $3f
-MAP_ICE_PATH_B2F_BLACKTHORN_SIDE EQU $40
-MAP_ICE_PATH_B3F EQU $41
-MAP_WHIRL_ISLAND_NW EQU $42
-MAP_WHIRL_ISLAND_NE EQU $43
-MAP_WHIRL_ISLAND_SW EQU $44
-MAP_WHIRL_ISLAND_CAVE EQU $45
-MAP_WHIRL_ISLAND_SE EQU $46
-MAP_WHIRL_ISLAND_B1F EQU $47
-MAP_WHIRL_ISLAND_B2F EQU $48
-MAP_WHIRL_ISLAND_LUGIA_CHAMBER EQU $49
-MAP_SILVER_CAVE_ROOM_1 EQU $4a
-MAP_SILVER_CAVE_ROOM_2 EQU $4b
-MAP_SILVER_CAVE_ROOM_3 EQU $4c
-MAP_SILVER_CAVE_ITEM_ROOMS EQU $4d
-MAP_DARK_CAVE_VIOLET_ENTRANCE EQU $4e
-MAP_DARK_CAVE_BLACKTHORN_ENTRANCE EQU $4f
-MAP_DRAGONS_DEN_1F EQU $50
-MAP_DRAGONS_DEN_B1F EQU $51
-MAP_DRAGON_SHRINE EQU $52
-MAP_TOHJO_FALLS EQU $53
-MAP_DIGLETTS_CAVE EQU $54
-MAP_MOUNT_MOON EQU $55
-MAP_UNDERGROUND EQU $56
-MAP_ROCK_TUNNEL_1F EQU $57
-MAP_ROCK_TUNNEL_B1F EQU $58
-MAP_SAFARI_ZONE_FUCHSIA_GATE_BETA EQU $59
-MAP_SAFARI_ZONE_BETA EQU $5a
-MAP_VICTORY_ROAD EQU $5b
-MAP_ECRUTEAK_HOUSE EQU $01
-MAP_WISE_TRIOS_ROOM EQU $02
-MAP_ECRUTEAK_POKECENTER_1F EQU $03
-MAP_ECRUTEAK_LUGIA_SPEECH_HOUSE EQU $04
-MAP_DANCE_THEATRE EQU $05
-MAP_ECRUTEAK_MART EQU $06
-MAP_ECRUTEAK_GYM EQU $07
-MAP_ECRUTEAK_ITEMFINDER_HOUSE EQU $08
-MAP_ECRUTEAK_CITY EQU $09
-MAP_BLACKTHORN_GYM_1F EQU $01
-MAP_BLACKTHORN_GYM_2F EQU $02
-MAP_BLACKTHORN_DRAGON_SPEECH_HOUSE EQU $03
-MAP_BLACKTHORN_DODRIO_TRADE_HOUSE EQU $04
-MAP_BLACKTHORN_MART EQU $05
-MAP_BLACKTHORN_POKECENTER_1F EQU $06
-MAP_MOVE_DELETERS_HOUSE EQU $07
-MAP_ROUTE_45 EQU $08
-MAP_ROUTE_46 EQU $09
-MAP_BLACKTHORN_CITY EQU $0a
-MAP_CINNABAR_POKECENTER_1F EQU $01
-MAP_CINNABAR_POKECENTER_2F_BETA EQU $02
-MAP_ROUTE_19___FUCHSIA_GATE EQU $03
-MAP_SEAFOAM_GYM EQU $04
-MAP_ROUTE_19 EQU $05
-MAP_ROUTE_20 EQU $06
-MAP_ROUTE_21 EQU $07
-MAP_CINNABAR_ISLAND EQU $08
-MAP_CERULEAN_GYM_BADGE_SPEECH_HOUSE EQU $01
-MAP_CERULEAN_POLICE_STATION EQU $02
-MAP_CERULEAN_TRADE_SPEECH_HOUSE EQU $03
-MAP_CERULEAN_POKECENTER_1F EQU $04
-MAP_CERULEAN_POKECENTER_2F_BETA EQU $05
-MAP_CERULEAN_GYM EQU $06
-MAP_CERULEAN_MART EQU $07
-MAP_ROUTE_10_POKECENTER_1F EQU $08
-MAP_ROUTE_10_POKECENTER_2F_BETA EQU $09
-MAP_POWER_PLANT EQU $0a
-MAP_BILLS_HOUSE EQU $0b
-MAP_ROUTE_4 EQU $0c
-MAP_ROUTE_9 EQU $0d
-MAP_ROUTE_10A EQU $0e
-MAP_ROUTE_10_NORTH EQU $0e
-MAP_ROUTE_24 EQU $0f
-MAP_ROUTE_25 EQU $10
-MAP_CERULEAN_CITY EQU $11
-MAP_AZALEA_POKECENTER_1F EQU $01
-MAP_CHARCOAL_KILN EQU $02
-MAP_AZALEA_MART EQU $03
-MAP_KURTS_HOUSE EQU $04
-MAP_AZALEA_GYM EQU $05
-MAP_ROUTE_33 EQU $06
-MAP_AZALEA_TOWN EQU $07
-MAP_LAKE_OF_RAGE_HIDDEN_POWER_HOUSE EQU $01
-MAP_LAKE_OF_RAGE_MAGIKARP_HOUSE EQU $02
-MAP_ROUTE_43_MAHOGANY_GATE EQU $03
-MAP_ROUTE_43_GATE EQU $04
-MAP_ROUTE_43 EQU $05
-MAP_LAKE_OF_RAGE EQU $06
-MAP_ROUTE_32 EQU $01
-MAP_ROUTE_35 EQU $02
-MAP_ROUTE_36 EQU $03
-MAP_ROUTE_37 EQU $04
-MAP_VIOLET_CITY EQU $05
-MAP_VIOLET_MART EQU $06
-MAP_VIOLET_GYM EQU $07
-MAP_EARLS_POKEMON_ACADEMY EQU $08
-MAP_VIOLET_NICKNAME_SPEECH_HOUSE EQU $09
-MAP_VIOLET_POKECENTER_1F EQU $0a
-MAP_VIOLET_ONIX_TRADE_HOUSE EQU $0b
-MAP_ROUTE_32_RUINS_OF_ALPH_GATE EQU $0c
-MAP_ROUTE_32_POKECENTER_1F EQU $0d
-MAP_ROUTE_35_GOLDENROD_GATE EQU $0e
-MAP_ROUTE_35_NATIONAL_PARK_GATE EQU $0f
-MAP_ROUTE_36_RUINS_OF_ALPH_GATE EQU $10
-MAP_ROUTE_36_NATIONAL_PARK_GATE EQU $11
-MAP_ROUTE_34 EQU $01
-MAP_GOLDENROD_CITY EQU $02
-MAP_GOLDENROD_GYM EQU $03
-MAP_GOLDENROD_BIKE_SHOP EQU $04
-MAP_GOLDENROD_HAPPINESS_RATER EQU $05
-MAP_GOLDENROD_BILLS_HOUSE EQU $06
-MAP_GOLDENROD_MAGNET_TRAIN_STATION EQU $07
-MAP_GOLDENROD_FLOWER_SHOP EQU $08
-MAP_GOLDENROD_PP_SPEECH_HOUSE EQU $09
-MAP_GOLDENROD_NAME_RATERS_HOUSE EQU $0a
-MAP_GOLDENROD_DEPT_STORE_1F EQU $0b
-MAP_GOLDENROD_DEPT_STORE_2F EQU $0c
-MAP_GOLDENROD_DEPT_STORE_3F EQU $0d
-MAP_GOLDENROD_DEPT_STORE_4F EQU $0e
-MAP_GOLDENROD_DEPT_STORE_5F EQU $0f
-MAP_GOLDENROD_DEPT_STORE_6F EQU $10
-MAP_GOLDENROD_DEPT_STORE_ELEVATOR EQU $11
-MAP_GOLDENROD_DEPT_STORE_ROOF EQU $12
-MAP_GOLDENROD_GAME_CORNER EQU $13
-MAP_GOLDENROD_POKECENTER_1F EQU $14
-MAP_GOLDENROD_POKECOM_CENTER_2F_MOBILE EQU $15
-MAP_ILEX_FOREST_AZALEA_GATE EQU $16
-MAP_ROUTE_34_ILEX_FOREST_GATE EQU $17
-MAP_DAY_CARE EQU $18
-MAP_ROUTE_6 EQU $01
-MAP_ROUTE_11 EQU $02
-MAP_VERMILION_CITY EQU $03
-MAP_VERMILION_HOUSE_FISHING_SPEECH_HOUSE EQU $04
-MAP_VERMILION_POKECENTER_1F EQU $05
-MAP_VERMILION_POKECENTER_2F_BETA EQU $06
-MAP_POKEMON_FAN_CLUB EQU $07
-MAP_VERMILION_MAGNET_TRAIN_SPEECH_HOUSE EQU $08
-MAP_VERMILION_MART EQU $09
-MAP_VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE EQU $0a
-MAP_VERMILION_GYM EQU $0b
-MAP_ROUTE_6_SAFFRON_GATE EQU $0c
-MAP_ROUTE_6_UNDERGROUND_ENTRANCE EQU $0d
-MAP_ROUTE_1 EQU $01
-MAP_PALLET_TOWN EQU $02
-MAP_REDS_HOUSE_1F EQU $03
-MAP_REDS_HOUSE_2F EQU $04
-MAP_BLUES_HOUSE EQU $05
-MAP_OAKS_LAB EQU $06
-MAP_ROUTE_3 EQU $01
-MAP_PEWTER_CITY EQU $02
-MAP_PEWTER_NIDORAN_SPEECH_HOUSE EQU $03
-MAP_PEWTER_GYM EQU $04
-MAP_PEWTER_MART EQU $05
-MAP_PEWTER_POKECENTER_1F EQU $06
-MAP_PEWTER_POKECENTER_2F_BETA EQU $07
-MAP_PEWTER_SNOOZE_SPEECH_HOUSE EQU $08
-MAP_OLIVINE_PORT EQU $01
-MAP_VERMILION_PORT EQU $02
-MAP_FAST_SHIP_1F EQU $03
-MAP_FAST_SHIP_CABINS_NNW_NNE_NE EQU $04
-MAP_FAST_SHIP_CABINS_SW_SSW_NW EQU $05
-MAP_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN EQU $06
-MAP_FAST_SHIP_B1F EQU $07
-MAP_OLIVINE_PORT_PASSAGE EQU $08
-MAP_VERMILION_PORT_PASSAGE EQU $09
-MAP_MOUNT_MOON_SQUARE EQU $0a
-MAP_MOUNT_MOON_GIFT_SHOP EQU $0b
-MAP_TIN_TOWER_ROOF EQU $0c
-MAP_ROUTE_23 EQU $01
-MAP_INDIGO_PLATEAU_POKECENTER_1F EQU $02
-MAP_WILLS_ROOM EQU $03
-MAP_KOGAS_ROOM EQU $04
-MAP_BRUNOS_ROOM EQU $05
-MAP_KARENS_ROOM EQU $06
-MAP_LANCES_ROOM EQU $07
-MAP_HALL_OF_FAME EQU $08
-MAP_ROUTE_13 EQU $01
-MAP_ROUTE_14 EQU $02
-MAP_ROUTE_15 EQU $03
-MAP_ROUTE_18 EQU $04
-MAP_FUCHSIA_CITY EQU $05
-MAP_FUCHSIA_MART EQU $06
-MAP_SAFARI_ZONE_MAIN_OFFICE EQU $07
-MAP_FUCHSIA_GYM EQU $08
-MAP_FUCHSIA_BILL_SPEECH_HOUSE EQU $09
-MAP_FUCHSIA_POKECENTER_1F EQU $0a
-MAP_FUCHSIA_POKECENTER_2F_BETA EQU $0b
-MAP_SAFARI_ZONE_WARDENS_HOME EQU $0c
-MAP_ROUTE_15_FUCHSIA_GATE EQU $0d
-MAP_ROUTE_8 EQU $01
-MAP_ROUTE_12 EQU $02
-MAP_ROUTE_10B EQU $03
-MAP_ROUTE_10_SOUTH EQU $03
-MAP_LAVENDER_TOWN EQU $04
-MAP_LAVENDER_POKECENTER_1F EQU $05
-MAP_LAVENDER_POKECENTER_2F_BETA EQU $06
-MAP_MR_FUJIS_HOUSE EQU $07
-MAP_LAVENDER_TOWN_SPEECH_HOUSE EQU $08
-MAP_LAVENDER_NAME_RATER EQU $09
-MAP_LAVENDER_MART EQU $0a
-MAP_SOUL_HOUSE EQU $0b
-MAP_LAV_RADIO_TOWER_1F EQU $0c
-MAP_ROUTE_8_SAFFRON_GATE EQU $0d
-MAP_ROUTE_12_SUPER_ROD_HOUSE EQU $0e
-MAP_ROUTE_28 EQU $01
-MAP_SILVER_CAVE_OUTSIDE EQU $02
-MAP_SILVER_CAVE_POKECENTER_1F EQU $03
-MAP_ROUTE_28_FAMOUS_SPEECH_HOUSE EQU $04
-MAP_POKECENTER_2F EQU $01
-MAP_TRADE_CENTER EQU $02
-MAP_COLOSSEUM EQU $03
-MAP_TIME_CAPSULE EQU $04
-MAP_MOBILE_TRADE_ROOM_MOBILE EQU $05
-MAP_MOBILE_BATTLE_ROOM EQU $06
-MAP_ROUTE_7 EQU $01
-MAP_ROUTE_16 EQU $02
-MAP_ROUTE_17 EQU $03
-MAP_CELADON_CITY EQU $04
-MAP_CELADON_DEPT_STORE_1F EQU $05
-MAP_CELADON_DEPT_STORE_2F EQU $06
-MAP_CELADON_DEPT_STORE_3F EQU $07
-MAP_CELADON_DEPT_STORE_4F EQU $08
-MAP_CELADON_DEPT_STORE_5F EQU $09
-MAP_CELADON_DEPT_STORE_6F EQU $0a
-MAP_CELADON_DEPT_STORE_ELEVATOR EQU $0b
-MAP_CELADON_MANSION_1F EQU $0c
-MAP_CELADON_MANSION_2F EQU $0d
-MAP_CELADON_MANSION_3F EQU $0e
-MAP_CELADON_MANSION_ROOF EQU $0f
-MAP_CELADON_MANSION_ROOF_HOUSE EQU $10
-MAP_CELADON_POKECENTER_1F EQU $11
-MAP_CELADON_POKECENTER_2F_BETA EQU $12
-MAP_CELADON_GAME_CORNER EQU $13
-MAP_CELADON_GAME_CORNER_PRIZE_ROOM EQU $14
-MAP_CELADON_GYM EQU $15
-MAP_CELADON_CAFE EQU $16
-MAP_ROUTE_16_FUCHSIA_SPEECH_HOUSE EQU $17
-MAP_ROUTE_16_GATE EQU $18
-MAP_ROUTE_7_SAFFRON_GATE EQU $19
-MAP_ROUTE_17_18_GATE EQU $1a
-MAP_ROUTE_40 EQU $01
-MAP_ROUTE_41 EQU $02
-MAP_CIANWOOD_CITY EQU $03
-MAP_MANIAS_HOUSE EQU $04
-MAP_CIANWOOD_GYM EQU $05
-MAP_CIANWOOD_POKECENTER_1F EQU $06
-MAP_CIANWOOD_PHARMACY EQU $07
-MAP_CIANWOOD_CITY_PHOTO_STUDIO EQU $08
-MAP_CIANWOOD_LUGIA_SPEECH_HOUSE EQU $09
-MAP_POKE_SEERS_HOUSE EQU $0a
-MAP_BATTLE_TOWER_1F EQU $0b
-MAP_BATTLE_TOWER_BATTLE_ROOM EQU $0c
-MAP_BATTLE_TOWER_ELEVATOR EQU $0d
-MAP_BATTLE_TOWER_HALLWAY EQU $0e
-MAP_ROUTE_40_BATTLE_TOWER_GATE EQU $0f
-MAP_BATTLE_TOWER_OUTSIDE EQU $10
-MAP_ROUTE_2 EQU $01
-MAP_ROUTE_22 EQU $02
-MAP_VIRIDIAN_CITY EQU $03
-MAP_VIRIDIAN_GYM EQU $04
-MAP_VIRIDIAN_NICKNAME_SPEECH_HOUSE EQU $05
-MAP_TRAINER_HOUSE_1F EQU $06
-MAP_TRAINER_HOUSE_B1F EQU $07
-MAP_VIRIDIAN_MART EQU $08
-MAP_VIRIDIAN_POKECENTER_1F EQU $09
-MAP_VIRIDIAN_POKECENTER_2F_BETA EQU $0a
-MAP_ROUTE_2_NUGGET_SPEECH_HOUSE EQU $0b
-MAP_ROUTE_2_GATE EQU $0c
-MAP_VICTORY_ROAD_GATE EQU $0d
-MAP_ROUTE_26 EQU $01
-MAP_ROUTE_27 EQU $02
-MAP_ROUTE_29 EQU $03
-MAP_NEW_BARK_TOWN EQU $04
-MAP_ELMS_LAB EQU $05
-MAP_KRISS_HOUSE_1F EQU $06
-MAP_KRISS_HOUSE_2F EQU $07
-MAP_KRISS_NEIGHBORS_HOUSE EQU $08
-MAP_ELMS_HOUSE EQU $09
-MAP_ROUTE_26_HEAL_SPEECH_HOUSE EQU $0a
-MAP_ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE EQU $0b
-MAP_ROUTE_27_SANDSTORM_HOUSE EQU $0c
-MAP_ROUTE_29_46_GATE EQU $0d
-MAP_ROUTE_5 EQU $01
-MAP_SAFFRON_CITY EQU $02
-MAP_FIGHTING_DOJO EQU $03
-MAP_SAFFRON_GYM EQU $04
-MAP_SAFFRON_MART EQU $05
-MAP_SAFFRON_POKECENTER_1F EQU $06
-MAP_SAFFRON_POKECENTER_2F_BETA EQU $07
-MAP_MR_PSYCHICS_HOUSE EQU $08
-MAP_SAFFRON_TRAIN_STATION EQU $09
-MAP_SILPH_CO_1F EQU $0a
-MAP_COPYCATS_HOUSE_1F EQU $0b
-MAP_COPYCATS_HOUSE_2F EQU $0c
-MAP_ROUTE_5_UNDERGROUND_ENTRANCE EQU $0d
-MAP_ROUTE_5_SAFFRON_CITY_GATE EQU $0e
-MAP_ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE EQU $0f
-MAP_ROUTE_30 EQU $01
-MAP_ROUTE_31 EQU $02
-MAP_CHERRYGROVE_CITY EQU $03
-MAP_CHERRYGROVE_MART EQU $04
-MAP_CHERRYGROVE_POKECENTER_1F EQU $05
-MAP_CHERRYGROVE_GYM_SPEECH_HOUSE EQU $06
-MAP_GUIDE_GENTS_HOUSE EQU $07
-MAP_CHERRYGROVE_EVOLUTION_SPEECH_HOUSE EQU $08
-MAP_ROUTE_30_BERRY_SPEECH_HOUSE EQU $09
-MAP_MR_POKEMONS_HOUSE EQU $0a
-MAP_ROUTE_31_VIOLET_GATE EQU $0b
+ newgroup
+ mapgroup MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, 4, 4
+ mapgroup MAHOGANY_GYM, 9, 5
+ mapgroup MAHOGANY_POKECENTER_1F, 4, 5
+ mapgroup ROUTE_42_ECRUTEAK_GATE, 4, 5
+ mapgroup ROUTE_42, 9, 30
+ mapgroup ROUTE_44, 9, 30
+ mapgroup MAHOGANY_TOWN, 9, 10
-; map dimensions
-OLIVINE_POKECENTER_1F_HEIGHT EQU 4
-OLIVINE_POKECENTER_1F_WIDTH EQU 5
-OLIVINE_GYM_HEIGHT EQU 8
-OLIVINE_GYM_WIDTH EQU 5
-OLIVINE_VOLTORB_HOUSE_HEIGHT EQU 4
-OLIVINE_VOLTORB_HOUSE_WIDTH EQU 4
-OLIVINE_HOUSE_BETA_HEIGHT EQU 4
-OLIVINE_HOUSE_BETA_WIDTH EQU 4
-OLIVINE_PUNISHMENT_SPEECH_HOUSE_HEIGHT EQU 4
-OLIVINE_PUNISHMENT_SPEECH_HOUSE_WIDTH EQU 4
-OLIVINE_GOOD_ROD_HOUSE_HEIGHT EQU 4
-OLIVINE_GOOD_ROD_HOUSE_WIDTH EQU 4
-OLIVINE_CAFE_HEIGHT EQU 4
-OLIVINE_CAFE_WIDTH EQU 4
-OLIVINE_MART_HEIGHT EQU 4
-OLIVINE_MART_WIDTH EQU 6
-ROUTE_38_ECRUTEAK_GATE_HEIGHT EQU 4
-ROUTE_38_ECRUTEAK_GATE_WIDTH EQU 5
-ROUTE_39_BARN_HEIGHT EQU 4
-ROUTE_39_BARN_WIDTH EQU 4
-ROUTE_39_FARMHOUSE_HEIGHT EQU 4
-ROUTE_39_FARMHOUSE_WIDTH EQU 4
-ROUTE_38_HEIGHT EQU 9
-ROUTE_38_WIDTH EQU 20
-ROUTE_39_HEIGHT EQU 18
-ROUTE_39_WIDTH EQU 10
-OLIVINE_CITY_HEIGHT EQU 18
-OLIVINE_CITY_WIDTH EQU 20
-MAHOGANY_RED_GYARADOS_SPEECH_HOUSE_HEIGHT EQU 4
-MAHOGANY_RED_GYARADOS_SPEECH_HOUSE_WIDTH EQU 4
-MAHOGANY_GYM_HEIGHT EQU 9
-MAHOGANY_GYM_WIDTH EQU 5
-MAHOGANY_POKECENTER_1F_HEIGHT EQU 4
-MAHOGANY_POKECENTER_1F_WIDTH EQU 5
-ROUTE_42_ECRUTEAK_GATE_HEIGHT EQU 4
-ROUTE_42_ECRUTEAK_GATE_WIDTH EQU 5
-ROUTE_42_HEIGHT EQU 9
-ROUTE_42_WIDTH EQU 30
-ROUTE_44_HEIGHT EQU 9
-ROUTE_44_WIDTH EQU 30
-MAHOGANY_TOWN_HEIGHT EQU 9
-MAHOGANY_TOWN_WIDTH EQU 10
-SPROUT_TOWER_1F_HEIGHT EQU 8
-SPROUT_TOWER_1F_WIDTH EQU 10
-SPROUT_TOWER_2F_HEIGHT EQU 8
-SPROUT_TOWER_2F_WIDTH EQU 10
-SPROUT_TOWER_3F_HEIGHT EQU 8
-SPROUT_TOWER_3F_WIDTH EQU 10
-TIN_TOWER_1F_HEIGHT EQU 9
-TIN_TOWER_1F_WIDTH EQU 10
-TIN_TOWER_2F_HEIGHT EQU 9
-TIN_TOWER_2F_WIDTH EQU 10
-TIN_TOWER_3F_HEIGHT EQU 9
-TIN_TOWER_3F_WIDTH EQU 10
-TIN_TOWER_4F_HEIGHT EQU 9
-TIN_TOWER_4F_WIDTH EQU 10
-TIN_TOWER_5F_HEIGHT EQU 9
-TIN_TOWER_5F_WIDTH EQU 10
-TIN_TOWER_6F_HEIGHT EQU 9
-TIN_TOWER_6F_WIDTH EQU 10
-TIN_TOWER_7F_HEIGHT EQU 9
-TIN_TOWER_7F_WIDTH EQU 10
-TIN_TOWER_8F_HEIGHT EQU 9
-TIN_TOWER_8F_WIDTH EQU 10
-TIN_TOWER_9F_HEIGHT EQU 9
-TIN_TOWER_9F_WIDTH EQU 10
-BURNED_TOWER_1F_HEIGHT EQU 9
-BURNED_TOWER_1F_WIDTH EQU 10
-BURNED_TOWER_B1F_HEIGHT EQU 9
-BURNED_TOWER_B1F_WIDTH EQU 10
-NATIONAL_PARK_HEIGHT EQU 27
-NATIONAL_PARK_WIDTH EQU 20
-NATIONAL_PARK_BUG_CONTEST_HEIGHT EQU 27
-NATIONAL_PARK_BUG_CONTEST_WIDTH EQU 20
-RADIO_TOWER_1F_HEIGHT EQU 4
-RADIO_TOWER_1F_WIDTH EQU 9
-RADIO_TOWER_2F_HEIGHT EQU 4
-RADIO_TOWER_2F_WIDTH EQU 9
-RADIO_TOWER_3F_HEIGHT EQU 4
-RADIO_TOWER_3F_WIDTH EQU 9
-RADIO_TOWER_4F_HEIGHT EQU 4
-RADIO_TOWER_4F_WIDTH EQU 9
-RADIO_TOWER_5F_HEIGHT EQU 4
-RADIO_TOWER_5F_WIDTH EQU 9
-RUINS_OF_ALPH_OUTSIDE_HEIGHT EQU 18
-RUINS_OF_ALPH_OUTSIDE_WIDTH EQU 10
-RUINS_OF_ALPH_HO_OH_CHAMBER_HEIGHT EQU 5
-RUINS_OF_ALPH_HO_OH_CHAMBER_WIDTH EQU 4
-RUINS_OF_ALPH_KABUTO_CHAMBER_HEIGHT EQU 5
-RUINS_OF_ALPH_KABUTO_CHAMBER_WIDTH EQU 4
-RUINS_OF_ALPH_OMANYTE_CHAMBER_HEIGHT EQU 5
-RUINS_OF_ALPH_OMANYTE_CHAMBER_WIDTH EQU 4
-RUINS_OF_ALPH_AERODACTYL_CHAMBER_HEIGHT EQU 5
-RUINS_OF_ALPH_AERODACTYL_CHAMBER_WIDTH EQU 4
-RUINS_OF_ALPH_INNER_CHAMBER_HEIGHT EQU 14
-RUINS_OF_ALPH_INNER_CHAMBER_WIDTH EQU 10
-RUINS_OF_ALPH_RESEARCH_CENTER_HEIGHT EQU 4
-RUINS_OF_ALPH_RESEARCH_CENTER_WIDTH EQU 4
-RUINS_OF_ALPH_HO_OH_ITEM_ROOM_HEIGHT EQU 5
-RUINS_OF_ALPH_HO_OH_ITEM_ROOM_WIDTH EQU 4
-RUINS_OF_ALPH_KABUTO_ITEM_ROOM_HEIGHT EQU 5
-RUINS_OF_ALPH_KABUTO_ITEM_ROOM_WIDTH EQU 4
-RUINS_OF_ALPH_OMANYTE_ITEM_ROOM_HEIGHT EQU 5
-RUINS_OF_ALPH_OMANYTE_ITEM_ROOM_WIDTH EQU 4
-RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM_HEIGHT EQU 5
-RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM_WIDTH EQU 4
-RUINS_OF_ALPH_HO_OH_WORD_ROOM_HEIGHT EQU 12
-RUINS_OF_ALPH_HO_OH_WORD_ROOM_WIDTH EQU 10
-RUINS_OF_ALPH_KABUTO_WORD_ROOM_HEIGHT EQU 7
-RUINS_OF_ALPH_KABUTO_WORD_ROOM_WIDTH EQU 10
-RUINS_OF_ALPH_OMANYTE_WORD_ROOM_HEIGHT EQU 8
-RUINS_OF_ALPH_OMANYTE_WORD_ROOM_WIDTH EQU 10
-RUINS_OF_ALPH_AERODACTYL_WORD_ROOM_HEIGHT EQU 7
-RUINS_OF_ALPH_AERODACTYL_WORD_ROOM_WIDTH EQU 10
-UNION_CAVE_1F_HEIGHT EQU 18
-UNION_CAVE_1F_WIDTH EQU 10
-UNION_CAVE_B1F_HEIGHT EQU 18
-UNION_CAVE_B1F_WIDTH EQU 10
-UNION_CAVE_B2F_HEIGHT EQU 18
-UNION_CAVE_B2F_WIDTH EQU 10
-SLOWPOKE_WELL_B1F_HEIGHT EQU 9
-SLOWPOKE_WELL_B1F_WIDTH EQU 10
-SLOWPOKE_WELL_B2F_HEIGHT EQU 9
-SLOWPOKE_WELL_B2F_WIDTH EQU 10
-OLIVINE_LIGHTHOUSE_1F_HEIGHT EQU 9
-OLIVINE_LIGHTHOUSE_1F_WIDTH EQU 10
-OLIVINE_LIGHTHOUSE_2F_HEIGHT EQU 9
-OLIVINE_LIGHTHOUSE_2F_WIDTH EQU 10
-OLIVINE_LIGHTHOUSE_3F_HEIGHT EQU 9
-OLIVINE_LIGHTHOUSE_3F_WIDTH EQU 10
-OLIVINE_LIGHTHOUSE_4F_HEIGHT EQU 9
-OLIVINE_LIGHTHOUSE_4F_WIDTH EQU 10
-OLIVINE_LIGHTHOUSE_5F_HEIGHT EQU 9
-OLIVINE_LIGHTHOUSE_5F_WIDTH EQU 10
-OLIVINE_LIGHTHOUSE_6F_HEIGHT EQU 9
-OLIVINE_LIGHTHOUSE_6F_WIDTH EQU 10
-MAHOGANY_MART_1F_HEIGHT EQU 4
-MAHOGANY_MART_1F_WIDTH EQU 4
-TEAM_ROCKET_BASE_B1F_HEIGHT EQU 9
-TEAM_ROCKET_BASE_B1F_WIDTH EQU 15
-TEAM_ROCKET_BASE_B2F_HEIGHT EQU 9
-TEAM_ROCKET_BASE_B2F_WIDTH EQU 15
-TEAM_ROCKET_BASE_B3F_HEIGHT EQU 9
-TEAM_ROCKET_BASE_B3F_WIDTH EQU 15
-ILEX_FOREST_HEIGHT EQU 27
-ILEX_FOREST_WIDTH EQU 15
-WAREHOUSE_ENTRANCE_HEIGHT EQU 18
-WAREHOUSE_ENTRANCE_WIDTH EQU 15
-UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HEIGHT EQU 18
-UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_WIDTH EQU 15
-GOLDENROD_DEPT_STORE_B1F_HEIGHT EQU 9
-GOLDENROD_DEPT_STORE_B1F_WIDTH EQU 10
-UNDERGROUND_WAREHOUSE_HEIGHT EQU 9
-UNDERGROUND_WAREHOUSE_WIDTH EQU 10
-MOUNT_MORTAR_1F_OUTSIDE_HEIGHT EQU 18
-MOUNT_MORTAR_1F_OUTSIDE_WIDTH EQU 20
-MOUNT_MORTAR_1F_INSIDE_HEIGHT EQU 27
-MOUNT_MORTAR_1F_INSIDE_WIDTH EQU 20
-MOUNT_MORTAR_2F_INSIDE_HEIGHT EQU 18
-MOUNT_MORTAR_2F_INSIDE_WIDTH EQU 20
-MOUNT_MORTAR_B1F_HEIGHT EQU 18
-MOUNT_MORTAR_B1F_WIDTH EQU 20
-ICE_PATH_1F_HEIGHT EQU 18
-ICE_PATH_1F_WIDTH EQU 20
-ICE_PATH_B1F_HEIGHT EQU 18
-ICE_PATH_B1F_WIDTH EQU 10
-ICE_PATH_B2F_MAHOGANY_SIDE_HEIGHT EQU 9
-ICE_PATH_B2F_MAHOGANY_SIDE_WIDTH EQU 10
-ICE_PATH_B2F_BLACKTHORN_SIDE_HEIGHT EQU 9
-ICE_PATH_B2F_BLACKTHORN_SIDE_WIDTH EQU 5
-ICE_PATH_B3F_HEIGHT EQU 9
-ICE_PATH_B3F_WIDTH EQU 10
-WHIRL_ISLAND_NW_HEIGHT EQU 9
-WHIRL_ISLAND_NW_WIDTH EQU 5
-WHIRL_ISLAND_NE_HEIGHT EQU 9
-WHIRL_ISLAND_NE_WIDTH EQU 10
-WHIRL_ISLAND_SW_HEIGHT EQU 9
-WHIRL_ISLAND_SW_WIDTH EQU 10
-WHIRL_ISLAND_CAVE_HEIGHT EQU 9
-WHIRL_ISLAND_CAVE_WIDTH EQU 5
-WHIRL_ISLAND_SE_HEIGHT EQU 9
-WHIRL_ISLAND_SE_WIDTH EQU 5
-WHIRL_ISLAND_B1F_HEIGHT EQU 18
-WHIRL_ISLAND_B1F_WIDTH EQU 20
-WHIRL_ISLAND_B2F_HEIGHT EQU 18
-WHIRL_ISLAND_B2F_WIDTH EQU 10
-WHIRL_ISLAND_LUGIA_CHAMBER_HEIGHT EQU 9
-WHIRL_ISLAND_LUGIA_CHAMBER_WIDTH EQU 10
-SILVER_CAVE_ROOM_1_HEIGHT EQU 18
-SILVER_CAVE_ROOM_1_WIDTH EQU 10
-SILVER_CAVE_ROOM_2_HEIGHT EQU 18
-SILVER_CAVE_ROOM_2_WIDTH EQU 15
-SILVER_CAVE_ROOM_3_HEIGHT EQU 18
-SILVER_CAVE_ROOM_3_WIDTH EQU 10
-SILVER_CAVE_ITEM_ROOMS_HEIGHT EQU 9
-SILVER_CAVE_ITEM_ROOMS_WIDTH EQU 10
-DARK_CAVE_VIOLET_ENTRANCE_HEIGHT EQU 18
-DARK_CAVE_VIOLET_ENTRANCE_WIDTH EQU 20
-DARK_CAVE_BLACKTHORN_ENTRANCE_HEIGHT EQU 18
-DARK_CAVE_BLACKTHORN_ENTRANCE_WIDTH EQU 15
-DRAGONS_DEN_1F_HEIGHT EQU 9
-DRAGONS_DEN_1F_WIDTH EQU 5
-DRAGONS_DEN_B1F_HEIGHT EQU 18
-DRAGONS_DEN_B1F_WIDTH EQU 20
-DRAGON_SHRINE_HEIGHT EQU 5
-DRAGON_SHRINE_WIDTH EQU 5
-TOHJO_FALLS_HEIGHT EQU 9
-TOHJO_FALLS_WIDTH EQU 15
-DIGLETTS_CAVE_HEIGHT EQU 18
-DIGLETTS_CAVE_WIDTH EQU 10
-MOUNT_MOON_HEIGHT EQU 9
-MOUNT_MOON_WIDTH EQU 15
-UNDERGROUND_HEIGHT EQU 14
-UNDERGROUND_WIDTH EQU 3
-ROCK_TUNNEL_1F_HEIGHT EQU 18
-ROCK_TUNNEL_1F_WIDTH EQU 15
-ROCK_TUNNEL_B1F_HEIGHT EQU 18
-ROCK_TUNNEL_B1F_WIDTH EQU 15
-SAFARI_ZONE_FUCHSIA_GATE_BETA_HEIGHT EQU 4
-SAFARI_ZONE_FUCHSIA_GATE_BETA_WIDTH EQU 5
-SAFARI_ZONE_BETA_HEIGHT EQU 18
-SAFARI_ZONE_BETA_WIDTH EQU 10
-VICTORY_ROAD_HEIGHT EQU 36
-VICTORY_ROAD_WIDTH EQU 10
-ECRUTEAK_HOUSE_HEIGHT EQU 9
-ECRUTEAK_HOUSE_WIDTH EQU 10
-WISE_TRIOS_ROOM_HEIGHT EQU 4
-WISE_TRIOS_ROOM_WIDTH EQU 4
-ECRUTEAK_POKECENTER_1F_HEIGHT EQU 4
-ECRUTEAK_POKECENTER_1F_WIDTH EQU 5
-ECRUTEAK_LUGIA_SPEECH_HOUSE_HEIGHT EQU 4
-ECRUTEAK_LUGIA_SPEECH_HOUSE_WIDTH EQU 4
-DANCE_THEATRE_HEIGHT EQU 7
-DANCE_THEATRE_WIDTH EQU 6
-ECRUTEAK_MART_HEIGHT EQU 4
-ECRUTEAK_MART_WIDTH EQU 6
-ECRUTEAK_GYM_HEIGHT EQU 9
-ECRUTEAK_GYM_WIDTH EQU 5
-ECRUTEAK_ITEMFINDER_HOUSE_HEIGHT EQU 4
-ECRUTEAK_ITEMFINDER_HOUSE_WIDTH EQU 4
-ECRUTEAK_CITY_HEIGHT EQU 18
-ECRUTEAK_CITY_WIDTH EQU 20
-BLACKTHORN_GYM_1F_HEIGHT EQU 9
-BLACKTHORN_GYM_1F_WIDTH EQU 5
-BLACKTHORN_GYM_2F_HEIGHT EQU 9
-BLACKTHORN_GYM_2F_WIDTH EQU 5
-BLACKTHORN_DRAGON_SPEECH_HOUSE_HEIGHT EQU 4
-BLACKTHORN_DRAGON_SPEECH_HOUSE_WIDTH EQU 4
-BLACKTHORN_DODRIO_TRADE_HOUSE_HEIGHT EQU 4
-BLACKTHORN_DODRIO_TRADE_HOUSE_WIDTH EQU 4
-BLACKTHORN_MART_HEIGHT EQU 4
-BLACKTHORN_MART_WIDTH EQU 6
-BLACKTHORN_POKECENTER_1F_HEIGHT EQU 4
-BLACKTHORN_POKECENTER_1F_WIDTH EQU 5
-MOVE_DELETERS_HOUSE_HEIGHT EQU 4
-MOVE_DELETERS_HOUSE_WIDTH EQU 4
-ROUTE_45_HEIGHT EQU 45
-ROUTE_45_WIDTH EQU 10
-ROUTE_46_HEIGHT EQU 18
-ROUTE_46_WIDTH EQU 10
-BLACKTHORN_CITY_HEIGHT EQU 18
-BLACKTHORN_CITY_WIDTH EQU 20
-CINNABAR_POKECENTER_1F_HEIGHT EQU 4
-CINNABAR_POKECENTER_1F_WIDTH EQU 5
-CINNABAR_POKECENTER_2F_BETA_HEIGHT EQU 4
-CINNABAR_POKECENTER_2F_BETA_WIDTH EQU 8
-ROUTE_19___FUCHSIA_GATE_HEIGHT EQU 4
-ROUTE_19___FUCHSIA_GATE_WIDTH EQU 5
-SEAFOAM_GYM_HEIGHT EQU 4
-SEAFOAM_GYM_WIDTH EQU 5
-ROUTE_19_HEIGHT EQU 18
-ROUTE_19_WIDTH EQU 10
-ROUTE_20_HEIGHT EQU 9
-ROUTE_20_WIDTH EQU 30
-ROUTE_21_HEIGHT EQU 18
-ROUTE_21_WIDTH EQU 10
-CINNABAR_ISLAND_HEIGHT EQU 9
-CINNABAR_ISLAND_WIDTH EQU 10
-CERULEAN_GYM_BADGE_SPEECH_HOUSE_HEIGHT EQU 4
-CERULEAN_GYM_BADGE_SPEECH_HOUSE_WIDTH EQU 4
-CERULEAN_POLICE_STATION_HEIGHT EQU 4
-CERULEAN_POLICE_STATION_WIDTH EQU 4
-CERULEAN_TRADE_SPEECH_HOUSE_HEIGHT EQU 4
-CERULEAN_TRADE_SPEECH_HOUSE_WIDTH EQU 4
-CERULEAN_POKECENTER_1F_HEIGHT EQU 4
-CERULEAN_POKECENTER_1F_WIDTH EQU 5
-CERULEAN_POKECENTER_2F_BETA_HEIGHT EQU 4
-CERULEAN_POKECENTER_2F_BETA_WIDTH EQU 8
-CERULEAN_GYM_HEIGHT EQU 8
-CERULEAN_GYM_WIDTH EQU 5
-CERULEAN_MART_HEIGHT EQU 4
-CERULEAN_MART_WIDTH EQU 6
-ROUTE_10_POKECENTER_1F_HEIGHT EQU 4
-ROUTE_10_POKECENTER_1F_WIDTH EQU 5
-ROUTE_10_POKECENTER_2F_BETA_HEIGHT EQU 4
-ROUTE_10_POKECENTER_2F_BETA_WIDTH EQU 8
-POWER_PLANT_HEIGHT EQU 9
-POWER_PLANT_WIDTH EQU 10
-BILLS_HOUSE_HEIGHT EQU 4
-BILLS_HOUSE_WIDTH EQU 4
-ROUTE_4_HEIGHT EQU 9
-ROUTE_4_WIDTH EQU 20
-ROUTE_9_HEIGHT EQU 9
-ROUTE_9_WIDTH EQU 30
-ROUTE_10_NORTH_HEIGHT EQU 9
-ROUTE_10_NORTH_WIDTH EQU 10
-ROUTE_24_HEIGHT EQU 9
-ROUTE_24_WIDTH EQU 10
-ROUTE_25_HEIGHT EQU 9
-ROUTE_25_WIDTH EQU 30
-CERULEAN_CITY_HEIGHT EQU 18
-CERULEAN_CITY_WIDTH EQU 20
-AZALEA_POKECENTER_1F_HEIGHT EQU 4
-AZALEA_POKECENTER_1F_WIDTH EQU 5
-CHARCOAL_KILN_HEIGHT EQU 4
-CHARCOAL_KILN_WIDTH EQU 4
-AZALEA_MART_HEIGHT EQU 4
-AZALEA_MART_WIDTH EQU 6
-KURTS_HOUSE_HEIGHT EQU 4
-KURTS_HOUSE_WIDTH EQU 8
-AZALEA_GYM_HEIGHT EQU 8
-AZALEA_GYM_WIDTH EQU 5
-ROUTE_33_HEIGHT EQU 9
-ROUTE_33_WIDTH EQU 10
-AZALEA_TOWN_HEIGHT EQU 9
-AZALEA_TOWN_WIDTH EQU 20
-LAKE_OF_RAGE_HIDDEN_POWER_HOUSE_HEIGHT EQU 4
-LAKE_OF_RAGE_HIDDEN_POWER_HOUSE_WIDTH EQU 4
-LAKE_OF_RAGE_MAGIKARP_HOUSE_HEIGHT EQU 4
-LAKE_OF_RAGE_MAGIKARP_HOUSE_WIDTH EQU 4
-ROUTE_43_MAHOGANY_GATE_HEIGHT EQU 4
-ROUTE_43_MAHOGANY_GATE_WIDTH EQU 5
-ROUTE_43_GATE_HEIGHT EQU 4
-ROUTE_43_GATE_WIDTH EQU 5
-ROUTE_43_HEIGHT EQU 27
-ROUTE_43_WIDTH EQU 10
-LAKE_OF_RAGE_HEIGHT EQU 18
-LAKE_OF_RAGE_WIDTH EQU 20
-ROUTE_32_HEIGHT EQU 45
-ROUTE_32_WIDTH EQU 10
-ROUTE_35_HEIGHT EQU 18
-ROUTE_35_WIDTH EQU 10
-ROUTE_36_HEIGHT EQU 9
-ROUTE_36_WIDTH EQU 30
-ROUTE_37_HEIGHT EQU 9
-ROUTE_37_WIDTH EQU 10
-VIOLET_CITY_HEIGHT EQU 18
-VIOLET_CITY_WIDTH EQU 20
-VIOLET_MART_HEIGHT EQU 4
-VIOLET_MART_WIDTH EQU 6
-VIOLET_GYM_HEIGHT EQU 8
-VIOLET_GYM_WIDTH EQU 5
-EARLS_POKEMON_ACADEMY_HEIGHT EQU 8
-EARLS_POKEMON_ACADEMY_WIDTH EQU 4
-VIOLET_NICKNAME_SPEECH_HOUSE_HEIGHT EQU 4
-VIOLET_NICKNAME_SPEECH_HOUSE_WIDTH EQU 4
-VIOLET_POKECENTER_1F_HEIGHT EQU 4
-VIOLET_POKECENTER_1F_WIDTH EQU 5
-VIOLET_ONIX_TRADE_HOUSE_HEIGHT EQU 4
-VIOLET_ONIX_TRADE_HOUSE_WIDTH EQU 4
-ROUTE_32_RUINS_OF_ALPH_GATE_HEIGHT EQU 4
-ROUTE_32_RUINS_OF_ALPH_GATE_WIDTH EQU 5
-ROUTE_32_POKECENTER_1F_HEIGHT EQU 4
-ROUTE_32_POKECENTER_1F_WIDTH EQU 5
-ROUTE_35_GOLDENROD_GATE_HEIGHT EQU 4
-ROUTE_35_GOLDENROD_GATE_WIDTH EQU 5
-ROUTE_35_NATIONAL_PARK_GATE_HEIGHT EQU 4
-ROUTE_35_NATIONAL_PARK_GATE_WIDTH EQU 4
-ROUTE_36_RUINS_OF_ALPH_GATE_HEIGHT EQU 4
-ROUTE_36_RUINS_OF_ALPH_GATE_WIDTH EQU 5
-ROUTE_36_NATIONAL_PARK_GATE_HEIGHT EQU 4
-ROUTE_36_NATIONAL_PARK_GATE_WIDTH EQU 5
-ROUTE_34_HEIGHT EQU 27
-ROUTE_34_WIDTH EQU 10
-GOLDENROD_CITY_HEIGHT EQU 18
-GOLDENROD_CITY_WIDTH EQU 20
-GOLDENROD_GYM_HEIGHT EQU 9
-GOLDENROD_GYM_WIDTH EQU 10
-GOLDENROD_BIKE_SHOP_HEIGHT EQU 4
-GOLDENROD_BIKE_SHOP_WIDTH EQU 4
-GOLDENROD_HAPPINESS_RATER_HEIGHT EQU 4
-GOLDENROD_HAPPINESS_RATER_WIDTH EQU 4
-GOLDENROD_BILLS_HOUSE_HEIGHT EQU 4
-GOLDENROD_BILLS_HOUSE_WIDTH EQU 4
-GOLDENROD_MAGNET_TRAIN_STATION_HEIGHT EQU 9
-GOLDENROD_MAGNET_TRAIN_STATION_WIDTH EQU 10
-GOLDENROD_FLOWER_SHOP_HEIGHT EQU 4
-GOLDENROD_FLOWER_SHOP_WIDTH EQU 4
-GOLDENROD_PP_SPEECH_HOUSE_HEIGHT EQU 4
-GOLDENROD_PP_SPEECH_HOUSE_WIDTH EQU 4
-GOLDENROD_NAME_RATERS_HOUSE_HEIGHT EQU 4
-GOLDENROD_NAME_RATERS_HOUSE_WIDTH EQU 4
-GOLDENROD_DEPT_STORE_1F_HEIGHT EQU 4
-GOLDENROD_DEPT_STORE_1F_WIDTH EQU 8
-GOLDENROD_DEPT_STORE_2F_HEIGHT EQU 4
-GOLDENROD_DEPT_STORE_2F_WIDTH EQU 8
-GOLDENROD_DEPT_STORE_3F_HEIGHT EQU 4
-GOLDENROD_DEPT_STORE_3F_WIDTH EQU 8
-GOLDENROD_DEPT_STORE_4F_HEIGHT EQU 4
-GOLDENROD_DEPT_STORE_4F_WIDTH EQU 8
-GOLDENROD_DEPT_STORE_5F_HEIGHT EQU 4
-GOLDENROD_DEPT_STORE_5F_WIDTH EQU 8
-GOLDENROD_DEPT_STORE_6F_HEIGHT EQU 4
-GOLDENROD_DEPT_STORE_6F_WIDTH EQU 8
-GOLDENROD_DEPT_STORE_ELEVATOR_HEIGHT EQU 2
-GOLDENROD_DEPT_STORE_ELEVATOR_WIDTH EQU 2
-GOLDENROD_DEPT_STORE_ROOF_HEIGHT EQU 4
-GOLDENROD_DEPT_STORE_ROOF_WIDTH EQU 8
-GOLDENROD_GAME_CORNER_HEIGHT EQU 7
-GOLDENROD_GAME_CORNER_WIDTH EQU 10
-GOLDENROD_POKECENTER_1F_HEIGHT EQU 4
-GOLDENROD_POKECENTER_1F_WIDTH EQU 5
-GOLDENROD_POKECOM_CENTER_2F_MOBILE_HEIGHT EQU 16
-GOLDENROD_POKECOM_CENTER_2F_MOBILE_WIDTH EQU 16
-ILEX_FOREST_AZALEA_GATE_HEIGHT EQU 4
-ILEX_FOREST_AZALEA_GATE_WIDTH EQU 5
-ROUTE_34_ILEX_FOREST_GATE_HEIGHT EQU 4
-ROUTE_34_ILEX_FOREST_GATE_WIDTH EQU 5
-DAY_CARE_HEIGHT EQU 4
-DAY_CARE_WIDTH EQU 5
-ROUTE_6_HEIGHT EQU 9
-ROUTE_6_WIDTH EQU 10
-ROUTE_11_HEIGHT EQU 9
-ROUTE_11_WIDTH EQU 20
-VERMILION_CITY_HEIGHT EQU 18
-VERMILION_CITY_WIDTH EQU 20
-VERMILION_HOUSE_FISHING_SPEECH_HOUSE_HEIGHT EQU 4
-VERMILION_HOUSE_FISHING_SPEECH_HOUSE_WIDTH EQU 4
-VERMILION_POKECENTER_1F_HEIGHT EQU 4
-VERMILION_POKECENTER_1F_WIDTH EQU 5
-VERMILION_POKECENTER_2F_BETA_HEIGHT EQU 4
-VERMILION_POKECENTER_2F_BETA_WIDTH EQU 8
-POKEMON_FAN_CLUB_HEIGHT EQU 4
-POKEMON_FAN_CLUB_WIDTH EQU 5
-VERMILION_MAGNET_TRAIN_SPEECH_HOUSE_HEIGHT EQU 4
-VERMILION_MAGNET_TRAIN_SPEECH_HOUSE_WIDTH EQU 4
-VERMILION_MART_HEIGHT EQU 4
-VERMILION_MART_WIDTH EQU 6
-VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE_HEIGHT EQU 4
-VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE_WIDTH EQU 4
-VERMILION_GYM_HEIGHT EQU 9
-VERMILION_GYM_WIDTH EQU 5
-ROUTE_6_SAFFRON_GATE_HEIGHT EQU 4
-ROUTE_6_SAFFRON_GATE_WIDTH EQU 5
-ROUTE_6_UNDERGROUND_ENTRANCE_HEIGHT EQU 4
-ROUTE_6_UNDERGROUND_ENTRANCE_WIDTH EQU 4
-ROUTE_1_HEIGHT EQU 18
-ROUTE_1_WIDTH EQU 10
-PALLET_TOWN_HEIGHT EQU 9
-PALLET_TOWN_WIDTH EQU 10
-REDS_HOUSE_1F_HEIGHT EQU 4
-REDS_HOUSE_1F_WIDTH EQU 4
-REDS_HOUSE_2F_HEIGHT EQU 4
-REDS_HOUSE_2F_WIDTH EQU 4
-BLUES_HOUSE_HEIGHT EQU 4
-BLUES_HOUSE_WIDTH EQU 4
-OAKS_LAB_HEIGHT EQU 6
-OAKS_LAB_WIDTH EQU 5
-ROUTE_3_HEIGHT EQU 9
-ROUTE_3_WIDTH EQU 30
-PEWTER_CITY_HEIGHT EQU 18
-PEWTER_CITY_WIDTH EQU 20
-PEWTER_NIDORAN_SPEECH_HOUSE_HEIGHT EQU 4
-PEWTER_NIDORAN_SPEECH_HOUSE_WIDTH EQU 4
-PEWTER_GYM_HEIGHT EQU 7
-PEWTER_GYM_WIDTH EQU 5
-PEWTER_MART_HEIGHT EQU 4
-PEWTER_MART_WIDTH EQU 6
-PEWTER_POKECENTER_1F_HEIGHT EQU 4
-PEWTER_POKECENTER_1F_WIDTH EQU 5
-PEWTER_POKECENTER_2F_BETA_HEIGHT EQU 4
-PEWTER_POKECENTER_2F_BETA_WIDTH EQU 8
-PEWTER_SNOOZE_SPEECH_HOUSE_HEIGHT EQU 4
-PEWTER_SNOOZE_SPEECH_HOUSE_WIDTH EQU 4
-OLIVINE_PORT_HEIGHT EQU 18
-OLIVINE_PORT_WIDTH EQU 10
-VERMILION_PORT_HEIGHT EQU 18
-VERMILION_PORT_WIDTH EQU 10
-FAST_SHIP_1F_HEIGHT EQU 9
-FAST_SHIP_1F_WIDTH EQU 16
-FAST_SHIP_CABINS_NNW_NNE_NE_HEIGHT EQU 16
-FAST_SHIP_CABINS_NNW_NNE_NE_WIDTH EQU 4
-FAST_SHIP_CABINS_SW_SSW_NW_HEIGHT EQU 16
-FAST_SHIP_CABINS_SW_SSW_NW_WIDTH EQU 4
-FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_HEIGHT EQU 17
-FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_WIDTH EQU 5
-FAST_SHIP_B1F_HEIGHT EQU 8
-FAST_SHIP_B1F_WIDTH EQU 16
-OLIVINE_PORT_PASSAGE_HEIGHT EQU 9
-OLIVINE_PORT_PASSAGE_WIDTH EQU 10
-VERMILION_PORT_PASSAGE_HEIGHT EQU 9
-VERMILION_PORT_PASSAGE_WIDTH EQU 10
-MOUNT_MOON_SQUARE_HEIGHT EQU 9
-MOUNT_MOON_SQUARE_WIDTH EQU 15
-MOUNT_MOON_GIFT_SHOP_HEIGHT EQU 4
-MOUNT_MOON_GIFT_SHOP_WIDTH EQU 4
-TIN_TOWER_ROOF_HEIGHT EQU 9
-TIN_TOWER_ROOF_WIDTH EQU 10
-ROUTE_23_HEIGHT EQU 9
-ROUTE_23_WIDTH EQU 10
-INDIGO_PLATEAU_POKECENTER_1F_HEIGHT EQU 7
-INDIGO_PLATEAU_POKECENTER_1F_WIDTH EQU 9
-WILLS_ROOM_HEIGHT EQU 9
-WILLS_ROOM_WIDTH EQU 5
-KOGAS_ROOM_HEIGHT EQU 9
-KOGAS_ROOM_WIDTH EQU 5
-BRUNOS_ROOM_HEIGHT EQU 9
-BRUNOS_ROOM_WIDTH EQU 5
-KARENS_ROOM_HEIGHT EQU 9
-KARENS_ROOM_WIDTH EQU 5
-LANCES_ROOM_HEIGHT EQU 12
-LANCES_ROOM_WIDTH EQU 5
-HALL_OF_FAME_HEIGHT EQU 7
-HALL_OF_FAME_WIDTH EQU 5
-ROUTE_13_HEIGHT EQU 9
-ROUTE_13_WIDTH EQU 30
-ROUTE_14_HEIGHT EQU 18
-ROUTE_14_WIDTH EQU 10
-ROUTE_15_HEIGHT EQU 9
-ROUTE_15_WIDTH EQU 20
-ROUTE_18_HEIGHT EQU 9
-ROUTE_18_WIDTH EQU 10
-FUCHSIA_CITY_HEIGHT EQU 18
-FUCHSIA_CITY_WIDTH EQU 20
-FUCHSIA_MART_HEIGHT EQU 4
-FUCHSIA_MART_WIDTH EQU 6
-SAFARI_ZONE_MAIN_OFFICE_HEIGHT EQU 4
-SAFARI_ZONE_MAIN_OFFICE_WIDTH EQU 4
-FUCHSIA_GYM_HEIGHT EQU 9
-FUCHSIA_GYM_WIDTH EQU 5
-FUCHSIA_BILL_SPEECH_HOUSE_HEIGHT EQU 4
-FUCHSIA_BILL_SPEECH_HOUSE_WIDTH EQU 4
-FUCHSIA_POKECENTER_1F_HEIGHT EQU 4
-FUCHSIA_POKECENTER_1F_WIDTH EQU 5
-FUCHSIA_POKECENTER_2F_BETA_HEIGHT EQU 4
-FUCHSIA_POKECENTER_2F_BETA_WIDTH EQU 8
-SAFARI_ZONE_WARDENS_HOME_HEIGHT EQU 4
-SAFARI_ZONE_WARDENS_HOME_WIDTH EQU 5
-ROUTE_15_FUCHSIA_GATE_HEIGHT EQU 4
-ROUTE_15_FUCHSIA_GATE_WIDTH EQU 5
-ROUTE_8_HEIGHT EQU 9
-ROUTE_8_WIDTH EQU 20
-ROUTE_12_HEIGHT EQU 27
-ROUTE_12_WIDTH EQU 10
-ROUTE_10_SOUTH_HEIGHT EQU 9
-ROUTE_10_SOUTH_WIDTH EQU 10
-LAVENDER_TOWN_HEIGHT EQU 9
-LAVENDER_TOWN_WIDTH EQU 10
-LAVENDER_POKECENTER_1F_HEIGHT EQU 4
-LAVENDER_POKECENTER_1F_WIDTH EQU 5
-LAVENDER_POKECENTER_2F_BETA_HEIGHT EQU 4
-LAVENDER_POKECENTER_2F_BETA_WIDTH EQU 8
-MR_FUJIS_HOUSE_HEIGHT EQU 4
-MR_FUJIS_HOUSE_WIDTH EQU 5
-LAVENDER_TOWN_SPEECH_HOUSE_HEIGHT EQU 4
-LAVENDER_TOWN_SPEECH_HOUSE_WIDTH EQU 4
-LAVENDER_NAME_RATER_HEIGHT EQU 4
-LAVENDER_NAME_RATER_WIDTH EQU 4
-LAVENDER_MART_HEIGHT EQU 4
-LAVENDER_MART_WIDTH EQU 6
-SOUL_HOUSE_HEIGHT EQU 4
-SOUL_HOUSE_WIDTH EQU 5
-LAV_RADIO_TOWER_1F_HEIGHT EQU 4
-LAV_RADIO_TOWER_1F_WIDTH EQU 10
-ROUTE_8_SAFFRON_GATE_HEIGHT EQU 4
-ROUTE_8_SAFFRON_GATE_WIDTH EQU 5
-ROUTE_12_SUPER_ROD_HOUSE_HEIGHT EQU 4
-ROUTE_12_SUPER_ROD_HOUSE_WIDTH EQU 4
-ROUTE_28_HEIGHT EQU 9
-ROUTE_28_WIDTH EQU 20
-SILVER_CAVE_OUTSIDE_HEIGHT EQU 18
-SILVER_CAVE_OUTSIDE_WIDTH EQU 20
-SILVER_CAVE_POKECENTER_1F_HEIGHT EQU 4
-SILVER_CAVE_POKECENTER_1F_WIDTH EQU 5
-ROUTE_28_FAMOUS_SPEECH_HOUSE_HEIGHT EQU 4
-ROUTE_28_FAMOUS_SPEECH_HOUSE_WIDTH EQU 4
-POKECENTER_2F_HEIGHT EQU 4
-POKECENTER_2F_WIDTH EQU 8
-TRADE_CENTER_HEIGHT EQU 4
-TRADE_CENTER_WIDTH EQU 5
-COLOSSEUM_HEIGHT EQU 4
-COLOSSEUM_WIDTH EQU 5
-TIME_CAPSULE_HEIGHT EQU 4
-TIME_CAPSULE_WIDTH EQU 5
-MOBILE_TRADE_ROOM_MOBILE_HEIGHT EQU 4
-MOBILE_TRADE_ROOM_MOBILE_WIDTH EQU 5
-MOBILE_BATTLE_ROOM_HEIGHT EQU 4
-MOBILE_BATTLE_ROOM_WIDTH EQU 5
-ROUTE_7_HEIGHT EQU 9
-ROUTE_7_WIDTH EQU 10
-ROUTE_16_HEIGHT EQU 9
-ROUTE_16_WIDTH EQU 10
-ROUTE_17_HEIGHT EQU 45
-ROUTE_17_WIDTH EQU 10
-CELADON_CITY_HEIGHT EQU 18
-CELADON_CITY_WIDTH EQU 20
-CELADON_DEPT_STORE_1F_HEIGHT EQU 4
-CELADON_DEPT_STORE_1F_WIDTH EQU 8
-CELADON_DEPT_STORE_2F_HEIGHT EQU 4
-CELADON_DEPT_STORE_2F_WIDTH EQU 8
-CELADON_DEPT_STORE_3F_HEIGHT EQU 4
-CELADON_DEPT_STORE_3F_WIDTH EQU 8
-CELADON_DEPT_STORE_4F_HEIGHT EQU 4
-CELADON_DEPT_STORE_4F_WIDTH EQU 8
-CELADON_DEPT_STORE_5F_HEIGHT EQU 4
-CELADON_DEPT_STORE_5F_WIDTH EQU 8
-CELADON_DEPT_STORE_6F_HEIGHT EQU 4
-CELADON_DEPT_STORE_6F_WIDTH EQU 8
-CELADON_DEPT_STORE_ELEVATOR_HEIGHT EQU 2
-CELADON_DEPT_STORE_ELEVATOR_WIDTH EQU 2
-CELADON_MANSION_1F_HEIGHT EQU 5
-CELADON_MANSION_1F_WIDTH EQU 4
-CELADON_MANSION_2F_HEIGHT EQU 5
-CELADON_MANSION_2F_WIDTH EQU 4
-CELADON_MANSION_3F_HEIGHT EQU 5
-CELADON_MANSION_3F_WIDTH EQU 4
-CELADON_MANSION_ROOF_HEIGHT EQU 5
-CELADON_MANSION_ROOF_WIDTH EQU 4
-CELADON_MANSION_ROOF_HOUSE_HEIGHT EQU 4
-CELADON_MANSION_ROOF_HOUSE_WIDTH EQU 4
-CELADON_POKECENTER_1F_HEIGHT EQU 4
-CELADON_POKECENTER_1F_WIDTH EQU 5
-CELADON_POKECENTER_2F_BETA_HEIGHT EQU 4
-CELADON_POKECENTER_2F_BETA_WIDTH EQU 8
-CELADON_GAME_CORNER_HEIGHT EQU 7
-CELADON_GAME_CORNER_WIDTH EQU 10
-CELADON_GAME_CORNER_PRIZE_ROOM_HEIGHT EQU 3
-CELADON_GAME_CORNER_PRIZE_ROOM_WIDTH EQU 3
-CELADON_GYM_HEIGHT EQU 9
-CELADON_GYM_WIDTH EQU 5
-CELADON_CAFE_HEIGHT EQU 4
-CELADON_CAFE_WIDTH EQU 6
-ROUTE_16_FUCHSIA_SPEECH_HOUSE_HEIGHT EQU 4
-ROUTE_16_FUCHSIA_SPEECH_HOUSE_WIDTH EQU 4
-ROUTE_16_GATE_HEIGHT EQU 4
-ROUTE_16_GATE_WIDTH EQU 5
-ROUTE_7_SAFFRON_GATE_HEIGHT EQU 4
-ROUTE_7_SAFFRON_GATE_WIDTH EQU 5
-ROUTE_17_18_GATE_HEIGHT EQU 4
-ROUTE_17_18_GATE_WIDTH EQU 5
-ROUTE_40_HEIGHT EQU 18
-ROUTE_40_WIDTH EQU 10
-ROUTE_41_HEIGHT EQU 27
-ROUTE_41_WIDTH EQU 25
-CIANWOOD_CITY_HEIGHT EQU 27
-CIANWOOD_CITY_WIDTH EQU 15
-MANIAS_HOUSE_HEIGHT EQU 4
-MANIAS_HOUSE_WIDTH EQU 4
-CIANWOOD_GYM_HEIGHT EQU 9
-CIANWOOD_GYM_WIDTH EQU 5
-CIANWOOD_POKECENTER_1F_HEIGHT EQU 4
-CIANWOOD_POKECENTER_1F_WIDTH EQU 5
-CIANWOOD_PHARMACY_HEIGHT EQU 4
-CIANWOOD_PHARMACY_WIDTH EQU 4
-CIANWOOD_CITY_PHOTO_STUDIO_HEIGHT EQU 4
-CIANWOOD_CITY_PHOTO_STUDIO_WIDTH EQU 4
-CIANWOOD_LUGIA_SPEECH_HOUSE_HEIGHT EQU 4
-CIANWOOD_LUGIA_SPEECH_HOUSE_WIDTH EQU 4
-POKE_SEERS_HOUSE_HEIGHT EQU 4
-POKE_SEERS_HOUSE_WIDTH EQU 4
-BATTLE_TOWER_1F_HEIGHT EQU 5
-BATTLE_TOWER_1F_WIDTH EQU 8
-BATTLE_TOWER_BATTLE_ROOM_HEIGHT EQU 4
-BATTLE_TOWER_BATTLE_ROOM_WIDTH EQU 4
-BATTLE_TOWER_ELEVATOR_HEIGHT EQU 2
-BATTLE_TOWER_ELEVATOR_WIDTH EQU 2
-BATTLE_TOWER_HALLWAY_HEIGHT EQU 2
-BATTLE_TOWER_HALLWAY_WIDTH EQU 11
-ROUTE_40_BATTLE_TOWER_GATE_HEIGHT EQU 4
-ROUTE_40_BATTLE_TOWER_GATE_WIDTH EQU 5
-BATTLE_TOWER_OUTSIDE_HEIGHT EQU 14
-BATTLE_TOWER_OUTSIDE_WIDTH EQU 10
-ROUTE_2_HEIGHT EQU 27
-ROUTE_2_WIDTH EQU 10
-ROUTE_22_HEIGHT EQU 9
-ROUTE_22_WIDTH EQU 20
-VIRIDIAN_CITY_HEIGHT EQU 18
-VIRIDIAN_CITY_WIDTH EQU 20
-VIRIDIAN_GYM_HEIGHT EQU 9
-VIRIDIAN_GYM_WIDTH EQU 5
-VIRIDIAN_NICKNAME_SPEECH_HOUSE_HEIGHT EQU 4
-VIRIDIAN_NICKNAME_SPEECH_HOUSE_WIDTH EQU 4
-TRAINER_HOUSE_1F_HEIGHT EQU 7
-TRAINER_HOUSE_1F_WIDTH EQU 5
-TRAINER_HOUSE_B1F_HEIGHT EQU 8
-TRAINER_HOUSE_B1F_WIDTH EQU 5
-VIRIDIAN_MART_HEIGHT EQU 4
-VIRIDIAN_MART_WIDTH EQU 6
-VIRIDIAN_POKECENTER_1F_HEIGHT EQU 4
-VIRIDIAN_POKECENTER_1F_WIDTH EQU 5
-VIRIDIAN_POKECENTER_2F_BETA_HEIGHT EQU 4
-VIRIDIAN_POKECENTER_2F_BETA_WIDTH EQU 8
-ROUTE_2_NUGGET_SPEECH_HOUSE_HEIGHT EQU 4
-ROUTE_2_NUGGET_SPEECH_HOUSE_WIDTH EQU 4
-ROUTE_2_GATE_HEIGHT EQU 4
-ROUTE_2_GATE_WIDTH EQU 5
-VICTORY_ROAD_GATE_HEIGHT EQU 9
-VICTORY_ROAD_GATE_WIDTH EQU 10
-ROUTE_26_HEIGHT EQU 54
-ROUTE_26_WIDTH EQU 10
-ROUTE_27_HEIGHT EQU 9
-ROUTE_27_WIDTH EQU 40
-ROUTE_29_HEIGHT EQU 9
-ROUTE_29_WIDTH EQU 30
-NEW_BARK_TOWN_HEIGHT EQU 9
-NEW_BARK_TOWN_WIDTH EQU 10
-ELMS_LAB_HEIGHT EQU 6
-ELMS_LAB_WIDTH EQU 5
-KRISS_HOUSE_1F_HEIGHT EQU 4
-KRISS_HOUSE_1F_WIDTH EQU 5
-KRISS_HOUSE_2F_HEIGHT EQU 3
-KRISS_HOUSE_2F_WIDTH EQU 4
-KRISS_NEIGHBORS_HOUSE_HEIGHT EQU 4
-KRISS_NEIGHBORS_HOUSE_WIDTH EQU 4
-ELMS_HOUSE_HEIGHT EQU 4
-ELMS_HOUSE_WIDTH EQU 4
-ROUTE_26_HEAL_SPEECH_HOUSE_HEIGHT EQU 4
-ROUTE_26_HEAL_SPEECH_HOUSE_WIDTH EQU 4
-ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE_HEIGHT EQU 4
-ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE_WIDTH EQU 4
-ROUTE_27_SANDSTORM_HOUSE_HEIGHT EQU 4
-ROUTE_27_SANDSTORM_HOUSE_WIDTH EQU 4
-ROUTE_29_46_GATE_HEIGHT EQU 4
-ROUTE_29_46_GATE_WIDTH EQU 5
-ROUTE_5_HEIGHT EQU 9
-ROUTE_5_WIDTH EQU 10
-SAFFRON_CITY_HEIGHT EQU 18
-SAFFRON_CITY_WIDTH EQU 20
-FIGHTING_DOJO_HEIGHT EQU 6
-FIGHTING_DOJO_WIDTH EQU 5
-SAFFRON_GYM_HEIGHT EQU 9
-SAFFRON_GYM_WIDTH EQU 10
-SAFFRON_MART_HEIGHT EQU 4
-SAFFRON_MART_WIDTH EQU 6
-SAFFRON_POKECENTER_1F_HEIGHT EQU 4
-SAFFRON_POKECENTER_1F_WIDTH EQU 5
-SAFFRON_POKECENTER_2F_BETA_HEIGHT EQU 4
-SAFFRON_POKECENTER_2F_BETA_WIDTH EQU 8
-MR_PSYCHICS_HOUSE_HEIGHT EQU 4
-MR_PSYCHICS_HOUSE_WIDTH EQU 4
-SAFFRON_TRAIN_STATION_HEIGHT EQU 9
-SAFFRON_TRAIN_STATION_WIDTH EQU 10
-SILPH_CO_1F_HEIGHT EQU 4
-SILPH_CO_1F_WIDTH EQU 8
-COPYCATS_HOUSE_1F_HEIGHT EQU 4
-COPYCATS_HOUSE_1F_WIDTH EQU 4
-COPYCATS_HOUSE_2F_HEIGHT EQU 3
-COPYCATS_HOUSE_2F_WIDTH EQU 5
-ROUTE_5_UNDERGROUND_ENTRANCE_HEIGHT EQU 4
-ROUTE_5_UNDERGROUND_ENTRANCE_WIDTH EQU 4
-ROUTE_5_SAFFRON_CITY_GATE_HEIGHT EQU 4
-ROUTE_5_SAFFRON_CITY_GATE_WIDTH EQU 5
-ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE_HEIGHT EQU 4
-ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE_WIDTH EQU 4
-ROUTE_30_HEIGHT EQU 27
-ROUTE_30_WIDTH EQU 10
-ROUTE_31_HEIGHT EQU 9
-ROUTE_31_WIDTH EQU 20
-CHERRYGROVE_CITY_HEIGHT EQU 9
-CHERRYGROVE_CITY_WIDTH EQU 20
-CHERRYGROVE_MART_HEIGHT EQU 4
-CHERRYGROVE_MART_WIDTH EQU 6
-CHERRYGROVE_POKECENTER_1F_HEIGHT EQU 4
-CHERRYGROVE_POKECENTER_1F_WIDTH EQU 5
-CHERRYGROVE_GYM_SPEECH_HOUSE_HEIGHT EQU 4
-CHERRYGROVE_GYM_SPEECH_HOUSE_WIDTH EQU 4
-GUIDE_GENTS_HOUSE_HEIGHT EQU 4
-GUIDE_GENTS_HOUSE_WIDTH EQU 4
-CHERRYGROVE_EVOLUTION_SPEECH_HOUSE_HEIGHT EQU 4
-CHERRYGROVE_EVOLUTION_SPEECH_HOUSE_WIDTH EQU 4
-ROUTE_30_BERRY_SPEECH_HOUSE_HEIGHT EQU 4
-ROUTE_30_BERRY_SPEECH_HOUSE_WIDTH EQU 4
-MR_POKEMONS_HOUSE_HEIGHT EQU 4
-MR_POKEMONS_HOUSE_WIDTH EQU 4
-ROUTE_31_VIOLET_GATE_HEIGHT EQU 4
-ROUTE_31_VIOLET_GATE_WIDTH EQU 5
+ newgroup
+ mapgroup SPROUT_TOWER_1F, 8, 10
+ mapgroup SPROUT_TOWER_2F, 8, 10
+ mapgroup SPROUT_TOWER_3F, 8, 10
+ mapgroup TIN_TOWER_1F, 9, 10
+ mapgroup TIN_TOWER_2F, 9, 10
+ mapgroup TIN_TOWER_3F, 9, 10
+ mapgroup TIN_TOWER_4F, 9, 10
+ mapgroup TIN_TOWER_5F, 9, 10
+ mapgroup TIN_TOWER_6F, 9, 10
+ mapgroup TIN_TOWER_7F, 9, 10
+ mapgroup TIN_TOWER_8F, 9, 10
+ mapgroup TIN_TOWER_9F, 9, 10
+ mapgroup BURNED_TOWER_1F, 9, 10
+ mapgroup BURNED_TOWER_B1F, 9, 10
+ mapgroup NATIONAL_PARK, 27, 20
+ mapgroup NATIONAL_PARK_BUG_CONTEST, 27, 20
+ mapgroup RADIO_TOWER_1F, 4, 9
+ mapgroup RADIO_TOWER_2F, 4, 9
+ mapgroup RADIO_TOWER_3F, 4, 9
+ mapgroup RADIO_TOWER_4F, 4, 9
+ mapgroup RADIO_TOWER_5F, 4, 9
+ mapgroup RUINS_OF_ALPH_OUTSIDE, 18, 10
+ mapgroup RUINS_OF_ALPH_HO_OH_CHAMBER, 5, 4
+ mapgroup RUINS_OF_ALPH_KABUTO_CHAMBER, 5, 4
+ mapgroup RUINS_OF_ALPH_OMANYTE_CHAMBER, 5, 4
+ mapgroup RUINS_OF_ALPH_AERODACTYL_CHAMBER, 5, 4
+ mapgroup RUINS_OF_ALPH_INNER_CHAMBER, 14, 10
+ mapgroup RUINS_OF_ALPH_RESEARCH_CENTER, 4, 4
+ mapgroup RUINS_OF_ALPH_HO_OH_ITEM_ROOM, 5, 4
+ mapgroup RUINS_OF_ALPH_KABUTO_ITEM_ROOM, 5, 4
+ mapgroup RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, 5, 4
+ mapgroup RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, 5, 4
+ mapgroup RUINS_OF_ALPH_HO_OH_WORD_ROOM, 12, 10
+ mapgroup RUINS_OF_ALPH_KABUTO_WORD_ROOM, 7, 10
+ mapgroup RUINS_OF_ALPH_OMANYTE_WORD_ROOM, 8, 10
+ mapgroup RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, 7, 10
+ mapgroup UNION_CAVE_1F, 18, 10
+ mapgroup UNION_CAVE_B1F, 18, 10
+ mapgroup UNION_CAVE_B2F, 18, 10
+ mapgroup SLOWPOKE_WELL_B1F, 9, 10
+ mapgroup SLOWPOKE_WELL_B2F, 9, 10
+ mapgroup OLIVINE_LIGHTHOUSE_1F, 9, 10
+ mapgroup OLIVINE_LIGHTHOUSE_2F, 9, 10
+ mapgroup OLIVINE_LIGHTHOUSE_3F, 9, 10
+ mapgroup OLIVINE_LIGHTHOUSE_4F, 9, 10
+ mapgroup OLIVINE_LIGHTHOUSE_5F, 9, 10
+ mapgroup OLIVINE_LIGHTHOUSE_6F, 9, 10
+ mapgroup MAHOGANY_MART_1F, 4, 4
+ mapgroup TEAM_ROCKET_BASE_B1F, 9, 15
+ mapgroup TEAM_ROCKET_BASE_B2F, 9, 15
+ mapgroup TEAM_ROCKET_BASE_B3F, 9, 15
+ mapgroup ILEX_FOREST, 27, 15
+ mapgroup WAREHOUSE_ENTRANCE, 18, 15
+ mapgroup UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, 18, 15
+ mapgroup GOLDENROD_DEPT_STORE_B1F, 9, 10
+ mapgroup UNDERGROUND_WAREHOUSE, 9, 10
+ mapgroup MOUNT_MORTAR_1F_OUTSIDE, 18, 20
+ mapgroup MOUNT_MORTAR_1F_INSIDE, 27, 20
+ mapgroup MOUNT_MORTAR_2F_INSIDE, 18, 20
+ mapgroup MOUNT_MORTAR_B1F, 18, 20
+ mapgroup ICE_PATH_1F, 18, 20
+ mapgroup ICE_PATH_B1F, 18, 10
+ mapgroup ICE_PATH_B2F_MAHOGANY_SIDE, 9, 10
+ mapgroup ICE_PATH_B2F_BLACKTHORN_SIDE, 9, 5
+ mapgroup ICE_PATH_B3F, 9, 10
+ mapgroup WHIRL_ISLAND_NW, 9, 5
+ mapgroup WHIRL_ISLAND_NE, 9, 10
+ mapgroup WHIRL_ISLAND_SW, 9, 10
+ mapgroup WHIRL_ISLAND_CAVE, 9, 5
+ mapgroup WHIRL_ISLAND_SE, 9, 5
+ mapgroup WHIRL_ISLAND_B1F, 18, 20
+ mapgroup WHIRL_ISLAND_B2F, 18, 10
+ mapgroup WHIRL_ISLAND_LUGIA_CHAMBER, 9, 10
+ mapgroup SILVER_CAVE_ROOM_1, 18, 10
+ mapgroup SILVER_CAVE_ROOM_2, 18, 15
+ mapgroup SILVER_CAVE_ROOM_3, 18, 10
+ mapgroup SILVER_CAVE_ITEM_ROOMS, 9, 10
+ mapgroup DARK_CAVE_VIOLET_ENTRANCE, 18, 20
+ mapgroup DARK_CAVE_BLACKTHORN_ENTRANCE, 18, 15
+ mapgroup DRAGONS_DEN_1F, 9, 5
+ mapgroup DRAGONS_DEN_B1F, 18, 20
+ mapgroup DRAGON_SHRINE, 5, 5
+ mapgroup TOHJO_FALLS, 9, 15
+ mapgroup DIGLETTS_CAVE, 18, 10
+ mapgroup MOUNT_MOON, 9, 15
+ mapgroup UNDERGROUND, 14, 3
+ mapgroup ROCK_TUNNEL_1F, 18, 15
+ mapgroup ROCK_TUNNEL_B1F, 18, 15
+ mapgroup SAFARI_ZONE_FUCHSIA_GATE_BETA, 4, 5
+ mapgroup SAFARI_ZONE_BETA, 18, 10
+ mapgroup VICTORY_ROAD, 36, 10
+
+ newgroup
+ mapgroup ECRUTEAK_HOUSE, 9, 10
+ mapgroup WISE_TRIOS_ROOM, 4, 4
+ mapgroup ECRUTEAK_POKECENTER_1F, 4, 5
+ mapgroup ECRUTEAK_LUGIA_SPEECH_HOUSE, 4, 4
+ mapgroup DANCE_THEATRE, 7, 6
+ mapgroup ECRUTEAK_MART, 4, 6
+ mapgroup ECRUTEAK_GYM, 9, 5
+ mapgroup ECRUTEAK_ITEMFINDER_HOUSE, 4, 4
+ mapgroup ECRUTEAK_CITY, 18, 20
+
+ newgroup
+ mapgroup BLACKTHORN_GYM_1F, 9, 5
+ mapgroup BLACKTHORN_GYM_2F, 9, 5
+ mapgroup BLACKTHORN_DRAGON_SPEECH_HOUSE, 4, 4
+ mapgroup BLACKTHORN_DODRIO_TRADE_HOUSE, 4, 4
+ mapgroup BLACKTHORN_MART, 4, 6
+ mapgroup BLACKTHORN_POKECENTER_1F, 4, 5
+ mapgroup MOVE_DELETERS_HOUSE, 4, 4
+ mapgroup ROUTE_45, 45, 10
+ mapgroup ROUTE_46, 18, 10
+ mapgroup BLACKTHORN_CITY, 18, 20
+
+ newgroup
+ mapgroup CINNABAR_POKECENTER_1F, 4, 5
+ mapgroup CINNABAR_POKECENTER_2F_BETA, 4, 8
+ mapgroup ROUTE_19___FUCHSIA_GATE, 4, 5
+ mapgroup SEAFOAM_GYM, 4, 5
+ mapgroup ROUTE_19, 18, 10
+ mapgroup ROUTE_20, 9, 30
+ mapgroup ROUTE_21, 18, 10
+ mapgroup CINNABAR_ISLAND, 9, 10
+
+ newgroup
+ mapgroup CERULEAN_GYM_BADGE_SPEECH_HOUSE, 4, 4
+ mapgroup CERULEAN_POLICE_STATION, 4, 4
+ mapgroup CERULEAN_TRADE_SPEECH_HOUSE, 4, 4
+ mapgroup CERULEAN_POKECENTER_1F, 4, 5
+ mapgroup CERULEAN_POKECENTER_2F_BETA, 4, 8
+ mapgroup CERULEAN_GYM, 8, 5
+ mapgroup CERULEAN_MART, 4, 6
+ mapgroup ROUTE_10_POKECENTER_1F, 4, 5
+ mapgroup ROUTE_10_POKECENTER_2F_BETA, 4, 8
+ mapgroup POWER_PLANT, 9, 10
+ mapgroup BILLS_HOUSE, 4, 4
+ mapgroup ROUTE_4, 9, 20
+ mapgroup ROUTE_9, 9, 30
+ mapgroup ROUTE_10_NORTH, 9, 10
+ mapgroup ROUTE_24, 9, 10
+ mapgroup ROUTE_25, 9, 30
+ mapgroup CERULEAN_CITY, 18, 20
+
+ newgroup
+ mapgroup AZALEA_POKECENTER_1F, 4, 5
+ mapgroup CHARCOAL_KILN, 4, 4
+ mapgroup AZALEA_MART, 4, 6
+ mapgroup KURTS_HOUSE, 4, 8
+ mapgroup AZALEA_GYM, 8, 5
+ mapgroup ROUTE_33, 9, 10
+ mapgroup AZALEA_TOWN, 9, 20
+
+ newgroup
+ mapgroup LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 4, 4
+ mapgroup LAKE_OF_RAGE_MAGIKARP_HOUSE, 4, 4
+ mapgroup ROUTE_43_MAHOGANY_GATE, 4, 5
+ mapgroup ROUTE_43_GATE, 4, 5
+ mapgroup ROUTE_43, 27, 10
+ mapgroup LAKE_OF_RAGE, 18, 20
+
+ newgroup
+ mapgroup ROUTE_32, 45, 10
+ mapgroup ROUTE_35, 18, 10
+ mapgroup ROUTE_36, 9, 30
+ mapgroup ROUTE_37, 9, 10
+ mapgroup VIOLET_CITY, 18, 20
+ mapgroup VIOLET_MART, 4, 6
+ mapgroup VIOLET_GYM, 8, 5
+ mapgroup EARLS_POKEMON_ACADEMY, 8, 4
+ mapgroup VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4
+ mapgroup VIOLET_POKECENTER_1F, 4, 5
+ mapgroup VIOLET_ONIX_TRADE_HOUSE, 4, 4
+ mapgroup ROUTE_32_RUINS_OF_ALPH_GATE, 4, 5
+ mapgroup ROUTE_32_POKECENTER_1F, 4, 5
+ mapgroup ROUTE_35_GOLDENROD_GATE, 4, 5
+ mapgroup ROUTE_35_NATIONAL_PARK_GATE, 4, 4
+ mapgroup ROUTE_36_RUINS_OF_ALPH_GATE, 4, 5
+ mapgroup ROUTE_36_NATIONAL_PARK_GATE, 4, 5
+
+ newgroup
+ mapgroup ROUTE_34, 27, 10
+ mapgroup GOLDENROD_CITY, 18, 20
+ mapgroup GOLDENROD_GYM, 9, 10
+ mapgroup GOLDENROD_BIKE_SHOP, 4, 4
+ mapgroup GOLDENROD_HAPPINESS_RATER, 4, 4
+ mapgroup GOLDENROD_BILLS_HOUSE, 4, 4
+ mapgroup GOLDENROD_MAGNET_TRAIN_STATION, 9, 10
+ mapgroup GOLDENROD_FLOWER_SHOP, 4, 4
+ mapgroup GOLDENROD_PP_SPEECH_HOUSE, 4, 4
+ mapgroup GOLDENROD_NAME_RATERS_HOUSE, 4, 4
+ mapgroup GOLDENROD_DEPT_STORE_1F, 4, 8
+ mapgroup GOLDENROD_DEPT_STORE_2F, 4, 8
+ mapgroup GOLDENROD_DEPT_STORE_3F, 4, 8
+ mapgroup GOLDENROD_DEPT_STORE_4F, 4, 8
+ mapgroup GOLDENROD_DEPT_STORE_5F, 4, 8
+ mapgroup GOLDENROD_DEPT_STORE_6F, 4, 8
+ mapgroup GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2
+ mapgroup GOLDENROD_DEPT_STORE_ROOF, 4, 8
+ mapgroup GOLDENROD_GAME_CORNER, 7, 10
+ mapgroup GOLDENROD_POKECENTER_1F, 4, 5
+ mapgroup GOLDENROD_POKECOM_CENTER_2F_MOBILE, 16, 16
+ mapgroup ILEX_FOREST_AZALEA_GATE, 4, 5
+ mapgroup ROUTE_34_ILEX_FOREST_GATE, 4, 5
+ mapgroup DAY_CARE, 4, 5
+
+ newgroup
+ mapgroup ROUTE_6, 9, 10
+ mapgroup ROUTE_11, 9, 20
+ mapgroup VERMILION_CITY, 18, 20
+ mapgroup VERMILION_HOUSE_FISHING_SPEECH_HOUSE, 4, 4
+ mapgroup VERMILION_POKECENTER_1F, 4, 5
+ mapgroup VERMILION_POKECENTER_2F_BETA, 4, 8
+ mapgroup POKEMON_FAN_CLUB, 4, 5
+ mapgroup VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, 4, 4
+ mapgroup VERMILION_MART, 4, 6
+ mapgroup VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, 4, 4
+ mapgroup VERMILION_GYM, 9, 5
+ mapgroup ROUTE_6_SAFFRON_GATE, 4, 5
+ mapgroup ROUTE_6_UNDERGROUND_ENTRANCE, 4, 4
+
+ newgroup
+ mapgroup ROUTE_1, 18, 10
+ mapgroup PALLET_TOWN, 9, 10
+ mapgroup REDS_HOUSE_1F, 4, 4
+ mapgroup REDS_HOUSE_2F, 4, 4
+ mapgroup BLUES_HOUSE, 4, 4
+ mapgroup OAKS_LAB, 6, 5
+
+ newgroup
+ mapgroup ROUTE_3, 9, 30
+ mapgroup PEWTER_CITY, 18, 20
+ mapgroup PEWTER_NIDORAN_SPEECH_HOUSE, 4, 4
+ mapgroup PEWTER_GYM, 7, 5
+ mapgroup PEWTER_MART, 4, 6
+ mapgroup PEWTER_POKECENTER_1F, 4, 5
+ mapgroup PEWTER_POKECENTER_2F_BETA, 4, 8
+ mapgroup PEWTER_SNOOZE_SPEECH_HOUSE, 4, 4
+
+ newgroup
+ mapgroup OLIVINE_PORT, 18, 10
+ mapgroup VERMILION_PORT, 18, 10
+ mapgroup FAST_SHIP_1F, 9, 16
+ mapgroup FAST_SHIP_CABINS_NNW_NNE_NE, 16, 4
+ mapgroup FAST_SHIP_CABINS_SW_SSW_NW, 16, 4
+ mapgroup FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 17, 5
+ mapgroup FAST_SHIP_B1F, 8, 16
+ mapgroup OLIVINE_PORT_PASSAGE, 9, 10
+ mapgroup VERMILION_PORT_PASSAGE, 9, 10
+ mapgroup MOUNT_MOON_SQUARE, 9, 15
+ mapgroup MOUNT_MOON_GIFT_SHOP, 4, 4
+ mapgroup TIN_TOWER_ROOF, 9, 10
+
+ newgroup
+ mapgroup ROUTE_23, 9, 10
+ mapgroup INDIGO_PLATEAU_POKECENTER_1F, 7, 9
+ mapgroup WILLS_ROOM, 9, 5
+ mapgroup KOGAS_ROOM, 9, 5
+ mapgroup BRUNOS_ROOM, 9, 5
+ mapgroup KARENS_ROOM, 9, 5
+ mapgroup LANCES_ROOM, 12, 5
+ mapgroup HALL_OF_FAME, 7, 5
+
+ newgroup
+ mapgroup ROUTE_13, 9, 30
+ mapgroup ROUTE_14, 18, 10
+ mapgroup ROUTE_15, 9, 20
+ mapgroup ROUTE_18, 9, 10
+ mapgroup FUCHSIA_CITY, 18, 20
+ mapgroup FUCHSIA_MART, 4, 6
+ mapgroup SAFARI_ZONE_MAIN_OFFICE, 4, 4
+ mapgroup FUCHSIA_GYM, 9, 5
+ mapgroup FUCHSIA_BILL_SPEECH_HOUSE, 4, 4
+ mapgroup FUCHSIA_POKECENTER_1F, 4, 5
+ mapgroup FUCHSIA_POKECENTER_2F_BETA, 4, 8
+ mapgroup SAFARI_ZONE_WARDENS_HOME, 4, 5
+ mapgroup ROUTE_15_FUCHSIA_GATE, 4, 5
+
+ newgroup
+ mapgroup ROUTE_8, 9, 20
+ mapgroup ROUTE_12, 27, 10
+ mapgroup ROUTE_10_SOUTH, 9, 10
+ mapgroup LAVENDER_TOWN, 9, 10
+ mapgroup LAVENDER_POKECENTER_1F, 4, 5
+ mapgroup LAVENDER_POKECENTER_2F_BETA, 4, 8
+ mapgroup MR_FUJIS_HOUSE, 4, 5
+ mapgroup LAVENDER_TOWN_SPEECH_HOUSE, 4, 4
+ mapgroup LAVENDER_NAME_RATER, 4, 4
+ mapgroup LAVENDER_MART, 4, 6
+ mapgroup SOUL_HOUSE, 4, 5
+ mapgroup LAV_RADIO_TOWER_1F, 4, 10
+ mapgroup ROUTE_8_SAFFRON_GATE, 4, 5
+ mapgroup ROUTE_12_SUPER_ROD_HOUSE, 4, 4
+
+ newgroup
+ mapgroup ROUTE_28, 9, 20
+ mapgroup SILVER_CAVE_OUTSIDE, 18, 20
+ mapgroup SILVER_CAVE_POKECENTER_1F, 4, 5
+ mapgroup ROUTE_28_FAMOUS_SPEECH_HOUSE, 4, 4
+
+ newgroup
+ mapgroup POKECENTER_2F, 4, 8
+ mapgroup TRADE_CENTER, 4, 5
+ mapgroup COLOSSEUM, 4, 5
+ mapgroup TIME_CAPSULE, 4, 5
+ mapgroup MOBILE_TRADE_ROOM_MOBILE, 4, 5
+ mapgroup MOBILE_BATTLE_ROOM, 4, 5
+
+ newgroup
+ mapgroup ROUTE_7, 9, 10
+ mapgroup ROUTE_16, 9, 10
+ mapgroup ROUTE_17, 45, 10
+ mapgroup CELADON_CITY, 18, 20
+ mapgroup CELADON_DEPT_STORE_1F, 4, 8
+ mapgroup CELADON_DEPT_STORE_2F, 4, 8
+ mapgroup CELADON_DEPT_STORE_3F, 4, 8
+ mapgroup CELADON_DEPT_STORE_4F, 4, 8
+ mapgroup CELADON_DEPT_STORE_5F, 4, 8
+ mapgroup CELADON_DEPT_STORE_6F, 4, 8
+ mapgroup CELADON_DEPT_STORE_ELEVATOR, 2, 2
+ mapgroup CELADON_MANSION_1F, 5, 4
+ mapgroup CELADON_MANSION_2F, 5, 4
+ mapgroup CELADON_MANSION_3F, 5, 4
+ mapgroup CELADON_MANSION_ROOF, 5, 4
+ mapgroup CELADON_MANSION_ROOF_HOUSE, 4, 4
+ mapgroup CELADON_POKECENTER_1F, 4, 5
+ mapgroup CELADON_POKECENTER_2F_BETA, 4, 8
+ mapgroup CELADON_GAME_CORNER, 7, 10
+ mapgroup CELADON_GAME_CORNER_PRIZE_ROOM, 3, 3
+ mapgroup CELADON_GYM, 9, 5
+ mapgroup CELADON_CAFE, 4, 6
+ mapgroup ROUTE_16_FUCHSIA_SPEECH_HOUSE, 4, 4
+ mapgroup ROUTE_16_GATE, 4, 5
+ mapgroup ROUTE_7_SAFFRON_GATE, 4, 5
+ mapgroup ROUTE_17_18_GATE, 4, 5
+
+ newgroup
+ mapgroup ROUTE_40, 18, 10
+ mapgroup ROUTE_41, 27, 25
+ mapgroup CIANWOOD_CITY, 27, 15
+ mapgroup MANIAS_HOUSE, 4, 4
+ mapgroup CIANWOOD_GYM, 9, 5
+ mapgroup CIANWOOD_POKECENTER_1F, 4, 5
+ mapgroup CIANWOOD_PHARMACY, 4, 4
+ mapgroup CIANWOOD_CITY_PHOTO_STUDIO, 4, 4
+ mapgroup CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4
+ mapgroup POKE_SEERS_HOUSE, 4, 4
+ mapgroup BATTLE_TOWER_1F, 5, 8
+ mapgroup BATTLE_TOWER_BATTLE_ROOM, 4, 4
+ mapgroup BATTLE_TOWER_ELEVATOR, 2, 2
+ mapgroup BATTLE_TOWER_HALLWAY, 2, 11
+ mapgroup ROUTE_40_BATTLE_TOWER_GATE, 4, 5
+ mapgroup BATTLE_TOWER_OUTSIDE, 14, 10
+
+ newgroup
+ mapgroup ROUTE_2, 27, 10
+ mapgroup ROUTE_22, 9, 20
+ mapgroup VIRIDIAN_CITY, 18, 20
+ mapgroup VIRIDIAN_GYM, 9, 5
+ mapgroup VIRIDIAN_NICKNAME_SPEECH_HOUSE, 4, 4
+ mapgroup TRAINER_HOUSE_1F, 7, 5
+ mapgroup TRAINER_HOUSE_B1F, 8, 5
+ mapgroup VIRIDIAN_MART, 4, 6
+ mapgroup VIRIDIAN_POKECENTER_1F, 4, 5
+ mapgroup VIRIDIAN_POKECENTER_2F_BETA, 4, 8
+ mapgroup ROUTE_2_NUGGET_SPEECH_HOUSE, 4, 4
+ mapgroup ROUTE_2_GATE, 4, 5
+ mapgroup VICTORY_ROAD_GATE, 9, 10
+
+ newgroup
+ mapgroup ROUTE_26, 54, 10
+ mapgroup ROUTE_27, 9, 40
+ mapgroup ROUTE_29, 9, 30
+ mapgroup NEW_BARK_TOWN, 9, 10
+ mapgroup ELMS_LAB, 6, 5
+ mapgroup KRISS_HOUSE_1F, 4, 5
+ mapgroup KRISS_HOUSE_2F, 3, 4
+ mapgroup KRISS_NEIGHBORS_HOUSE, 4, 4
+ mapgroup ELMS_HOUSE, 4, 4
+ mapgroup ROUTE_26_HEAL_SPEECH_HOUSE, 4, 4
+ mapgroup ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4
+ mapgroup ROUTE_27_SANDSTORM_HOUSE, 4, 4
+ mapgroup ROUTE_29_46_GATE, 4, 5
+
+ newgroup
+ mapgroup ROUTE_5, 9, 10
+ mapgroup SAFFRON_CITY, 18, 20
+ mapgroup FIGHTING_DOJO, 6, 5
+ mapgroup SAFFRON_GYM, 9, 10
+ mapgroup SAFFRON_MART, 4, 6
+ mapgroup SAFFRON_POKECENTER_1F, 4, 5
+ mapgroup SAFFRON_POKECENTER_2F_BETA, 4, 8
+ mapgroup MR_PSYCHICS_HOUSE, 4, 4
+ mapgroup SAFFRON_TRAIN_STATION, 9, 10
+ mapgroup SILPH_CO_1F, 4, 8
+ mapgroup COPYCATS_HOUSE_1F, 4, 4
+ mapgroup COPYCATS_HOUSE_2F, 3, 5
+ mapgroup ROUTE_5_UNDERGROUND_ENTRANCE, 4, 4
+ mapgroup ROUTE_5_SAFFRON_CITY_GATE, 4, 5
+ mapgroup ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, 4, 4
+
+ newgroup
+ mapgroup ROUTE_30, 27, 10
+ mapgroup ROUTE_31, 9, 20
+ mapgroup CHERRYGROVE_CITY, 9, 20
+ mapgroup CHERRYGROVE_MART, 4, 6
+ mapgroup CHERRYGROVE_POKECENTER_1F, 4, 5
+ mapgroup CHERRYGROVE_GYM_SPEECH_HOUSE, 4, 4
+ mapgroup GUIDE_GENTS_HOUSE, 4, 4
+ mapgroup CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, 4, 4
+ mapgroup ROUTE_30_BERRY_SPEECH_HOUSE, 4, 4
+ mapgroup MR_POKEMONS_HOUSE, 4, 4
+ mapgroup ROUTE_31_VIOLET_GATE, 4, 5
; elevator floors
-_B4F EQU $0
-_B3F EQU $1
-_B2F EQU $2
-_B1F EQU $3
-_1F EQU $4
-_2F EQU $5
-_3F EQU $6
-_4F EQU $7
-_5F EQU $8
-_6F EQU $9
-_7F EQU $a
-_8F EQU $b
-_9F EQU $c
-_10F EQU $d
-_11F EQU $e
-_ROOF EQU $f
+
+ const_def
+ const _B4F
+ const _B3F
+ const _B2F
+ const _B1F
+ const _1F
+ const _2F
+ const _3F
+ const _4F
+ const _5F
+ const _6F
+ const _7F
+ const _8F
+ const _9F
+ const _10F
+ const _11F
+ const _ROOF
; connection directions
-EAST EQU 1
-WEST EQU 2
-SOUTH EQU 4
-NORTH EQU 8
-; sprites
-SPRITE_CHRIS EQU $01
-SPRITE_CHRIS_BIKE EQU $02
-SPRITE_GAMEBOY_KID EQU $03
-SPRITE_SILVER EQU $04
-SPRITE_OAK EQU $05
-SPRITE_RED EQU $06
-SPRITE_BLUE EQU $07
-SPRITE_BILL EQU $08
-SPRITE_ELDER EQU $09
-SPRITE_JANINE EQU $0a
-SPRITE_KURT EQU $0b
-SPRITE_MOM EQU $0c
-SPRITE_BLAINE EQU $0d
-SPRITE_REDS_MOM EQU $0e
-SPRITE_DAISY EQU $0f
-SPRITE_ELM EQU $10
-SPRITE_WILL EQU $11
-SPRITE_FALKNER EQU $12
-SPRITE_WHITNEY EQU $13
-SPRITE_BUGSY EQU $14
-SPRITE_MORTY EQU $15
-SPRITE_CHUCK EQU $16
-SPRITE_JASMINE EQU $17
-SPRITE_PRYCE EQU $18
-SPRITE_CLAIR EQU $19
-SPRITE_BROCK EQU $1a
-SPRITE_KAREN EQU $1b
-SPRITE_BRUNO EQU $1c
-SPRITE_MISTY EQU $1d
-SPRITE_LANCE EQU $1e
-SPRITE_SURGE EQU $1f
-SPRITE_ERIKA EQU $20
-SPRITE_KOGA EQU $21
-SPRITE_SABRINA EQU $22
-SPRITE_COOLTRAINER_M EQU $23
-SPRITE_COOLTRAINER_F EQU $24
-SPRITE_BUG_CATCHER EQU $25
-SPRITE_TWIN EQU $26
-SPRITE_YOUNGSTER EQU $27
-SPRITE_LASS EQU $28
-SPRITE_TEACHER EQU $29
-SPRITE_BUENA EQU $2a
-SPRITE_SUPER_NERD EQU $2b
-SPRITE_ROCKER EQU $2c
-SPRITE_POKEFAN_M EQU $2d
-SPRITE_POKEFAN_F EQU $2e
-SPRITE_GRAMPS EQU $2f
-SPRITE_GRANNY EQU $30
-SPRITE_SWIMMER_GUY EQU $31
-SPRITE_SWIMMER_GIRL EQU $32
-SPRITE_BIG_SNORLAX EQU $33
-SPRITE_SURFING_PIKACHU EQU $34
-SPRITE_ROCKET EQU $35
-SPRITE_ROCKET_GIRL EQU $36
-SPRITE_NURSE EQU $37
-SPRITE_LINK_RECEPTIONIST EQU $38
-SPRITE_CLERK EQU $39
-SPRITE_FISHER EQU $3a
-SPRITE_FISHING_GURU EQU $3b
-SPRITE_SCIENTIST EQU $3c
-SPRITE_KIMONO_GIRL EQU $3d
-SPRITE_SAGE EQU $3e
-SPRITE_UNUSED_GUY EQU $3f
-SPRITE_GENTLEMAN EQU $40
-SPRITE_BLACK_BELT EQU $41
-SPRITE_RECEPTIONIST EQU $42
-SPRITE_OFFICER EQU $43
-SPRITE_CAL EQU $44
-SPRITE_SLOWPOKE EQU $45
-SPRITE_CAPTAIN EQU $46
-SPRITE_BIG_LAPRAS EQU $47
-SPRITE_GYM_GUY EQU $48
-SPRITE_SAILOR EQU $49
-SPRITE_BIKER EQU $4a
-SPRITE_PHARMACIST EQU $4b
-SPRITE_MONSTER EQU $4c
-SPRITE_FAIRY EQU $4d
-SPRITE_BIRD EQU $4e
-SPRITE_DRAGON EQU $4f
-SPRITE_BIG_ONIX EQU $50
-SPRITE_N64 EQU $51
-SPRITE_SUDOWOODO EQU $52
-SPRITE_SURF EQU $53
-SPRITE_POKE_BALL EQU $54
-SPRITE_POKEDEX EQU $55
-SPRITE_PAPER EQU $56
-SPRITE_VIRTUAL_BOY EQU $57
-SPRITE_OLD_LINK_RECEPTIONIST EQU $58
-SPRITE_ROCK EQU $59
-SPRITE_BOULDER EQU $5a
-SPRITE_SNES EQU $5b
-SPRITE_FAMICOM EQU $5c
-SPRITE_FRUIT_TREE EQU $5d
-SPRITE_GOLD_TROPHY EQU $5e
-SPRITE_SILVER_TROPHY EQU $5f
-SPRITE_KRIS EQU $60
-SPRITE_KRIS_BIKE EQU $61
-SPRITE_KURT_OUTSIDE EQU $62
-SPRITE_SUICUNE EQU $63
-SPRITE_ENTEI EQU $64
-SPRITE_RAIKOU EQU $65
-SPRITE_STANDING_YOUNGSTER EQU $66
+ const_def
+ shift_const EAST
+ shift_const WEST
+ shift_const SOUTH
+ shift_const NORTH
-SPRITE_POKEMON EQU $80
-SPRITE_UNOWN EQU $80
-SPRITE_GEODUDE EQU $81
-SPRITE_GROWLITHE EQU $82
-SPRITE_WEEDLE EQU $83
-SPRITE_SHELLDER EQU $84
-SPRITE_ODDISH EQU $85
-SPRITE_GENGAR EQU $86
-SPRITE_ZUBAT EQU $87
-SPRITE_MAGIKARP EQU $88
-SPRITE_SQUIRTLE EQU $89
-SPRITE_TOGEPI EQU $8a
-SPRITE_BUTTERFREE EQU $8b
-SPRITE_DIGLETT EQU $8c
-SPRITE_POLIWAG EQU $8d
-SPRITE_PIKACHU EQU $8e
-SPRITE_CLEFAIRY EQU $8f
-SPRITE_CHARMANDER EQU $90
-SPRITE_JYNX EQU $91
-SPRITE_STARMIE EQU $92
-SPRITE_BULBASAUR EQU $93
-SPRITE_JIGGLYPUFF EQU $94
-SPRITE_GRIMER EQU $95
-SPRITE_EKANS EQU $96
-SPRITE_PARAS EQU $97
-SPRITE_TENTACOOL EQU $98
-SPRITE_TAUROS EQU $99
-SPRITE_MACHOP EQU $9a
-SPRITE_VOLTORB EQU $9b
-SPRITE_LAPRAS EQU $9c
-SPRITE_RHYDON EQU $9d
-SPRITE_MOLTRES EQU $9e
-SPRITE_SNORLAX EQU $9f
-SPRITE_GYARADOS EQU $a0
-SPRITE_LUGIA EQU $a1
-SPRITE_HO_OH EQU $a2
+; sprites
+ const_def
+ const SPRITE_NONE
+ const SPRITE_CHRIS
+ const SPRITE_CHRIS_BIKE
+ const SPRITE_GAMEBOY_KID
+ const SPRITE_SILVER
+ const SPRITE_OAK
+ const SPRITE_RED
+ const SPRITE_BLUE
+ const SPRITE_BILL
+ const SPRITE_ELDER
+ const SPRITE_JANINE
+ const SPRITE_KURT
+ const SPRITE_MOM
+ const SPRITE_BLAINE
+ const SPRITE_REDS_MOM
+ const SPRITE_DAISY
+ const SPRITE_ELM
+ const SPRITE_WILL
+ const SPRITE_FALKNER
+ const SPRITE_WHITNEY
+ const SPRITE_BUGSY
+ const SPRITE_MORTY
+ const SPRITE_CHUCK
+ const SPRITE_JASMINE
+ const SPRITE_PRYCE
+ const SPRITE_CLAIR
+ const SPRITE_BROCK
+ const SPRITE_KAREN
+ const SPRITE_BRUNO
+ const SPRITE_MISTY
+ const SPRITE_LANCE
+ const SPRITE_SURGE
+ const SPRITE_ERIKA
+ const SPRITE_KOGA
+ const SPRITE_SABRINA
+ const SPRITE_COOLTRAINER_M
+ const SPRITE_COOLTRAINER_F
+ const SPRITE_BUG_CATCHER
+ const SPRITE_TWIN
+ const SPRITE_YOUNGSTER
+ const SPRITE_LASS
+ const SPRITE_TEACHER
+ const SPRITE_BUENA
+ const SPRITE_SUPER_NERD
+ const SPRITE_ROCKER
+ const SPRITE_POKEFAN_M
+ const SPRITE_POKEFAN_F
+ const SPRITE_GRAMPS
+ const SPRITE_GRANNY
+ const SPRITE_SWIMMER_GUY
+ const SPRITE_SWIMMER_GIRL
+ const SPRITE_BIG_SNORLAX
+ const SPRITE_SURFING_PIKACHU
+ const SPRITE_ROCKET
+ const SPRITE_ROCKET_GIRL
+ const SPRITE_NURSE
+ const SPRITE_LINK_RECEPTIONIST
+ const SPRITE_CLERK
+ const SPRITE_FISHER
+ const SPRITE_FISHING_GURU
+ const SPRITE_SCIENTIST
+ const SPRITE_KIMONO_GIRL
+ const SPRITE_SAGE
+ const SPRITE_UNUSED_GUY
+ const SPRITE_GENTLEMAN
+ const SPRITE_BLACK_BELT
+ const SPRITE_RECEPTIONIST
+ const SPRITE_OFFICER
+ const SPRITE_CAL
+ const SPRITE_SLOWPOKE
+ const SPRITE_CAPTAIN
+ const SPRITE_BIG_LAPRAS
+ const SPRITE_GYM_GUY
+ const SPRITE_SAILOR
+ const SPRITE_BIKER
+ const SPRITE_PHARMACIST
+ const SPRITE_MONSTER
+ const SPRITE_FAIRY
+ const SPRITE_BIRD
+ const SPRITE_DRAGON
+ const SPRITE_BIG_ONIX
+ const SPRITE_N64
+ const SPRITE_SUDOWOODO
+ const SPRITE_SURF
+ const SPRITE_POKE_BALL
+ const SPRITE_POKEDEX
+ const SPRITE_PAPER
+ const SPRITE_VIRTUAL_BOY
+ const SPRITE_OLD_LINK_RECEPTIONIST
+ const SPRITE_ROCK
+ const SPRITE_BOULDER
+ const SPRITE_SNES
+ const SPRITE_FAMICOM
+ const SPRITE_FRUIT_TREE
+ const SPRITE_GOLD_TROPHY
+ const SPRITE_SILVER_TROPHY
+ const SPRITE_KRIS
+ const SPRITE_KRIS_BIKE
+ const SPRITE_KURT_OUTSIDE
+ const SPRITE_SUICUNE
+ const SPRITE_ENTEI
+ const SPRITE_RAIKOU
+ const SPRITE_STANDING_YOUNGSTER
+const_value SET $80
+SPRITE_POKEMON EQU const_value
+ const SPRITE_UNOWN
+ const SPRITE_GEODUDE
+ const SPRITE_GROWLITHE
+ const SPRITE_WEEDLE
+ const SPRITE_SHELLDER
+ const SPRITE_ODDISH
+ const SPRITE_GENGAR
+ const SPRITE_ZUBAT
+ const SPRITE_MAGIKARP
+ const SPRITE_SQUIRTLE
+ const SPRITE_TOGEPI
+ const SPRITE_BUTTERFREE
+ const SPRITE_DIGLETT
+ const SPRITE_POLIWAG
+ const SPRITE_PIKACHU
+ const SPRITE_CLEFAIRY
+ const SPRITE_CHARMANDER
+ const SPRITE_JYNX
+ const SPRITE_STARMIE
+ const SPRITE_BULBASAUR
+ const SPRITE_JIGGLYPUFF
+ const SPRITE_GRIMER
+ const SPRITE_EKANS
+ const SPRITE_PARAS
+ const SPRITE_TENTACOOL
+ const SPRITE_TAUROS
+ const SPRITE_MACHOP
+ const SPRITE_VOLTORB
+ const SPRITE_LAPRAS
+ const SPRITE_RHYDON
+ const SPRITE_MOLTRES
+ const SPRITE_SNORLAX
+ const SPRITE_GYARADOS
+ const SPRITE_LUGIA
+ const SPRITE_HO_OH
-SPRITE_DAYCARE_MON_1 EQU $e0
-SPRITE_DAYCARE_MON_2 EQU $e1
+const_value SET $e0
+ const SPRITE_DAYCARE_MON_1
+ const SPRITE_DAYCARE_MON_2
-SPRITE_VARS EQU $f0
-SPRITE_CONSOLE EQU $f0
-SPRITE_DOLL_1 EQU $f1
-SPRITE_DOLL_2 EQU $f2
-SPRITE_BIG_DOLL EQU $f3
-SPRITE_WEIRD_TREE EQU $f4
-SPRITE_OLIVINE_RIVAL EQU $f5
-SPRITE_AZALEA_ROCKET EQU $f6
-SPRITE_FUSCHIA_GYM_1 EQU $f7
-SPRITE_FUSCHIA_GYM_2 EQU $f8
-SPRITE_FUSCHIA_GYM_3 EQU $f9
-SPRITE_FUSCHIA_GYM_4 EQU $fa
-SPRITE_COPYCAT EQU $fb
-SPRITE_JANINE_IMPERSONATOR EQU $fc
+const_value SET $f0
+SPRITE_VARS EQU const_value
+ const SPRITE_CONSOLE
+ const SPRITE_DOLL_1
+ const SPRITE_DOLL_2
+ const SPRITE_BIG_DOLL
+ const SPRITE_WEIRD_TREE
+ const SPRITE_OLIVINE_RIVAL
+ const SPRITE_AZALEA_ROCKET
+ const SPRITE_FUCHSIA_GYM_1
+ const SPRITE_FUCHSIA_GYM_2
+ const SPRITE_FUCHSIA_GYM_3
+ const SPRITE_FUCHSIA_GYM_4
+ const SPRITE_COPYCAT
+ const SPRITE_JANINE_IMPERSONATOR
; sprite types
-WALKING_SPRITE EQU 1
-STANDING_SPRITE EQU 2
-STILL_SPRITE EQU 3
+const_value SET 1
+ const WALKING_SPRITE
+ const STANDING_SPRITE
+ const STILL_SPRITE
; sprite palettes
-PAL_OW_RED EQU 0
-PAL_OW_BLUE EQU 1
-PAL_OW_GREEN EQU 2
-PAL_OW_BROWN EQU 3
-PAL_OW_PINK EQU 4
-PAL_OW_SILVER EQU 5
-PAL_OW_TREE EQU 6
-PAL_OW_ROCK EQU 7
+ const_def
+ const PAL_OW_RED
+ const PAL_OW_BLUE
+ const PAL_OW_GREEN
+ const PAL_OW_BROWN
+ const PAL_OW_PINK
+ const PAL_OW_SILVER
+ const PAL_OW_TREE
+ const PAL_OW_ROCK
; permissions
-TOWN EQU 1
-ROUTE EQU 2
-INDOOR EQU 3
-CAVE EQU 4
-
-GATE EQU 6
-DUNGEON EQU 7
+const_value SET 1
+ const TOWN
+ const ROUTE
+ const INDOOR
+ const CAVE
+ const PERM_5
+ const GATE
+ const DUNGEON
; object struct
-OBJECT_00 EQU $0
-OBJECT_01 EQU $1
-OBJECT_SPRITE EQU $2
-OBJECT_03 EQU $3
-OBJECT_04 EQU $4
-OBJECT_FLAGS EQU $5
-OBJECT_PALETTE EQU $6
-OBJECT_07 EQU $7
-OBJECT_08 EQU $8
-OBJECT_09 EQU $9
-OBJECT_STEP_DURATION EQU $a
-OBJECT_11 EQU $b
-OBJECT_12 EQU $c
-OBJECT_FACING EQU $d
-OBJECT_STANDING_TILE EQU $e
-OBJECT_NEXT_TILE EQU $f
-OBJECT_MAP_X EQU $10
-OBJECT_MAP_Y EQU $11
-OBJECT_NEXT_MAP_X EQU $12
-OBJECT_NEXT_MAP_Y EQU $13
-OBJECT_20 EQU $14
-OBJECT_21 EQU $15
-OBJECT_22 EQU $16
-OBJECT_SPRITE_X EQU $17
-OBJECT_SPRITE_Y EQU $18
-OBJECT_SPRITE_X_OFFSET EQU $19
-OBJECT_SPRITE_Y_OFFSET EQU $1a
-OBJECT_27 EQU $1b
-OBJECT_28 EQU $1c
-OBJECT_29 EQU $1d
-OBJECT_30 EQU $1e
-OBJECT_31 EQU $1f
-OBJECT_32 EQU $20
+ const_def
+ const OBJECT_00
+ const OBJECT_01
+ const OBJECT_SPRITE
+ const OBJECT_03
+ const OBJECT_04
+ const OBJECT_FLAGS
+ const OBJECT_PALETTE
+ const OBJECT_07
+ const OBJECT_08
+ const OBJECT_09
+ const OBJECT_STEP_DURATION
+ const OBJECT_11
+ const OBJECT_12
+ const OBJECT_FACING
+ const OBJECT_STANDING_TILE
+ const OBJECT_NEXT_TILE
+ const OBJECT_MAP_X
+ const OBJECT_MAP_Y
+ const OBJECT_NEXT_MAP_X
+ const OBJECT_NEXT_MAP_Y
+ const OBJECT_20
+ const OBJECT_21
+ const OBJECT_22
+ const OBJECT_SPRITE_X
+ const OBJECT_SPRITE_Y
+ const OBJECT_SPRITE_X_OFFSET
+ const OBJECT_SPRITE_Y_OFFSET
+ const OBJECT_27
+ const OBJECT_28
+ const OBJECT_29
+ const OBJECT_30
+ const OBJECT_31
+ const OBJECT_32
; 33-39 are not used
diff --git a/constants/music_constants.asm b/constants/music_constants.asm
index 1224456d3..ebf10ec5a 100644
--- a/constants/music_constants.asm
+++ b/constants/music_constants.asm
@@ -1,106 +1,107 @@
-MUSIC_NONE EQU 0
-MUSIC_TITLE EQU 1
-MUSIC_ROUTE_1 EQU 2
-MUSIC_ROUTE_3 EQU 3
-MUSIC_ROUTE_12 EQU 4
-MUSIC_MAGNET_TRAIN EQU 5
-MUSIC_KANTO_GYM_LEADER_BATTLE EQU 6
-MUSIC_KANTO_TRAINER_BATTLE EQU 7
-MUSIC_KANTO_WILD_BATTLE EQU 8
-MUSIC_POKEMON_CENTER EQU 9
-MUSIC_HIKER_ENCOUNTER EQU 10
-MUSIC_LASS_ENCOUNTER EQU 11
-MUSIC_OFFICER_ENCOUNTER EQU 12
-MUSIC_HEAL EQU 13
-MUSIC_LAVENDER_TOWN EQU 14
-MUSIC_ROUTE_2 EQU 15
-MUSIC_MT_MOON EQU 16
-MUSIC_SHOW_ME_AROUND EQU 17
-MUSIC_GAME_CORNER EQU 18
-MUSIC_BICYCLE EQU 19
-MUSIC_HALL_OF_FAME EQU 20
-MUSIC_VIRIDIAN_CITY EQU 21
-MUSIC_CELADON_CITY EQU 22
-MUSIC_TRAINER_VICTORY EQU 23
-MUSIC_WILD_VICTORY EQU 24
-MUSIC_GYM_VICTORY EQU 25
-MUSIC_MT_MOON_SQUARE EQU 26
-MUSIC_GYM EQU 27
-MUSIC_PALLET_TOWN EQU 28
-MUSIC_POKEMON_TALK EQU 29
-MUSIC_PROF_OAK EQU 30
-MUSIC_RIVAL_ENCOUNTER EQU 31
-MUSIC_RIVAL_AFTER EQU 32
-MUSIC_SURF EQU 33
-MUSIC_EVOLUTION EQU 34
-MUSIC_NATIONAL_PARK EQU 35
-MUSIC_CREDITS EQU 36
-MUSIC_AZALEA_TOWN EQU 37
-MUSIC_CHERRYGROVE_CITY EQU 38
-MUSIC_KIMONO_ENCOUNTER EQU 39
-MUSIC_UNION_CAVE EQU 40
-MUSIC_JOHTO_WILD_BATTLE EQU 41
-MUSIC_JOHTO_TRAINER_BATTLE EQU 42
-MUSIC_ROUTE_30 EQU 43
-MUSIC_ECRUTEAK_CITY EQU 44
-MUSIC_VIOLET_CITY EQU 45
-MUSIC_JOHTO_GYM_LEADER_BATTLE EQU 46
-MUSIC_CHAMPION_BATTLE EQU 47
-MUSIC_RIVAL_BATTLE EQU 48
-MUSIC_ROCKET_BATTLE EQU 49
-MUSIC_PROF_ELM EQU 50
-MUSIC_DARK_CAVE EQU 51
-MUSIC_ROUTE_29 EQU 52
-MUSIC_ROUTE_36 EQU 53
-MUSIC_SS_AQUA EQU 54
-MUSIC_YOUNGSTER_ENCOUNTER EQU 55
-MUSIC_BEAUTY_ENCOUNTER EQU 56
-MUSIC_ROCKET_ENCOUNTER EQU 57
-MUSIC_POKEMANIAC_ENCOUNTER EQU 58
-MUSIC_SAGE_ENCOUNTER EQU 59
-MUSIC_NEW_BARK_TOWN EQU 60
-MUSIC_GOLDENROD_CITY EQU 61
-MUSIC_VERMILION_CITY EQU 62
-MUSIC_POKEMON_CHANNEL EQU 63
-MUSIC_POKE_FLUTE_CHANNEL EQU 64
-MUSIC_TIN_TOWER EQU 65
-MUSIC_SPROUT_TOWER EQU 66
-MUSIC_BURNED_TOWER EQU 67
-MUSIC_LIGHTHOUSE EQU 68
-MUSIC_LAKE_OF_RAGE EQU 69
-MUSIC_INDIGO_PLATEAU EQU 70
-MUSIC_ROUTE_37 EQU 71
-MUSIC_ROCKET_HIDEOUT EQU 72
-MUSIC_DRAGONS_DEN EQU 73
-MUSIC_JOHTO_WILD_BATTLE_NIGHT EQU 74
-MUSIC_RUINS_OF_ALPH_RADIO EQU 75
-MUSIC_CAPTURE EQU 76
-MUSIC_ROUTE_26 EQU 77
-MUSIC_MOM EQU 78
-MUSIC_VICTORY_ROAD EQU 79
-MUSIC_POKEMON_LULLABY EQU 80
-MUSIC_POKEMON_MARCH EQU 81
-MUSIC_GS_OPENING EQU 82
-MUSIC_GS_OPENING_2 EQU 83
-MUSIC_MAIN_MENU EQU 84
-MUSIC_RUINS_OF_ALPH_INTERIOR EQU 85
-MUSIC_ROCKET_OVERTURE EQU 86
-MUSIC_DANCING_HALL EQU 87
-MUSIC_BUG_CATCHING_CONTEST_RANKING EQU 88
-MUSIC_BUG_CATCHING_CONTEST EQU 89
-MUSIC_LAKE_OF_RAGE_ROCKET_RADIO EQU 90
-MUSIC_PRINTER EQU 91
-MUSIC_POST_CREDITS EQU 92
+ const_def
-MUSIC_CLAIR EQU 93
-MUSIC_MOBILE_ADAPTER_MENU EQU 94
-MUSIC_MOBILE_ADAPTER EQU 95
-MUSIC_BUENAS_PASSWORD EQU 96
-MUSIC_MYSTICALMAN_ENCOUNTER EQU 97
-MUSIC_CRYSTAL_OPENING EQU 98
-MUSIC_BATTLE_TOWER_THEME EQU 99
-MUSIC_SUICUNE_BATTLE EQU 100
-MUSIC_BATTLE_TOWER_LOBBY EQU 101
-MUSIC_MOBILE_CENTER EQU 102
+ const MUSIC_NONE
+ const MUSIC_TITLE
+ const MUSIC_ROUTE_1
+ const MUSIC_ROUTE_3
+ const MUSIC_ROUTE_12
+ const MUSIC_MAGNET_TRAIN
+ const MUSIC_KANTO_GYM_LEADER_BATTLE
+ const MUSIC_KANTO_TRAINER_BATTLE
+ const MUSIC_KANTO_WILD_BATTLE
+ const MUSIC_POKEMON_CENTER
+ const MUSIC_HIKER_ENCOUNTER
+ const MUSIC_LASS_ENCOUNTER
+ const MUSIC_OFFICER_ENCOUNTER
+ const MUSIC_HEAL
+ const MUSIC_LAVENDER_TOWN
+ const MUSIC_ROUTE_2
+ const MUSIC_MT_MOON
+ const MUSIC_SHOW_ME_AROUND
+ const MUSIC_GAME_CORNER
+ const MUSIC_BICYCLE
+ const MUSIC_HALL_OF_FAME
+ const MUSIC_VIRIDIAN_CITY
+ const MUSIC_CELADON_CITY
+ const MUSIC_TRAINER_VICTORY
+ const MUSIC_WILD_VICTORY
+ const MUSIC_GYM_VICTORY
+ const MUSIC_MT_MOON_SQUARE
+ const MUSIC_GYM
+ const MUSIC_PALLET_TOWN
+ const MUSIC_POKEMON_TALK
+ const MUSIC_PROF_OAK
+ const MUSIC_RIVAL_ENCOUNTER
+ const MUSIC_RIVAL_AFTER
+ const MUSIC_SURF
+ const MUSIC_EVOLUTION
+ const MUSIC_NATIONAL_PARK
+ const MUSIC_CREDITS
+ const MUSIC_AZALEA_TOWN
+ const MUSIC_CHERRYGROVE_CITY
+ const MUSIC_KIMONO_ENCOUNTER
+ const MUSIC_UNION_CAVE
+ const MUSIC_JOHTO_WILD_BATTLE
+ const MUSIC_JOHTO_TRAINER_BATTLE
+ const MUSIC_ROUTE_30
+ const MUSIC_ECRUTEAK_CITY
+ const MUSIC_VIOLET_CITY
+ const MUSIC_JOHTO_GYM_LEADER_BATTLE
+ const MUSIC_CHAMPION_BATTLE
+ const MUSIC_RIVAL_BATTLE
+ const MUSIC_ROCKET_BATTLE
+ const MUSIC_PROF_ELM
+ const MUSIC_DARK_CAVE
+ const MUSIC_ROUTE_29
+ const MUSIC_ROUTE_36
+ const MUSIC_SS_AQUA
+ const MUSIC_YOUNGSTER_ENCOUNTER
+ const MUSIC_BEAUTY_ENCOUNTER
+ const MUSIC_ROCKET_ENCOUNTER
+ const MUSIC_POKEMANIAC_ENCOUNTER
+ const MUSIC_SAGE_ENCOUNTER
+ const MUSIC_NEW_BARK_TOWN
+ const MUSIC_GOLDENROD_CITY
+ const MUSIC_VERMILION_CITY
+ const MUSIC_POKEMON_CHANNEL
+ const MUSIC_POKE_FLUTE_CHANNEL
+ const MUSIC_TIN_TOWER
+ const MUSIC_SPROUT_TOWER
+ const MUSIC_BURNED_TOWER
+ const MUSIC_LIGHTHOUSE
+ const MUSIC_LAKE_OF_RAGE
+ const MUSIC_INDIGO_PLATEAU
+ const MUSIC_ROUTE_37
+ const MUSIC_ROCKET_HIDEOUT
+ const MUSIC_DRAGONS_DEN
+ const MUSIC_JOHTO_WILD_BATTLE_NIGHT
+ const MUSIC_RUINS_OF_ALPH_RADIO
+ const MUSIC_CAPTURE
+ const MUSIC_ROUTE_26
+ const MUSIC_MOM
+ const MUSIC_VICTORY_ROAD
+ const MUSIC_POKEMON_LULLABY
+ const MUSIC_POKEMON_MARCH
+ const MUSIC_GS_OPENING
+ const MUSIC_GS_OPENING_2
+ const MUSIC_MAIN_MENU
+ const MUSIC_RUINS_OF_ALPH_INTERIOR
+ const MUSIC_ROCKET_OVERTURE
+ const MUSIC_DANCING_HALL
+ const MUSIC_BUG_CATCHING_CONTEST_RANKING
+ const MUSIC_BUG_CATCHING_CONTEST
+ const MUSIC_LAKE_OF_RAGE_ROCKET_RADIO
+ const MUSIC_PRINTER
+ const MUSIC_POST_CREDITS
+ const MUSIC_CLAIR
+ const MUSIC_MOBILE_ADAPTER_MENU
+ const MUSIC_MOBILE_ADAPTER
+ const MUSIC_BUENAS_PASSWORD
+ const MUSIC_MYSTICALMAN_ENCOUNTER
+ const MUSIC_CRYSTAL_OPENING
+ const MUSIC_BATTLE_TOWER_THEME
+ const MUSIC_SUICUNE_BATTLE
+ const MUSIC_BATTLE_TOWER_LOBBY
+ const MUSIC_MOBILE_CENTER
MUSIC_MAHOGANY_MART EQU 100 ; leftover from gold
diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm
index ba106611a..c4fde4e75 100644
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -1,4 +1,3 @@
-NUM_POKEMON EQU 251
const_value set 1
const BULBASAUR
@@ -253,4 +252,8 @@ const_value set 1
const HO_OH
const CELEBI
+const_value SET const_value + -1
+
+NUM_POKEMON EQU const_value
+
EGG EQU 253
diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm
index 449447b5b..fd84c727c 100644
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -1,75 +1,80 @@
; growth rate
-MEDIUM_FAST EQU 0
-MEDIUM_SLOW EQU 3
-SLOW EQU 4
-FAST EQU 5
+ const_def
+ const MEDIUM_FAST
+ const SLIGHTLY_FAST
+ const SLIGHTLY_SLOW
+ const MEDIUM_SLOW
+ const SLOW
+ const FAST
; egg group constants
-
-MONSTER EQU $01
-AMPHIBIAN EQU $02
-INSECT EQU $03
-AVIAN EQU $04
-FIELD EQU $05
-FAIRY EQU $06
-PLANT EQU $07
-HUMANSHAPE EQU $08
-INVERTEBRATE EQU $09
-INANIMATE EQU $0A
-AMORPHOUS EQU $0B
-FISH EQU $0C
-LADIES_MAN EQU $0D
-REPTILE EQU $0E
-NO_EGGS EQU $0F
+const_value SET 1
+ const MONSTER
+ const AMPHIBIAN
+ const INSECT
+ const AVIAN
+ const FIELD
+ const FAIRY
+ const PLANT
+ const HUMANSHAPE
+ const INVERTEBRATE
+ const INANIMATE
+ const AMORPHOUS
+ const FISH
+ const LADIES_MAN
+ const REPTILE
+ const NO_EGGS
; menu sprites
-ICON_POLIWAG EQU $01
-ICON_JIGGLYPUFF EQU $02
-ICON_DIGLETT EQU $03
-ICON_PIKACHU EQU $04
-ICON_STARYU EQU $05
-ICON_FISH EQU $06
-ICON_BIRD EQU $07
-ICON_MONSTER EQU $08
-ICON_CLEFAIRY EQU $09
-ICON_ODDISH EQU $0a
-ICON_BUG EQU $0b
-ICON_GHOST EQU $0c
-ICON_LAPRAS EQU $0d
-ICON_HUMANSHAPE EQU $0e
-ICON_FOX EQU $0f
-ICON_EQUINE EQU $10
-ICON_SHELL EQU $11
-ICON_BLOB EQU $12
-ICON_SERPENT EQU $13
-ICON_VOLTORB EQU $14
-ICON_SQUIRTLE EQU $15
-ICON_BULBASAUR EQU $16
-ICON_CHARMANDER EQU $17
-ICON_CATERPILLAR EQU $18
-ICON_UNOWN EQU $19
-ICON_GEODUDE EQU $1a
-ICON_FIGHTER EQU $1b
-ICON_EGG EQU $1c
-ICON_JELLYFISH EQU $1d
-ICON_MOTH EQU $1e
-ICON_BAT EQU $1f
-ICON_SNORLAX EQU $20
-ICON_HO_OH EQU $21
-ICON_LUGIA EQU $22
-ICON_GYARADOS EQU $23
-ICON_SLOWPOKE EQU $24
-ICON_SUDOWOODO EQU $25
-ICON_BIGMON EQU $26
+const_value SET 1
+ const ICON_POLIWAG
+ const ICON_JIGGLYPUFF
+ const ICON_DIGLETT
+ const ICON_PIKACHU
+ const ICON_STARYU
+ const ICON_FISH
+ const ICON_BIRD
+ const ICON_MONSTER
+ const ICON_CLEFAIRY
+ const ICON_ODDISH
+ const ICON_BUG
+ const ICON_GHOST
+ const ICON_LAPRAS
+ const ICON_HUMANSHAPE
+ const ICON_FOX
+ const ICON_EQUINE
+ const ICON_SHELL
+ const ICON_BLOB
+ const ICON_SERPENT
+ const ICON_VOLTORB
+ const ICON_SQUIRTLE
+ const ICON_BULBASAUR
+ const ICON_CHARMANDER
+ const ICON_CATERPILLAR
+ const ICON_UNOWN
+ const ICON_GEODUDE
+ const ICON_FIGHTER
+ const ICON_EGG
+ const ICON_JELLYFISH
+ const ICON_MOTH
+ const ICON_BAT
+ const ICON_SNORLAX
+ const ICON_HO_OH
+ const ICON_LUGIA
+ const ICON_GYARADOS
+ const ICON_SLOWPOKE
+ const ICON_SUDOWOODO
+ const ICON_BIGMON
; evolution types
-EVOLVE_LEVEL EQU 1
-EVOLVE_ITEM EQU 2
-EVOLVE_TRADE EQU 3
-EVOLVE_HAPPINESS EQU 4
-EVOLVE_STAT EQU 5
+const_value SET 1
+ const EVOLVE_LEVEL
+ const EVOLVE_ITEM
+ const EVOLVE_TRADE
+ const EVOLVE_HAPPINESS
+ const EVOLVE_STAT
BASE_HAPPINESS EQU 70
@@ -77,12 +82,14 @@ FRIEND_BALL_HAPPINESS EQU 200
; happiness evolution triggers
HAPPINESS_TO_EVOLVE EQU 220
-TR_ANYTIME EQU 1
-TR_MORNDAY EQU 2
-TR_NITE EQU 3
+const_value SET 1
+ const TR_ANYTIME
+ const TR_MORNDAY
+ const TR_NITE
; stat evolution triggers
-ATK_GT_DEF EQU 1
-ATK_LT_DEF EQU 2
-ATK_EQ_DEF EQU 3
+const_value SET 1
+ const ATK_GT_DEF
+ const ATK_LT_DEF
+ const ATK_EQ_DEF
diff --git a/constants/sfx_constants.asm b/constants/sfx_constants.asm
index 8107d56c5..d68f39cb0 100644
--- a/constants/sfx_constants.asm
+++ b/constants/sfx_constants.asm
@@ -1,208 +1,210 @@
-SFX_DEX_FANFARE_50_79 EQU $00
-SFX_ITEM EQU $01
-SFX_CAUGHT_MON EQU $02
-SFX_POKEBALLS_PLACED_ON_TABLE EQU $03
-SFX_POTION EQU $04
-SFX_FULL_HEAL EQU $05
-SFX_MENU EQU $06
-SFX_READ_TEXT EQU $07
-SFX_READ_TEXT_2 EQU $08
-SFX_DEX_FANFARE_20_49 EQU $09
-SFX_DEX_FANFARE_80_109 EQU $0a
-SFX_POISON EQU $0b
-SFX_GOT_SAFARI_BALLS EQU $0c
-SFX_BOOT_PC EQU $0d
-SFX_SHUT_DOWN_PC EQU $0e
-SFX_CHOOSE_PC_OPTION EQU $0f
-SFX_ESCAPE_ROPE EQU $10
-SFX_PUSH_BUTTON EQU $11
-SFX_SECOND_PART_OF_ITEMFINDER EQU $12
-SFX_WARP_TO EQU $13
-SFX_WARP_FROM EQU $14
-SFX_CHANGE_DEX_MODE EQU $15
-SFX_JUMP_OVER_LEDGE EQU $16
-SFX_GRASS_RUSTLE EQU $17
-SFX_FLY EQU $18
-SFX_WRONG EQU $19
-SFX_SQUEAK EQU $1a
-SFX_STRENGTH EQU $1b
-SFX_BOAT EQU $1c
-SFX_WALL_OPEN EQU $1d
-SFX_PLACE_PUZZLE_PIECE_DOWN EQU $1e
-SFX_ENTER_DOOR EQU $1f
-SFX_SWITCH_POKEMON EQU $20
-SFX_TALLY EQU $21
-SFX_TRANSACTION EQU $22
-SFX_EXIT_BUILDING EQU $23
-SFX_BUMP EQU $24
-SFX_SAVE EQU $25
-SFX_POKEFLUTE EQU $26
-SFX_ELEVATOR_END EQU $27
-SFX_THROW_BALL EQU $28
-SFX_BALL_POOF EQU $29
-SFX_UNKNOWN_2A EQU $2a
-SFX_RUN EQU $2b
-SFX_SLOT_MACHINE_START EQU $2c
-SFX_FANFARE EQU $2d
-SFX_PECK EQU $2e
-SFX_KINESIS EQU $2f
-SFX_LICK EQU $30
-SFX_POUND EQU $31
-SFX_MOVE_PUZZLE_PIECE EQU $32
-SFX_COMET_PUNCH EQU $33
-SFX_MEGA_PUNCH EQU $34
-SFX_SCRATCH EQU $35
-SFX_VICEGRIP EQU $36
-SFX_RAZOR_WIND EQU $37
-SFX_CUT EQU $38
-SFX_WING_ATTACK EQU $39
-SFX_WHIRLWIND EQU $3a
-SFX_BIND EQU $3b
-SFX_VINE_WHIP EQU $3c
-SFX_DOUBLE_KICK EQU $3d
-SFX_MEGA_KICK EQU $3e
-SFX_HEADBUTT EQU $3f
-SFX_HORN_ATTACK EQU $40
-SFX_TACKLE EQU $41
-SFX_POISON_STING EQU $42
-SFX_POWDER EQU $43
-SFX_DOUBLESLAP EQU $44
-SFX_BITE EQU $45
-SFX_JUMP_KICK EQU $46
-SFX_STOMP EQU $47
-SFX_TAIL_WHIP EQU $48
-SFX_KARATE_CHOP EQU $49
-SFX_SUBMISSION EQU $4a
-SFX_WATER_GUN EQU $4b
-SFX_SWORDS_DANCE EQU $4c
-SFX_THUNDER EQU $4d
-SFX_SUPERSONIC EQU $4e
-SFX_LEER EQU $4f
-SFX_EMBER EQU $50
-SFX_BUBBLEBEAM EQU $51
-SFX_HYDRO_PUMP EQU $52
-SFX_SURF EQU $53
-SFX_PSYBEAM EQU $54
-SFX_CHARGE EQU $55
-SFX_THUNDERSHOCK EQU $56
-SFX_PSYCHIC EQU $57
-SFX_SCREECH EQU $58
-SFX_BONE_CLUB EQU $59
-SFX_SHARPEN EQU $5a
-SFX_EGG_BOMB EQU $5b
-SFX_SING EQU $5c
-SFX_HYPER_BEAM EQU $5d
-SFX_SHINE EQU $5e
-SFX_UNKNOWN_5F EQU $5f
-SFX_UNKNOWN_60 EQU $60
-SFX_UNKNOWN_61 EQU $61
-SFX_UNKNOWN_62 EQU $62
-SFX_UNKNOWN_63 EQU $63
-SFX_BURN EQU $64
-SFX_TITLE_SCREEN_ENTRANCE EQU $65
-SFX_UNKNOWN_66 EQU $66
-SFX_GET_COIN_FROM_SLOTS EQU $67
-SFX_PAY_DAY EQU $68
-SFX_METRONOME EQU $69
-SFX_CALL EQU $6a
-SFX_HANG_UP EQU $6b
-SFX_NO_SIGNAL EQU $6c
-SFX_SANDSTORM EQU $6d
-SFX_ELEVATOR EQU $6e
-SFX_PROTECT EQU $6f
-SFX_SKETCH EQU $70
-SFX_RAIN_DANCE EQU $71
-SFX_AEROBLAST EQU $72
-SFX_SPARK EQU $73
-SFX_CURSE EQU $74
-SFX_RAGE EQU $75
-SFX_THIEF EQU $76
-SFX_THIEF_2 EQU $77
-SFX_SPIDER_WEB EQU $78
-SFX_MIND_READER EQU $79
-SFX_NIGHTMARE EQU $7a
-SFX_SNORE EQU $7b
-SFX_SWEET_KISS EQU $7c
-SFX_SWEET_KISS_2 EQU $7d
-SFX_BELLY_DRUM EQU $7e
-SFX_UNKNOWN_7F EQU $7f
-SFX_SLUDGE_BOMB EQU $80
-SFX_FORESIGHT EQU $81
-SFX_SPITE EQU $82
-SFX_OUTRAGE EQU $83
-SFX_PERISH_SONG EQU $84
-SFX_GIGA_DRAIN EQU $85
-SFX_ATTRACT EQU $86
-SFX_KINESIS_2 EQU $87
-SFX_ZAP_CANNON EQU $88
-SFX_MEAN_LOOK EQU $89
-SFX_HEAL_BELL EQU $8a
-SFX_RETURN EQU $8b
-SFX_EXP_BAR EQU $8c
-SFX_MILK_DRINK EQU $8d
-SFX_PRESENT EQU $8e
-SFX_MORNING_SUN EQU $8f
-SFX_LEVEL_UP EQU $90
-SFX_KEY_ITEM EQU $91
-SFX_FANFARE_2 EQU $92
-SFX_REGISTER_PHONE_NUMBER EQU $93
-SFX_3RD_PLACE EQU $94
-SFX_GET_EGG_FROM_DAYCARE_MAN EQU $95
-SFX_GET_EGG_FROM_DAYCARE_LADY EQU $96
-SFX_MOVE_DELETED EQU $97
-SFX_2ND_PLACE EQU $98
-SFX_1ST_PLACE EQU $99
-SFX_CHOOSE_A_CARD EQU $9a
-SFX_GET_TM EQU $9b
-SFX_GET_BADGE EQU $9c
-SFX_QUIT_SLOTS EQU $9d
-SFX_EGG_CRACK EQU $9e
-SFX_DEX_FANFARE_LESS_THAN_20 EQU $9f
-SFX_DEX_FANFARE_140_169 EQU $a0
-SFX_DEX_FANFARE_170_199 EQU $a1
-SFX_DEX_FANFARE_200_229 EQU $a2
-SFX_DEX_FANFARE_230_PLUS EQU $a3
-SFX_EVOLVED EQU $a4
-SFX_MASTER_BALL EQU $a5
-SFX_EGG_HATCH EQU $a6
-SFX_GS_INTRO_CHARIZARD_FIREBALL EQU $a7
-SFX_GS_INTRO_POKEMON_APPEARS EQU $a8
-SFX_FLASH EQU $a9
-SFX_GAME_FREAK_LOGO_GS EQU $aa
-SFX_NOT_VERY_EFFECTIVE EQU $ab
-SFX_DAMAGE EQU $ac
-SFX_SUPER_EFFECTIVE EQU $ad
-SFX_BALL_BOUNCE EQU $ae
-SFX_MOONLIGHT EQU $af
-SFX_ENCORE EQU $b0
-SFX_BEAT_UP EQU $b1
-SFX_BATON_PASS EQU $b2
-SFX_BALL_WIGGLE EQU $b3
-SFX_SWEET_SCENT EQU $b4
-SFX_SWEET_SCENT_2 EQU $b5
-SFX_HIT_END_OF_EXP_BAR EQU $b6
-SFX_GIVE_TRADEMON EQU $b7
-SFX_GET_TRADEMON EQU $b8
-SFX_TRAIN_ARRIVED EQU $b9
-SFX_STOP_SLOT EQU $ba
-SFX_2_BOOPS EQU $bb
-SFX_GLASS_TING EQU $bc
-SFX_GLASS_TING_2 EQU $bd
+ const_def
-SFX_INTRO_UNOWN_1 EQU $be
-SFX_INTRO_UNOWN_2 EQU $bf
-SFX_INTRO_UNOWN_3 EQU $c0
-SFX_DITTO_POP_UP EQU $c1
-SFX_DITTO_TRANSFORM EQU $c2
-SFX_INTRO_SUICUNE_1 EQU $c3
-SFX_INTRO_PICHU EQU $c4
-SFX_INTRO_SUICUNE_2 EQU $c5
-SFX_INTRO_SUICUNE_3 EQU $c6
-SFX_DITTO_BOUNCE EQU $c7
-SFX_INTRO_SUICUNE_4 EQU $c8
-SFX_GAME_FREAK_PRESENTS EQU $c9
-SFX_TINGLE EQU $ca
-SFX_UNKNOWN_CB EQU $cb
-SFX_TWO_PC_BEEPS EQU $cc
-SFX_4_NOTE_DITTY EQU $cd
-SFX_TWINKLE EQU $ce
+ const SFX_DEX_FANFARE_50_79
+ const SFX_ITEM
+ const SFX_CAUGHT_MON
+ const SFX_POKEBALLS_PLACED_ON_TABLE
+ const SFX_POTION
+ const SFX_FULL_HEAL
+ const SFX_MENU
+ const SFX_READ_TEXT
+ const SFX_READ_TEXT_2
+ const SFX_DEX_FANFARE_20_49
+ const SFX_DEX_FANFARE_80_109
+ const SFX_POISON
+ const SFX_GOT_SAFARI_BALLS
+ const SFX_BOOT_PC
+ const SFX_SHUT_DOWN_PC
+ const SFX_CHOOSE_PC_OPTION
+ const SFX_ESCAPE_ROPE
+ const SFX_PUSH_BUTTON
+ const SFX_SECOND_PART_OF_ITEMFINDER
+ const SFX_WARP_TO
+ const SFX_WARP_FROM
+ const SFX_CHANGE_DEX_MODE
+ const SFX_JUMP_OVER_LEDGE
+ const SFX_GRASS_RUSTLE
+ const SFX_FLY
+ const SFX_WRONG
+ const SFX_SQUEAK
+ const SFX_STRENGTH
+ const SFX_BOAT
+ const SFX_WALL_OPEN
+ const SFX_PLACE_PUZZLE_PIECE_DOWN
+ const SFX_ENTER_DOOR
+ const SFX_SWITCH_POKEMON
+ const SFX_TALLY
+ const SFX_TRANSACTION
+ const SFX_EXIT_BUILDING
+ const SFX_BUMP
+ const SFX_SAVE
+ const SFX_POKEFLUTE
+ const SFX_ELEVATOR_END
+ const SFX_THROW_BALL
+ const SFX_BALL_POOF
+ const SFX_UNKNOWN_2A
+ const SFX_RUN
+ const SFX_SLOT_MACHINE_START
+ const SFX_FANFARE
+ const SFX_PECK
+ const SFX_KINESIS
+ const SFX_LICK
+ const SFX_POUND
+ const SFX_MOVE_PUZZLE_PIECE
+ const SFX_COMET_PUNCH
+ const SFX_MEGA_PUNCH
+ const SFX_SCRATCH
+ const SFX_VICEGRIP
+ const SFX_RAZOR_WIND
+ const SFX_CUT
+ const SFX_WING_ATTACK
+ const SFX_WHIRLWIND
+ const SFX_BIND
+ const SFX_VINE_WHIP
+ const SFX_DOUBLE_KICK
+ const SFX_MEGA_KICK
+ const SFX_HEADBUTT
+ const SFX_HORN_ATTACK
+ const SFX_TACKLE
+ const SFX_POISON_STING
+ const SFX_POWDER
+ const SFX_DOUBLESLAP
+ const SFX_BITE
+ const SFX_JUMP_KICK
+ const SFX_STOMP
+ const SFX_TAIL_WHIP
+ const SFX_KARATE_CHOP
+ const SFX_SUBMISSION
+ const SFX_WATER_GUN
+ const SFX_SWORDS_DANCE
+ const SFX_THUNDER
+ const SFX_SUPERSONIC
+ const SFX_LEER
+ const SFX_EMBER
+ const SFX_BUBBLEBEAM
+ const SFX_HYDRO_PUMP
+ const SFX_SURF
+ const SFX_PSYBEAM
+ const SFX_CHARGE
+ const SFX_THUNDERSHOCK
+ const SFX_PSYCHIC
+ const SFX_SCREECH
+ const SFX_BONE_CLUB
+ const SFX_SHARPEN
+ const SFX_EGG_BOMB
+ const SFX_SING
+ const SFX_HYPER_BEAM
+ const SFX_SHINE
+ const SFX_UNKNOWN_5F
+ const SFX_UNKNOWN_60
+ const SFX_UNKNOWN_61
+ const SFX_UNKNOWN_62
+ const SFX_UNKNOWN_63
+ const SFX_BURN
+ const SFX_TITLE_SCREEN_ENTRANCE
+ const SFX_UNKNOWN_66
+ const SFX_GET_COIN_FROM_SLOTS
+ const SFX_PAY_DAY
+ const SFX_METRONOME
+ const SFX_CALL
+ const SFX_HANG_UP
+ const SFX_NO_SIGNAL
+ const SFX_SANDSTORM
+ const SFX_ELEVATOR
+ const SFX_PROTECT
+ const SFX_SKETCH
+ const SFX_RAIN_DANCE
+ const SFX_AEROBLAST
+ const SFX_SPARK
+ const SFX_CURSE
+ const SFX_RAGE
+ const SFX_THIEF
+ const SFX_THIEF_2
+ const SFX_SPIDER_WEB
+ const SFX_MIND_READER
+ const SFX_NIGHTMARE
+ const SFX_SNORE
+ const SFX_SWEET_KISS
+ const SFX_SWEET_KISS_2
+ const SFX_BELLY_DRUM
+ const SFX_UNKNOWN_7F
+ const SFX_SLUDGE_BOMB
+ const SFX_FORESIGHT
+ const SFX_SPITE
+ const SFX_OUTRAGE
+ const SFX_PERISH_SONG
+ const SFX_GIGA_DRAIN
+ const SFX_ATTRACT
+ const SFX_KINESIS_2
+ const SFX_ZAP_CANNON
+ const SFX_MEAN_LOOK
+ const SFX_HEAL_BELL
+ const SFX_RETURN
+ const SFX_EXP_BAR
+ const SFX_MILK_DRINK
+ const SFX_PRESENT
+ const SFX_MORNING_SUN
+ const SFX_LEVEL_UP
+ const SFX_KEY_ITEM
+ const SFX_FANFARE_2
+ const SFX_REGISTER_PHONE_NUMBER
+ const SFX_3RD_PLACE
+ const SFX_GET_EGG_FROM_DAYCARE_MAN
+ const SFX_GET_EGG_FROM_DAYCARE_LADY
+ const SFX_MOVE_DELETED
+ const SFX_2ND_PLACE
+ const SFX_1ST_PLACE
+ const SFX_CHOOSE_A_CARD
+ const SFX_GET_TM
+ const SFX_GET_BADGE
+ const SFX_QUIT_SLOTS
+ const SFX_EGG_CRACK
+ const SFX_DEX_FANFARE_LESS_THAN_20
+ const SFX_DEX_FANFARE_140_169
+ const SFX_DEX_FANFARE_170_199
+ const SFX_DEX_FANFARE_200_229
+ const SFX_DEX_FANFARE_230_PLUS
+ const SFX_EVOLVED
+ const SFX_MASTER_BALL
+ const SFX_EGG_HATCH
+ const SFX_GS_INTRO_CHARIZARD_FIREBALL
+ const SFX_GS_INTRO_POKEMON_APPEARS
+ const SFX_FLASH
+ const SFX_GAME_FREAK_LOGO_GS
+ const SFX_NOT_VERY_EFFECTIVE
+ const SFX_DAMAGE
+ const SFX_SUPER_EFFECTIVE
+ const SFX_BALL_BOUNCE
+ const SFX_MOONLIGHT
+ const SFX_ENCORE
+ const SFX_BEAT_UP
+ const SFX_BATON_PASS
+ const SFX_BALL_WIGGLE
+ const SFX_SWEET_SCENT
+ const SFX_SWEET_SCENT_2
+ const SFX_HIT_END_OF_EXP_BAR
+ const SFX_GIVE_TRADEMON
+ const SFX_GET_TRADEMON
+ const SFX_TRAIN_ARRIVED
+ const SFX_STOP_SLOT
+ const SFX_2_BOOPS
+ const SFX_GLASS_TING
+ const SFX_GLASS_TING_2
+
+ const SFX_INTRO_UNOWN_1
+ const SFX_INTRO_UNOWN_2
+ const SFX_INTRO_UNOWN_3
+ const SFX_DITTO_POP_UP
+ const SFX_DITTO_TRANSFORM
+ const SFX_INTRO_SUICUNE_1
+ const SFX_INTRO_PICHU
+ const SFX_INTRO_SUICUNE_2
+ const SFX_INTRO_SUICUNE_3
+ const SFX_DITTO_BOUNCE
+ const SFX_INTRO_SUICUNE_4
+ const SFX_GAME_FREAK_PRESENTS
+ const SFX_TINGLE
+ const SFX_UNKNOWN_CB
+ const SFX_TWO_PC_BEEPS
+ const SFX_4_NOTE_DITTY
+ const SFX_TWINKLE