shithub: pokecrystal

Download patch

ref: 6ca82e5c86279258bfd4b21195d4521f26082fd4
parent: 9e4a00af4523cdfacbb6b245679e2e60fbc6b375
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Wed Jul 8 11:30:23 EDT 2020

Eliminate enum: use const instead, with case-by-case parallel const implementations

--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -1364,7 +1364,7 @@
 	jp hl
 
 MusicCommands:
-; entries correspond to macros/scripts/audio.asm enumeration
+; entries correspond to audio constants (see macros/scripts/audio.asm)
 	dw Music_Octave8 ; octave 8
 	dw Music_Octave7 ; octave 7
 	dw Music_Octave6 ; octave 6
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -162,59 +162,60 @@
 ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
 
 ; wPlayerSubStatus1 or wEnemySubStatus1 bit flags
-	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
+	const_def
+	const SUBSTATUS_NIGHTMARE
+	const SUBSTATUS_CURSE
+	const SUBSTATUS_PROTECT
+	const SUBSTATUS_IDENTIFIED
+	const SUBSTATUS_PERISH
+	const SUBSTATUS_ENDURE
+	const SUBSTATUS_ROLLOUT
+	const SUBSTATUS_IN_LOVE
 
 ; wPlayerSubStatus2 or wEnemySubStatus2 bit flags
-SUBSTATUS_CURLED EQU 0
+	const_def
+	const SUBSTATUS_CURLED
 
 ; wPlayerSubStatus3 or wEnemySubStatus3 bit flags
-	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
+	const_def
+	const SUBSTATUS_BIDE
+	const SUBSTATUS_RAMPAGE
+	const SUBSTATUS_IN_LOOP
+	const SUBSTATUS_FLINCHED
+	const SUBSTATUS_CHARGED
+	const SUBSTATUS_UNDERGROUND
+	const SUBSTATUS_FLYING
+	const SUBSTATUS_CONFUSED
 
 ; wPlayerSubStatus4 or wEnemySubStatus4 bit flags
-	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
+	const_def
+	const SUBSTATUS_X_ACCURACY
+	const SUBSTATUS_MIST
+	const SUBSTATUS_FOCUS_ENERGY
+	const SUBSTATUS_UNKNOWN_1
+	const SUBSTATUS_SUBSTITUTE
+	const SUBSTATUS_RECHARGE
+	const SUBSTATUS_RAGE
+	const SUBSTATUS_LEECH_SEED
 
 ; wPlayerSubStatus5 or wEnemySubStatus5 bit flags
-	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
+	const_def
+	const SUBSTATUS_TOXIC
+	const SUBSTATUS_UNKNOWN_2
+	const SUBSTATUS_UNKNOWN_3
+	const SUBSTATUS_TRANSFORMED
+	const SUBSTATUS_ENCORED
+	const SUBSTATUS_LOCK_ON
+	const SUBSTATUS_DESTINY_BOND
+	const SUBSTATUS_CANT_RUN
 
 ; wPlayerScreens or wEnemyScreens bit flags
-	enum_start 4, -1
-	enum SCREENS_REFLECT
-	enum SCREENS_LIGHT_SCREEN
-	enum SCREENS_SAFEGUARD
-	enum SCREENS_UNUSED
-	enum SCREENS_SPIKES
+	const_def
+	const SCREENS_SPIKES
+	const SCREENS_UNUSED
+	const SCREENS_SAFEGUARD
+	const SCREENS_LIGHT_SCREEN
+	const SCREENS_REFLECT
 
 ; values in wBattleWeather
 	const_def
--- a/constants/deco_constants.asm
+++ b/constants/deco_constants.asm
@@ -54,9 +54,12 @@
 	const SET_UP_ORNAMENT
 	const PUT_AWAY_ORNAMENT
 
+__deco_value__ = 0
+
 deco: MACRO
 	const DECO_\1
-	enum DECOFLAG_\1
+DECOFLAG_\1 EQU __deco_value__
+__deco_value__ = __deco_value__ + 1
 ENDM
 
 ; decorations:
@@ -63,7 +66,6 @@
 ; - DecorationAttributes (see data/decorations/attributes.asm)
 ; - DecorationIDs (see data/decorations/decorations.asm)
 	const_def 1
-	enum_start
 ; FindOwnedBeds.beds values (see engine/overworld/decorations.asm)
 	const BEDS
 	deco  FEATHERY_BED
@@ -121,7 +123,7 @@
 	deco  GEODUDE_DOLL
 	deco  MACHOP_DOLL
 	deco  TENTACOOL_DOLL
-NUM_NON_TROPHY_DECOS EQU __enum__
+NUM_NON_TROPHY_DECOS EQU __deco_value__
 	deco  GOLD_TROPHY_DOLL
 	deco  SILVER_TROPHY_DOLL
-NUM_DECOS EQU __enum__
+NUM_DECOS EQU __deco_value__
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -197,6 +197,8 @@
 	const MIRAGE_MAIL  ; bd
 	const ITEM_BE      ; be
 
+__tmhm_value__ = 1
+
 add_tm: MACRO
 ; Defines three constants:
 ; - TM_\1: the item id, starting at $bf
@@ -205,17 +207,17 @@
 ; The first usage also defines TM01 as the first TM item id.
 if !DEF(TM01)
 TM01 EQU const_value
-	enum_start 1
 endc
-if __enum__ < 10
-MOVE_FOR_TM EQUS "TM0{d:__enum__}_MOVE"
+if __tmhm_value__ < 10
+MOVE_FOR_TM EQUS "TM0{d:__tmhm_value__}_MOVE"
 else
-MOVE_FOR_TM EQUS "TM{d:__enum__}_MOVE"
+MOVE_FOR_TM EQUS "TM{d:__tmhm_value__}_MOVE"
 endc
 MOVE_FOR_TM = \1
 PURGE MOVE_FOR_TM
 	const TM_\1
-	enum \1_TMNUM
+\1_TMNUM EQU __tmhm_value__
+__tmhm_value__ = __tmhm_value__ + 1
 ENDM
 
 ; see data/moves/tmhm_moves.asm for moves
@@ -271,7 +273,7 @@
 	add_tm FIRE_PUNCH   ; f0
 	add_tm FURY_CUTTER  ; f1
 	add_tm NIGHTMARE    ; f2
-NUM_TMS EQU __enum__ - 1
+NUM_TMS EQU __tmhm_value__ - 1
 
 add_hm: MACRO
 ; Defines three constants:
@@ -282,7 +284,7 @@
 if !DEF(HM01)
 HM01 EQU const_value
 endc
-HM_VALUE EQU __enum__ - NUM_TMS
+HM_VALUE EQU __tmhm_value__ - NUM_TMS
 if HM_VALUE < 10
 MOVE_FOR_HM EQUS "HM0{d:HM_VALUE}_MOVE"
 else
@@ -292,7 +294,8 @@
 PURGE MOVE_FOR_HM
 PURGE HM_VALUE
 	const HM_\1
-	enum \1_TMNUM
+\1_TMNUM EQU __tmhm_value__
+__tmhm_value__ = __tmhm_value__ + 1
 ENDM
 
 	add_hm CUT          ; f3
@@ -302,13 +305,13 @@
 	add_hm FLASH        ; f7
 	add_hm WHIRLPOOL    ; f8
 	add_hm WATERFALL    ; f9
-NUM_HMS EQU __enum__ - NUM_TMS - 1
+NUM_HMS EQU __tmhm_value__ - NUM_TMS - 1
 
 add_mt: MACRO
 ; Defines two constants:
 ; - \1_TMNUM: the learnable TM/HM flag, starting at 58
 ; - MT##_MOVE: alias for the move id, equal to the value of \1
-MT_VALUE EQU __enum__ - NUM_TMS - NUM_HMS
+MT_VALUE EQU __tmhm_value__ - NUM_TMS - NUM_HMS
 if MT_VALUE < 10
 MOVE_FOR_MT EQUS "MT0{d:MT_VALUE}_MOVE"
 else
@@ -317,15 +320,16 @@
 MOVE_FOR_MT = \1
 PURGE MOVE_FOR_MT
 PURGE MT_VALUE
-	enum \1_TMNUM
+\1_TMNUM EQU __tmhm_value__
+__tmhm_value__ = __tmhm_value__ + 1
 ENDM
 
 	add_mt FLAMETHROWER
 	add_mt THUNDERBOLT
 	add_mt ICE_BEAM
-NUM_TUTORS = __enum__ - NUM_TMS - NUM_HMS - 1
+NUM_TUTORS = __tmhm_value__ - NUM_TMS - NUM_HMS - 1
 
-NUM_TM_HM_TUTOR EQU __enum__ - 1
+NUM_TM_HM_TUTOR EQU __tmhm_value__ - 1
 
 	const ITEM_FA       ; fa
 
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -1,6 +1,6 @@
 newgroup: MACRO
 const_value = const_value + 1
-	enum_start 1
+__map_value__ = 1
 ENDM
 
 map_const: MACRO
@@ -8,7 +8,8 @@
 ;\2: width: in blocks
 ;\3: height: in blocks
 GROUP_\1 EQU const_value
-	enum MAP_\1
+MAP_\1 EQU __map_value__
+__map_value__ = __map_value__ + 1
 \1_WIDTH EQU \2
 \1_HEIGHT EQU \3
 ENDM
--- a/constants/trainer_constants.asm
+++ b/constants/trainer_constants.asm
@@ -1,5 +1,8 @@
+__trainer_class__ = 0
+
 trainerclass: MACRO
-	enum \1
+\1 EQU __trainer_class__
+__trainer_class__ = __trainer_class__ + 1
 const_value = 1
 ENDM
 
@@ -15,8 +18,7 @@
 ; - BTTrainerClassSprites (see data/trainers/sprites.asm)
 ; - BTTrainerClassGenders (see data/trainers/genders.asm)
 ; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see data/trainers/parties.asm)
-	enum_start
-CHRIS EQU __enum__
+CHRIS EQU __trainer_class__
 	trainerclass TRAINER_NONE ; 0
 	const PHONECONTACT_MOM
 	const PHONECONTACT_BIKESHOP
@@ -24,7 +26,7 @@
 	const PHONECONTACT_ELM
 	const PHONECONTACT_BUENA
 
-KRIS EQU __enum__
+KRIS EQU __trainer_class__
 	trainerclass FALKNER ; 1
 	const FALKNER1
 
@@ -700,4 +702,4 @@
 	trainerclass MYSTICALMAN ; 43
 	const EUSINE
 
-NUM_TRAINER_CLASSES EQU __enum__
+NUM_TRAINER_CLASSES EQU __trainer_class__
--- a/data/moves/tmhm_moves.asm
+++ b/data/moves/tmhm_moves.asm
@@ -2,7 +2,7 @@
 ; define constants for the item IDs and for the corresponding move values.
 
 TMHMMoves:
-; entries correspond to *_TMNUM enums (see constants/item_constants.asm)
+; entries correspond to *_TMNUM constants (see constants/item_constants.asm)
 
 ; TMs
 n = 1
--- a/engine/battle_anims/anim_commands.asm
+++ b/engine/battle_anims/anim_commands.asm
@@ -326,7 +326,7 @@
 	jp hl
 
 BattleAnimCommands::
-; entries correspond to macros/scripts/battle_anims.asm enumeration
+; entries correspond to anim_* constants (see macros/scripts/battle_anims.asm)
 	dw BattleAnimCmd_Obj
 	dw BattleAnimCmd_1GFX
 	dw BattleAnimCmd_2GFX
--- a/engine/movie/trade_animation.asm
+++ b/engine/movie/trade_animation.asm
@@ -231,7 +231,7 @@
 	jumptable .JumpTable, wJumptableIndex
 
 .JumpTable:
-; entries correspond to macros/scripts/trade_anims.asm enumeration
+; entries correspond to tradeanim_* constants (see macros/scripts/trade_anims.asm)
 	dw TradeAnim_AdvanceScriptPointer ; 00
 	dw TradeAnim_ShowGivemonData      ; 01
 	dw TradeAnim_ShowGetmonData       ; 02
--- a/engine/overworld/movement.asm
+++ b/engine/overworld/movement.asm
@@ -1,5 +1,5 @@
 MovementPointers:
-; entries correspond to macros/scripts/movement.asm enumeration
+; entries correspond to movement_* constants (see macros/scripts/movement.asm)
 	dw Movement_turn_head_down        ; 00
 	dw Movement_turn_head_up          ; 01
 	dw Movement_turn_head_left        ; 02
--- a/engine/overworld/scripting.asm
+++ b/engine/overworld/scripting.asm
@@ -62,7 +62,7 @@
 	ret
 
 ScriptCommandTable:
-; entries correspond to macros/scripts/events.asm enumeration
+; entries correspond to *_command constants (see macros/scripts/events.asm)
 	dw Script_scall                      ; 00
 	dw Script_farscall                   ; 01
 	dw Script_memcall                    ; 02
--- a/lib/mobile/main.asm
+++ b/lib/mobile/main.asm
@@ -1,6 +1,6 @@
 ; A library included as part of the Mobile Adapter GB SDK.
 
-INCLUDE "macros/enum.asm"
+INCLUDE "macros/const.asm"
 INCLUDE "constants/hardware_constants.asm"
 INCLUDE "constants/mobile_constants.asm"
 
--- a/macros.asm
+++ b/macros.asm
@@ -1,4 +1,4 @@
-INCLUDE "macros/enum.asm"
+INCLUDE "macros/const.asm"
 INCLUDE "macros/predef.asm"
 INCLUDE "macros/rst.asm"
 INCLUDE "macros/data.asm"
--- /dev/null
+++ b/macros/const.asm
@@ -1,0 +1,24 @@
+; Enumerate constants
+
+const_def: MACRO
+if _NARG >= 1
+const_value = \1
+else
+const_value = 0
+endc
+if _NARG >= 2
+const_inc = \2
+else
+const_inc = 1
+endc
+ENDM
+
+const: MACRO
+\1 EQU const_value
+const_value = const_value + const_inc
+ENDM
+
+shift_const: MACRO
+\1 EQU (1 << const_value)
+const_value = const_value + const_inc
+ENDM
--- a/macros/enum.asm
+++ /dev/null
@@ -1,43 +1,0 @@
-; Enumerate variables
-
-enum_start: MACRO
-if _NARG >= 1
-__enum__ = \1
-else
-__enum__ = 0
-endc
-if _NARG >= 2
-__enumdir__ = \2
-else
-__enumdir__ = 1
-endc
-ENDM
-
-enum: MACRO
-\1 EQU __enum__
-__enum__ = __enum__ + __enumdir__
-ENDM
-
-enum_set: MACRO
-__enum__ = \1
-ENDM
-
-; Enumerate constants
-
-const_def: MACRO
-if _NARG >= 1
-const_value = \1
-else
-const_value = 0
-endc
-ENDM
-
-const: MACRO
-\1 EQU const_value
-const_value = const_value + 1
-ENDM
-
-shift_const: MACRO
-\1 EQU (1 << const_value)
-const_value = const_value + 1
-ENDM
--- a/macros/scripts/audio.asm
+++ b/macros/scripts/audio.asm
@@ -41,17 +41,17 @@
 ENDM
 
 ; MusicCommands indexes (see audio/engine.asm)
-	enum_start $d0, 8
-FIRST_MUSIC_CMD EQU __enum__
+	const_def $d0, 8
+FIRST_MUSIC_CMD EQU const_value
 
-	enum octave_cmd ; $d0
+	const octave_cmd ; $d0
 octave: MACRO
 	db octave_cmd | 8 - (\1) ; octave
 ENDM
 
-__enumdir__ = 1
+const_inc = 1
 
-	enum note_type_cmd ; $d8
+	const note_type_cmd ; $d8
 note_type: MACRO
 	db note_type_cmd
 	db \1 ; note length
@@ -69,25 +69,25 @@
 	note_type \1 ; note length
 ENDM
 
-	enum transpose_cmd ; $d9
+	const transpose_cmd ; $d9
 transpose: MACRO
 	db transpose_cmd
 	dn \1, \2 ; num octaves, num pitches
 ENDM
 
-	enum tempo_cmd ; $da
+	const tempo_cmd ; $da
 tempo: MACRO
 	db tempo_cmd
 	bigdw \1 ; tempo
 ENDM
 
-	enum duty_cycle_cmd ; $db
+	const duty_cycle_cmd ; $db
 duty_cycle: MACRO
 	db duty_cycle_cmd
 	db \1 ; duty cycle
 ENDM
 
-	enum volume_envelope_cmd ; $dc
+	const volume_envelope_cmd ; $dc
 volume_envelope: MACRO
 	db volume_envelope_cmd
 	IF \2 < 0
@@ -97,7 +97,7 @@
 	ENDC
 ENDM
 
-	enum pitch_sweep_cmd ; $dd
+	const pitch_sweep_cmd ; $dd
 pitch_sweep: MACRO
 	db pitch_sweep_cmd
 	IF \2 < 0
@@ -107,18 +107,18 @@
 	ENDC
 ENDM
 
-	enum duty_cycle_pattern_cmd ; $de
+	const duty_cycle_pattern_cmd ; $de
 duty_cycle_pattern: MACRO
 	db duty_cycle_pattern_cmd
 	db (\1 << 6) | (\2 << 4) | (\3 << 2) | (\4 << 0) ; duty cycle pattern
 ENDM
 
-	enum toggle_sfx_cmd ; $df
+	const toggle_sfx_cmd ; $df
 toggle_sfx: MACRO
 	db toggle_sfx_cmd
 ENDM
 
-	enum pitch_slide_cmd ; $e0
+	const pitch_slide_cmd ; $e0
 pitch_slide: MACRO
 	db pitch_slide_cmd
 	db \1 - 1 ; duration
@@ -125,7 +125,7 @@
 	dn 8 - \2, \3 % 12 ; octave, pitch
 ENDM
 
-	enum vibrato_cmd ; $e1
+	const vibrato_cmd ; $e1
 vibrato: MACRO
 	db vibrato_cmd
 	db \1 ; delay
@@ -136,13 +136,13 @@
 	ENDC
 ENDM
 
-	enum unknownmusic0xe2_cmd ; $e2
+	const unknownmusic0xe2_cmd ; $e2
 unknownmusic0xe2: MACRO
 	db unknownmusic0xe2_cmd
 	db \1 ; unknown
 ENDM
 
-	enum toggle_noise_cmd ; $e3
+	const toggle_noise_cmd ; $e3
 toggle_noise: MACRO
 	db toggle_noise_cmd
 	IF _NARG > 0
@@ -150,13 +150,13 @@
 	ENDC
 ENDM
 
-	enum force_stereo_panning_cmd ; $e4
+	const force_stereo_panning_cmd ; $e4
 force_stereo_panning: MACRO
 	db force_stereo_panning_cmd
 	dn %1111 * (1 && \1), %1111 * (1 && \2) ; left enable, right enable
 ENDM
 
-	enum volume_cmd ; $e5
+	const volume_cmd ; $e5
 volume: MACRO
 	db volume_cmd
 	IF _NARG > 1
@@ -166,65 +166,65 @@
 	ENDC
 ENDM
 
-	enum pitch_offset_cmd ; $e6
+	const pitch_offset_cmd ; $e6
 pitch_offset: MACRO
 	db pitch_offset_cmd
 	bigdw \1 ; pitch offset
 ENDM
 
-	enum unknownmusic0xe7_cmd ; $e7
+	const unknownmusic0xe7_cmd ; $e7
 unknownmusic0xe7: MACRO
 	db unknownmusic0xe7_cmd
 	db \1 ; unknown
 ENDM
 
-	enum unknownmusic0xe8_cmd ; $e8
+	const unknownmusic0xe8_cmd ; $e8
 unknownmusic0xe8: MACRO
 	db unknownmusic0xe8_cmd
 	db \1 ; unknown
 ENDM
 
-	enum tempo_relative_cmd ; $e9
+	const tempo_relative_cmd ; $e9
 tempo_relative: MACRO
 	db tempo_relative_cmd
 	bigdw \1 ; tempo adjustment
 ENDM
 
-	enum restart_channel_cmd ; $ea
+	const restart_channel_cmd ; $ea
 restart_channel: MACRO
 	db restart_channel_cmd
 	dw \1 ; address
 ENDM
 
-	enum new_song_cmd ; $eb
+	const new_song_cmd ; $eb
 new_song: MACRO
 	db new_song_cmd
 	bigdw \1 ; id
 ENDM
 
-	enum sfx_priority_on_cmd ; $ec
+	const sfx_priority_on_cmd ; $ec
 sfx_priority_on: MACRO
 	db sfx_priority_on_cmd
 ENDM
 
-	enum sfx_priority_off_cmd ; $ed
+	const sfx_priority_off_cmd ; $ed
 sfx_priority_off: MACRO
 	db sfx_priority_off_cmd
 ENDM
 
-	enum unknownmusic0xee_cmd ; $ee
+	const unknownmusic0xee_cmd ; $ee
 unknownmusic0xee: MACRO
 	db unknownmusic0xee_cmd
 	dw \1 ; address
 ENDM
 
-	enum stereo_panning_cmd ; $ef
+	const stereo_panning_cmd ; $ef
 stereo_panning: MACRO
 	db stereo_panning_cmd
 	dn %1111 * (1 && \1), %1111 * (1 && \2) ; left enable, right enable
 ENDM
 
-	enum sfx_toggle_noise_cmd ; $f0
+	const sfx_toggle_noise_cmd ; $f0
 sfx_toggle_noise: MACRO
 	db sfx_toggle_noise_cmd
 	IF _NARG > 0
@@ -232,58 +232,58 @@
 	ENDC
 ENDM
 
-	enum music0xf1_cmd ; $f1
+	const music0xf1_cmd ; $f1
 music0xf1: MACRO
 	db music0xf1_cmd
 ENDM
 
-	enum music0xf2_cmd ; $f2
+	const music0xf2_cmd ; $f2
 music0xf2: MACRO
 	db music0xf2_cmd
 ENDM
 
-	enum music0xf3_cmd ; $f3
+	const music0xf3_cmd ; $f3
 music0xf3: MACRO
 	db music0xf3_cmd
 ENDM
 
-	enum music0xf4_cmd ; $f4
+	const music0xf4_cmd ; $f4
 music0xf4: MACRO
 	db music0xf4_cmd
 ENDM
 
-	enum music0xf5_cmd ; $f5
+	const music0xf5_cmd ; $f5
 music0xf5: MACRO
 	db music0xf5_cmd
 ENDM
 
-	enum music0xf6_cmd ; $f6
+	const music0xf6_cmd ; $f6
 music0xf6: MACRO
 	db music0xf6_cmd
 ENDM
 
-	enum music0xf7_cmd ; $f7
+	const music0xf7_cmd ; $f7
 music0xf7: MACRO
 	db music0xf7_cmd
 ENDM
 
-	enum music0xf8_cmd ; $f8
+	const music0xf8_cmd ; $f8
 music0xf8: MACRO
 	db music0xf8_cmd
 ENDM
 
-	enum unknownmusic0xf9_cmd ; $f9
+	const unknownmusic0xf9_cmd ; $f9
 unknownmusic0xf9: MACRO
 	db unknownmusic0xf9_cmd
 ENDM
 
-	enum set_condition_cmd ; $fa
+	const set_condition_cmd ; $fa
 set_condition: MACRO
 	db set_condition_cmd
 	db \1 ; condition
 ENDM
 
-	enum sound_jump_if_cmd ; $fb
+	const sound_jump_if_cmd ; $fb
 sound_jump_if: MACRO
 	db sound_jump_if_cmd
 	db \1 ; condition
@@ -290,13 +290,13 @@
 	dw \2 ; address
 ENDM
 
-	enum sound_jump_cmd ; $fc
+	const sound_jump_cmd ; $fc
 sound_jump: MACRO
 	db sound_jump_cmd
 	dw \1 ; address
 ENDM
 
-	enum sound_loop_cmd ; $fd
+	const sound_loop_cmd ; $fd
 sound_loop: MACRO
 	db sound_loop_cmd
 	db \1 ; count
@@ -303,13 +303,13 @@
 	dw \2 ; address
 ENDM
 
-	enum sound_call_cmd ; $fe
+	const sound_call_cmd ; $fe
 sound_call: MACRO
 	db sound_call_cmd
 	dw \1 ; address
 ENDM
 
-	enum sound_ret_cmd ; $ff
+	const sound_ret_cmd ; $ff
 sound_ret: MACRO
 	db sound_ret_cmd
 ENDM
--- a/macros/scripts/battle_anims.asm
+++ b/macros/scripts/battle_anims.asm
@@ -6,9 +6,9 @@
 ENDM
 
 ; BattleAnimCommands indexes (see engine/battle_anims/anim_commands.asm)
-	enum_start $d0
+	const_def $d0
 
-	enum anim_obj_command ; $d0
+	const anim_obj_command ; $d0
 anim_obj: MACRO
 	db anim_obj_command
 if _NARG <= 4
@@ -25,13 +25,13 @@
 endc
 ENDM
 
-	enum anim_1gfx_command ; $d1
+	const anim_1gfx_command ; $d1
 anim_1gfx: MACRO
 	db anim_1gfx_command
 	db \1 ; gfx1
 ENDM
 
-	enum anim_2gfx_command ; $d2
+	const anim_2gfx_command ; $d2
 anim_2gfx: MACRO
 	db anim_2gfx_command
 	db \1 ; gfx1
@@ -38,7 +38,7 @@
 	db \2 ; gfx2
 ENDM
 
-	enum anim_3gfx_command ; $d3
+	const anim_3gfx_command ; $d3
 anim_3gfx: MACRO
 	db anim_3gfx_command
 	db \1 ; gfx1
@@ -46,7 +46,7 @@
 	db \3 ; gfx3
 ENDM
 
-	enum anim_4gfx_command ; $d4
+	const anim_4gfx_command ; $d4
 anim_4gfx: MACRO
 	db anim_4gfx_command
 	db \1 ; gfx1
@@ -55,7 +55,7 @@
 	db \4 ; gfx4
 ENDM
 
-	enum anim_5gfx_command ; $d5
+	const anim_5gfx_command ; $d5
 anim_5gfx: MACRO
 	db anim_5gfx_command
 	db \1 ; gfx1
@@ -65,13 +65,13 @@
 	db \5 ; gfx5
 ENDM
 
-	enum anim_incobj_command ; $d6
+	const anim_incobj_command ; $d6
 anim_incobj: MACRO
 	db anim_incobj_command
 	db \1 ; object_id
 ENDM
 
-	enum anim_setobj_command ; $d7
+	const anim_setobj_command ; $d7
 anim_setobj: MACRO
 	db anim_setobj_command
 	db \1 ; object_id
@@ -78,48 +78,48 @@
 	db \2 ; value
 ENDM
 
-	enum anim_incbgeffect_command ; $d8
+	const anim_incbgeffect_command ; $d8
 anim_incbgeffect: MACRO
 	db anim_incbgeffect_command
 	db \1 ; effect
 ENDM
 
-	enum anim_battlergfx_2row_command ; $d9
+	const anim_battlergfx_2row_command ; $d9
 anim_battlergfx_2row: MACRO
 	db anim_battlergfx_2row_command
 ENDM
 
-	enum anim_battlergfx_1row_command ; $da
+	const anim_battlergfx_1row_command ; $da
 anim_battlergfx_1row: MACRO
 	db anim_battlergfx_1row_command
 ENDM
 
-	enum anim_checkpokeball_command ; $db
+	const anim_checkpokeball_command ; $db
 anim_checkpokeball: MACRO
 	db anim_checkpokeball_command
 ENDM
 
-	enum anim_transform_command ; $dc
+	const anim_transform_command ; $dc
 anim_transform: MACRO
 	db anim_transform_command
 ENDM
 
-	enum anim_raisesub_command ; $dd
+	const anim_raisesub_command ; $dd
 anim_raisesub: MACRO
 	db anim_raisesub_command
 ENDM
 
-	enum anim_dropsub_command ; $de
+	const anim_dropsub_command ; $de
 anim_dropsub: MACRO
 	db anim_dropsub_command
 ENDM
 
-	enum anim_resetobp0_command ; $df
+	const anim_resetobp0_command ; $df
 anim_resetobp0: MACRO
 	db anim_resetobp0_command
 ENDM
 
-	enum anim_sound_command ; $e0
+	const anim_sound_command ; $e0
 anim_sound: MACRO
 	db anim_sound_command
 	db (\1 << 2) | \2 ; duration, tracks
@@ -126,73 +126,73 @@
 	db \3 ; sound_id
 ENDM
 
-	enum anim_cry_command ; $e1
+	const anim_cry_command ; $e1
 anim_cry: MACRO
 	db anim_cry_command
 	db \1 ; pitch
 ENDM
 
-	enum anim_minimizeopp_command ; $e2
+	const anim_minimizeopp_command ; $e2
 anim_minimizeopp: MACRO
 	db anim_minimizeopp_command
 ENDM
 
-	enum anim_oamon_command ; $e3
+	const anim_oamon_command ; $e3
 anim_oamon: MACRO
 	db anim_oamon_command
 ENDM
 
-	enum anim_oamoff_command ; $e4
+	const anim_oamoff_command ; $e4
 anim_oamoff: MACRO
 	db anim_oamoff_command
 ENDM
 
-	enum anim_clearobjs_command ; $e5
+	const anim_clearobjs_command ; $e5
 anim_clearobjs: MACRO
 	db anim_clearobjs_command
 ENDM
 
-	enum anim_beatup_command ; $e6
+	const anim_beatup_command ; $e6
 anim_beatup: MACRO
 	db anim_beatup_command
 ENDM
 
-	enum anim_0xe7_command ; $e7
+	const anim_0xe7_command ; $e7
 anim_0xe7: MACRO
 	db anim_0xe7_command
 ENDM
 
-	enum anim_updateactorpic_command ; $e8
+	const anim_updateactorpic_command ; $e8
 anim_updateactorpic: MACRO
 	db anim_updateactorpic_command
 ENDM
 
-	enum anim_minimize_command ; $e9
+	const anim_minimize_command ; $e9
 anim_minimize: MACRO
 	db anim_minimize_command
 ENDM
 
-	enum anim_0xea_command ; $ea
+	const anim_0xea_command ; $ea
 anim_0xea: MACRO
 	db anim_0xea_command
 ENDM
 
-	enum anim_0xeb_command ; $eb
+	const anim_0xeb_command ; $eb
 anim_0xeb: MACRO
 	db anim_0xeb_command
 ENDM
 
-	enum anim_0xec_command ; $ec
+	const anim_0xec_command ; $ec
 anim_0xec: MACRO
 	db anim_0xec_command
 ENDM
 
-	enum anim_0xed_command ; $ed
+	const anim_0xed_command ; $ed
 anim_0xed: MACRO
 	db anim_0xed_command
 ENDM
 
-	enum anim_if_param_and_command ; $ee
+	const anim_if_param_and_command ; $ee
 anim_if_param_and: MACRO
 	db anim_if_param_and_command
 	db \1 ; value
@@ -199,13 +199,13 @@
 	dw \2 ; address
 ENDM
 
-	enum anim_jumpuntil_command ; $ef
+	const anim_jumpuntil_command ; $ef
 anim_jumpuntil: MACRO
 	db anim_jumpuntil_command
 	dw \1 ; address
 ENDM
 
-	enum anim_bgeffect_command ; $f0
+	const anim_bgeffect_command ; $f0
 anim_bgeffect: MACRO
 	db anim_bgeffect_command
 	db \1 ; effect
@@ -214,45 +214,45 @@
 	db \4 ; unknown
 ENDM
 
-	enum anim_bgp_command ; $f1
+	const anim_bgp_command ; $f1
 anim_bgp: MACRO
 	db anim_bgp_command
 	db \1 ; colors
 ENDM
 
-	enum anim_obp0_command ; $f2
+	const anim_obp0_command ; $f2
 anim_obp0: MACRO
 	db anim_obp0_command
 	db \1 ; colors
 ENDM
 
-	enum anim_obp1_command ; $f3
+	const anim_obp1_command ; $f3
 anim_obp1: MACRO
 	db anim_obp1_command
 	db \1 ; colors
 ENDM
 
-	enum anim_keepsprites_command ; $f4
+	const anim_keepsprites_command ; $f4
 anim_keepsprites: MACRO
 	db anim_keepsprites_command
 ENDM
 
-	enum anim_0xf5_command ; $f5
+	const anim_0xf5_command ; $f5
 anim_0xf5: MACRO
 	db anim_0xf5_command
 ENDM
 
-	enum anim_0xf6_command ; $f6
+	const anim_0xf6_command ; $f6
 anim_0xf6: MACRO
 	db anim_0xf6_command
 ENDM
 
-	enum anim_0xf7_command ; $f7
+	const anim_0xf7_command ; $f7
 anim_0xf7: MACRO
 	db anim_0xf7_command
 ENDM
 
-	enum anim_if_param_equal_command ; $f8
+	const anim_if_param_equal_command ; $f8
 anim_if_param_equal: MACRO
 	db anim_if_param_equal_command
 	db \1 ; value
@@ -259,18 +259,18 @@
 	dw \2 ; address
 ENDM
 
-	enum anim_setvar_command ; $f9
+	const anim_setvar_command ; $f9
 anim_setvar: MACRO
 	db anim_setvar_command
 	db \1 ; value
 ENDM
 
-	enum anim_incvar_command ; $fa
+	const anim_incvar_command ; $fa
 anim_incvar: MACRO
 	db anim_incvar_command
 ENDM
 
-	enum anim_if_var_equal_command ; $fb
+	const anim_if_var_equal_command ; $fb
 anim_if_var_equal: MACRO
 	db anim_if_var_equal_command
 	db \1 ; value
@@ -277,13 +277,13 @@
 	dw \2 ; address
 ENDM
 
-	enum anim_jump_command ; $fc
+	const anim_jump_command ; $fc
 anim_jump: MACRO
 	db anim_jump_command
 	dw \1 ; address
 ENDM
 
-	enum anim_loop_command ; $fd
+	const anim_loop_command ; $fd
 anim_loop: MACRO
 	db anim_loop_command
 	db \1 ; count
@@ -290,13 +290,13 @@
 	dw \2 ; address
 ENDM
 
-	enum anim_call_command ; $fe
+	const anim_call_command ; $fe
 anim_call: MACRO
 	db anim_call_command
 	dw \1 ; address
 ENDM
 
-	enum anim_ret_command ; $ff
+	const anim_ret_command ; $ff
 anim_ret: MACRO
 	db anim_ret_command
 ENDM
--- a/macros/scripts/battle_commands.asm
+++ b/macros/scripts/battle_commands.asm
@@ -1,10 +1,10 @@
 command: MACRO
-	enum \1_command
+	const \1_command
 \1 EQUS "db \1_command"
 ENDM
 
 ; BattleCommandPointers indexes (see data/battle/effect_command_pointers.asm)
-	enum_start 1
+	const_def 1
 	command checkturn               ; 01
 	command checkobedience          ; 02
 	command usedmovetext            ; 03
@@ -181,6 +181,6 @@
 	command startloop               ; ae
 	command curl                    ; af
 
-	enum_start $fe
+	const_def $fe
 	command endturn                 ; fe
 	command endmove                 ; ff
--- a/macros/scripts/events.asm
+++ b/macros/scripts/events.asm
@@ -1,43 +1,43 @@
 ; ScriptCommandTable indexes (see engine/overworld/scripting.asm)
-	enum_start
+	const_def
 
-	enum scall_command ; $00
+	const scall_command ; $00
 scall: MACRO
 	db scall_command
 	dw \1 ; pointer
 ENDM
 
-	enum farscall_command ; $01
+	const farscall_command ; $01
 farscall: MACRO
 	db farscall_command
 	dba \1
 ENDM
 
-	enum memcall_command ; $02
+	const memcall_command ; $02
 memcall: MACRO
 	db memcall_command
 	dw \1 ; pointer
 ENDM
 
-	enum sjump_command ; $03
+	const sjump_command ; $03
 sjump: MACRO
 	db sjump_command
 	dw \1 ; pointer
 ENDM
 
-	enum farsjump_command ; $04
+	const farsjump_command ; $04
 farsjump: MACRO
 	db farsjump_command
 	dba \1
 ENDM
 
-	enum memjump_command ; $05
+	const memjump_command ; $05
 memjump: MACRO
 	db memjump_command
 	dw \1 ; pointer
 ENDM
 
-	enum ifequal_command ; $06
+	const ifequal_command ; $06
 ifequal: MACRO
 	db ifequal_command
 	db \1 ; byte
@@ -44,7 +44,7 @@
 	dw \2 ; pointer
 ENDM
 
-	enum ifnotequal_command ; $07
+	const ifnotequal_command ; $07
 ifnotequal: MACRO
 	db ifnotequal_command
 	db \1 ; byte
@@ -51,19 +51,19 @@
 	dw \2 ; pointer
 ENDM
 
-	enum iffalse_command ; $08
+	const iffalse_command ; $08
 iffalse: MACRO
 	db iffalse_command
 	dw \1 ; pointer
 ENDM
 
-	enum iftrue_command ; $09
+	const iftrue_command ; $09
 iftrue: MACRO
 	db iftrue_command
 	dw \1 ; pointer
 ENDM
 
-	enum ifgreater_command ; $0a
+	const ifgreater_command ; $0a
 ifgreater: MACRO
 	db ifgreater_command
 	db \1 ; byte
@@ -70,7 +70,7 @@
 	dw \2 ; pointer
 ENDM
 
-	enum ifless_command ; $0b
+	const ifless_command ; $0b
 ifless: MACRO
 	db ifless_command
 	db \1 ; byte
@@ -77,43 +77,43 @@
 	dw \2 ; pointer
 ENDM
 
-	enum jumpstd_command ; $0c
+	const jumpstd_command ; $0c
 jumpstd: MACRO
 	db jumpstd_command
 	dw (\1StdScript - StdScripts) / 3
 ENDM
 
-	enum callstd_command ; $0d
+	const callstd_command ; $0d
 callstd: MACRO
 	db callstd_command
 	dw (\1StdScript - StdScripts) / 3
 ENDM
 
-	enum callasm_command ; $0e
+	const callasm_command ; $0e
 callasm: MACRO
 	db callasm_command
 	dba \1
 ENDM
 
-	enum special_command ; $0f
+	const special_command ; $0f
 special: MACRO
 	db special_command
 	dw (\1Special - SpecialsPointers) / 3
 ENDM
 
-	enum memcallasm_command ; $10
+	const memcallasm_command ; $10
 memcallasm: MACRO
 	db memcallasm_command
 	dw \1 ; asm
 ENDM
 
-	enum checkmapscene_command ; $11
+	const checkmapscene_command ; $11
 checkmapscene: MACRO
 	db checkmapscene_command
 	map_id \1 ; map
 ENDM
 
-	enum setmapscene_command ; $12
+	const setmapscene_command ; $12
 setmapscene: MACRO
 	db setmapscene_command
 	map_id \1 ; map
@@ -120,53 +120,53 @@
 	db \2 ; scene_id
 ENDM
 
-	enum checkscene_command ; $13
+	const checkscene_command ; $13
 checkscene: MACRO
 	db checkscene_command
 ENDM
 
-	enum setscene_command ; $14
+	const setscene_command ; $14
 setscene: MACRO
 	db setscene_command
 	db \1 ; scene_id
 ENDM
 
-	enum setval_command ; $15
+	const setval_command ; $15
 setval: MACRO
 	db setval_command
 	db \1 ; value
 ENDM
 
-	enum addval_command ; $16
+	const addval_command ; $16
 addval: MACRO
 	db addval_command
 	db \1 ; value
 ENDM
 
-	enum random_command ; $17
+	const random_command ; $17
 random: MACRO
 	db random_command
 	db \1 ; input
 ENDM
 
-	enum checkver_command ; $18
+	const checkver_command ; $18
 checkver: MACRO
 	db checkver_command
 ENDM
 
-	enum readmem_command ; $19
+	const readmem_command ; $19
 readmem: MACRO
 	db readmem_command
 	dw \1 ; address
 ENDM
 
-	enum writemem_command ; $1a
+	const writemem_command ; $1a
 writemem: MACRO
 	db writemem_command
 	dw \1 ; address
 ENDM
 
-	enum loadmem_command ; $1b
+	const loadmem_command ; $1b
 loadmem: MACRO
 	db loadmem_command
 	dw \1 ; address
@@ -173,19 +173,19 @@
 	db \2 ; value
 ENDM
 
-	enum readvar_command ; $1c
+	const readvar_command ; $1c
 readvar: MACRO
 	db readvar_command
 	db \1 ; variable_id
 ENDM
 
-	enum writevar_command ; $1d
+	const writevar_command ; $1d
 writevar: MACRO
 	db writevar_command
 	db \1 ; variable_id
 ENDM
 
-	enum loadvar_command ; $1e
+	const loadvar_command ; $1e
 loadvar: MACRO
 if STRIN("\1", "VAR_") != 1
 ; LEGACY: Support for the old name of "loadmem"
@@ -197,7 +197,7 @@
 endc
 ENDM
 
-	enum giveitem_command ; $1f
+	const giveitem_command ; $1f
 giveitem: MACRO
 if _NARG == 1
 	giveitem \1, 1
@@ -208,7 +208,7 @@
 endc
 ENDM
 
-	enum takeitem_command ; $20
+	const takeitem_command ; $20
 takeitem: MACRO
 if _NARG == 1
 	takeitem \1, 1
@@ -219,13 +219,13 @@
 endc
 ENDM
 
-	enum checkitem_command ; $21
+	const checkitem_command ; $21
 checkitem: MACRO
 	db checkitem_command
 	db \1 ; item
 ENDM
 
-	enum givemoney_command ; $22
+	const givemoney_command ; $22
 givemoney: MACRO
 	db givemoney_command
 	db \1 ; account
@@ -232,7 +232,7 @@
 	dt \2 ; money
 ENDM
 
-	enum takemoney_command ; $23
+	const takemoney_command ; $23
 takemoney: MACRO
 	db takemoney_command
 	db \1 ; account
@@ -239,7 +239,7 @@
 	dt \2 ; money
 ENDM
 
-	enum checkmoney_command ; $24
+	const checkmoney_command ; $24
 checkmoney: MACRO
 	db checkmoney_command
 	db \1 ; account
@@ -246,55 +246,55 @@
 	dt \2 ; money
 ENDM
 
-	enum givecoins_command ; $25
+	const givecoins_command ; $25
 givecoins: MACRO
 	db givecoins_command
 	dw \1 ; coins
 ENDM
 
-	enum takecoins_command ; $26
+	const takecoins_command ; $26
 takecoins: MACRO
 	db takecoins_command
 	dw \1 ; coins
 ENDM
 
-	enum checkcoins_command ; $27
+	const checkcoins_command ; $27
 checkcoins: MACRO
 	db checkcoins_command
 	dw \1 ; coins
 ENDM
 
-	enum addcellnum_command ; $28
+	const addcellnum_command ; $28
 addcellnum: MACRO
 	db addcellnum_command
 	db \1 ; person
 ENDM
 
-	enum delcellnum_command ; $29
+	const delcellnum_command ; $29
 delcellnum: MACRO
 	db delcellnum_command
 	db \1 ; person
 ENDM
 
-	enum checkcellnum_command ; $2a
+	const checkcellnum_command ; $2a
 checkcellnum: MACRO
 	db checkcellnum_command
 	db \1 ; person
 ENDM
 
-	enum checktime_command ; $2b
+	const checktime_command ; $2b
 checktime: MACRO
 	db checktime_command
 	db \1 ; time
 ENDM
 
-	enum checkpoke_command ; $2c
+	const checkpoke_command ; $2c
 checkpoke: MACRO
 	db checkpoke_command
 	db \1 ; pkmn
 ENDM
 
-	enum givepoke_command ; $2d
+	const givepoke_command ; $2d
 givepoke: MACRO
 if _NARG == 2
 	givepoke \1, \2, NO_ITEM, FALSE
@@ -313,7 +313,7 @@
 endc
 ENDM
 
-	enum giveegg_command ; $2e
+	const giveegg_command ; $2e
 giveegg: MACRO
 	db giveegg_command
 	db \1 ; pkmn
@@ -320,71 +320,71 @@
 	db \2 ; level
 ENDM
 
-	enum givepokemail_command ; $2f
+	const givepokemail_command ; $2f
 givepokemail: MACRO
 	db givepokemail_command
 	dw \1 ; pointer
 ENDM
 
-	enum checkpokemail_command ; $30
+	const checkpokemail_command ; $30
 checkpokemail: MACRO
 	db checkpokemail_command
 	dw \1 ; pointer
 ENDM
 
-	enum checkevent_command ; $31
+	const checkevent_command ; $31
 checkevent: MACRO
 	db checkevent_command
 	dw \1 ; event_flag
 ENDM
 
-	enum clearevent_command ; $32
+	const clearevent_command ; $32
 clearevent: MACRO
 	db clearevent_command
 	dw \1 ; event_flag
 ENDM
 
-	enum setevent_command ; $33
+	const setevent_command ; $33
 setevent: MACRO
 	db setevent_command
 	dw \1 ; event_flag
 ENDM
 
-	enum checkflag_command ; $34
+	const checkflag_command ; $34
 checkflag: MACRO
 	db checkflag_command
 	dw \1 ; engine_flag
 ENDM
 
-	enum clearflag_command ; $35
+	const clearflag_command ; $35
 clearflag: MACRO
 	db clearflag_command
 	dw \1 ; engine_flag
 ENDM
 
-	enum setflag_command ; $36
+	const setflag_command ; $36
 setflag: MACRO
 	db setflag_command
 	dw \1 ; engine_flag
 ENDM
 
-	enum wildon_command ; $37
+	const wildon_command ; $37
 wildon: MACRO
 	db wildon_command
 ENDM
 
-	enum wildoff_command ; $38
+	const wildoff_command ; $38
 wildoff: MACRO
 	db wildoff_command
 ENDM
 
-	enum xycompare_command ; $39
+	const xycompare_command ; $39
 xycompare: MACRO
 	db xycompare_command
 	dw \1 ; pointer
 ENDM
 
-	enum warpmod_command ; $3a
+	const warpmod_command ; $3a
 warpmod: MACRO
 	db warpmod_command
 	db \1 ; warp_id
@@ -391,13 +391,13 @@
 	map_id \2 ; map
 ENDM
 
-	enum blackoutmod_command ; $3b
+	const blackoutmod_command ; $3b
 blackoutmod: MACRO
 	db blackoutmod_command
 	map_id \1 ; map
 ENDM
 
-	enum warp_command ; $3c
+	const warp_command ; $3c
 warp: MACRO
 	db warp_command
 	map_id \1 ; map
@@ -405,7 +405,7 @@
 	db \3 ; y
 ENDM
 
-	enum getmoney_command ; $3d
+	const getmoney_command ; $3d
 getmoney: MACRO
 	db getmoney_command
 	db \2 ; account
@@ -412,19 +412,19 @@
 	db \1 ; string_buffer
 ENDM
 
-	enum getcoins_command ; $3e
+	const getcoins_command ; $3e
 getcoins: MACRO
 	db getcoins_command
 	db \1 ; string_buffer
 ENDM
 
-	enum getnum_command ; $3f
+	const getnum_command ; $3f
 getnum: MACRO
 	db getnum_command
 	db \1 ; string_buffer
 ENDM
 
-	enum getmonname_command ; $40
+	const getmonname_command ; $40
 getmonname: MACRO
 	db getmonname_command
 	db \2 ; pokemon
@@ -431,7 +431,7 @@
 	db \1 ; string_buffer
 ENDM
 
-	enum getitemname_command ; $41
+	const getitemname_command ; $41
 getitemname: MACRO
 	db getitemname_command
 	db \2 ; item
@@ -438,13 +438,13 @@
 	db \1 ; string_buffer
 ENDM
 
-	enum getcurlandmarkname_command ; $42
+	const getcurlandmarkname_command ; $42
 getcurlandmarkname: MACRO
 	db getcurlandmarkname_command
 	db \1 ; string_buffer
 ENDM
 
-	enum gettrainername_command ; $43
+	const gettrainername_command ; $43
 gettrainername: MACRO
 	db gettrainername_command
 	db \2 ; trainer_group
@@ -452,7 +452,7 @@
 	db \1 ; string_buffer
 ENDM
 
-	enum getstring_command ; $44
+	const getstring_command ; $44
 getstring: MACRO
 	db getstring_command
 	dw \2 ; text_pointer
@@ -459,22 +459,22 @@
 	db \1 ; string_buffer
 ENDM
 
-	enum itemnotify_command ; $45
+	const itemnotify_command ; $45
 itemnotify: MACRO
 	db itemnotify_command
 ENDM
 
-	enum pocketisfull_command ; $46
+	const pocketisfull_command ; $46
 pocketisfull: MACRO
 	db pocketisfull_command
 ENDM
 
-	enum opentext_command ; $47
+	const opentext_command ; $47
 opentext: MACRO
 	db opentext_command
 ENDM
 
-	enum refreshscreen_command ; $48
+	const refreshscreen_command ; $48
 refreshscreen: MACRO
 if _NARG == 0
 	refreshscreen 0
@@ -484,30 +484,30 @@
 endc
 ENDM
 
-	enum closetext_command ; $49
+	const closetext_command ; $49
 closetext: MACRO
 	db closetext_command
 ENDM
 
-	enum writeunusedbytebuffer_command ; $4a
+	const writeunusedbytebuffer_command ; $4a
 writeunusedbytebuffer: MACRO
 	db writeunusedbytebuffer_command
 	db \1 ; byte
 ENDM
 
-	enum farwritetext_command ; $4b
+	const farwritetext_command ; $4b
 farwritetext: MACRO
 	db farwritetext_command
 	dba \1
 ENDM
 
-	enum writetext_command ; $4c
+	const writetext_command ; $4c
 writetext: MACRO
 	db writetext_command
 	dw \1 ; text_pointer
 ENDM
 
-	enum repeattext_command ; $4d
+	const repeattext_command ; $4d
 repeattext: MACRO
 	db repeattext_command
 	db \1 ; byte
@@ -514,87 +514,87 @@
 	db \2 ; byte
 ENDM
 
-	enum yesorno_command ; $4e
+	const yesorno_command ; $4e
 yesorno: MACRO
 	db yesorno_command
 ENDM
 
-	enum loadmenu_command ; $4f
+	const loadmenu_command ; $4f
 loadmenu: MACRO
 	db loadmenu_command
 	dw \1 ; menu_header
 ENDM
 
-	enum closewindow_command ; $50
+	const closewindow_command ; $50
 closewindow: MACRO
 	db closewindow_command
 ENDM
 
-	enum jumptextfaceplayer_command ; $51
+	const jumptextfaceplayer_command ; $51
 jumptextfaceplayer: MACRO
 	db jumptextfaceplayer_command
 	dw \1 ; text_pointer
 ENDM
 
-	enum farjumptext_command ; $52
+	const farjumptext_command ; $52
 farjumptext: MACRO
 	db farjumptext_command
 	dba \1
 ENDM
 
-	enum jumptext_command ; $53
+	const jumptext_command ; $53
 jumptext: MACRO
 	db jumptext_command
 	dw \1 ; text_pointer
 ENDM
 
-	enum waitbutton_command ; $54
+	const waitbutton_command ; $54
 waitbutton: MACRO
 	db waitbutton_command
 ENDM
 
-	enum promptbutton_command ; $55
+	const promptbutton_command ; $55
 promptbutton: MACRO
 	db promptbutton_command
 ENDM
 
-	enum pokepic_command ; $56
+	const pokepic_command ; $56
 pokepic: MACRO
 	db pokepic_command
 	db \1 ; pokemon
 ENDM
 
-	enum closepokepic_command ; $57
+	const closepokepic_command ; $57
 closepokepic: MACRO
 	db closepokepic_command
 ENDM
 
-	enum _2dmenu_command ; $58
+	const _2dmenu_command ; $58
 _2dmenu: MACRO
 	db _2dmenu_command
 ENDM
 
-	enum verticalmenu_command ; $59
+	const verticalmenu_command ; $59
 verticalmenu: MACRO
 	db verticalmenu_command
 ENDM
 
-	enum loadpikachudata_command ; $5a
+	const loadpikachudata_command ; $5a
 loadpikachudata: MACRO
 	db loadpikachudata_command
 ENDM
 
-	enum randomwildmon_command ; $5b
+	const randomwildmon_command ; $5b
 randomwildmon: MACRO
 	db randomwildmon_command
 ENDM
 
-	enum loadtemptrainer_command ; $5c
+	const loadtemptrainer_command ; $5c
 loadtemptrainer: MACRO
 	db loadtemptrainer_command
 ENDM
 
-	enum loadwildmon_command ; $5d
+	const loadwildmon_command ; $5d
 loadwildmon: MACRO
 	db loadwildmon_command
 	db \1 ; pokemon
@@ -601,7 +601,7 @@
 	db \2 ; level
 ENDM
 
-	enum loadtrainer_command ; $5e
+	const loadtrainer_command ; $5e
 loadtrainer: MACRO
 	db loadtrainer_command
 	db \1 ; trainer_group
@@ -608,35 +608,35 @@
 	db \2 ; trainer_id
 ENDM
 
-	enum startbattle_command ; $5f
+	const startbattle_command ; $5f
 startbattle: MACRO
 	db startbattle_command
 ENDM
 
-	enum reloadmapafterbattle_command ; $60
+	const reloadmapafterbattle_command ; $60
 reloadmapafterbattle: MACRO
 	db reloadmapafterbattle_command
 ENDM
 
-	enum catchtutorial_command ; $61
+	const catchtutorial_command ; $61
 catchtutorial: MACRO
 	db catchtutorial_command
 	db \1 ; byte
 ENDM
 
-	enum trainertext_command ; $62
+	const trainertext_command ; $62
 trainertext: MACRO
 	db trainertext_command
 	db \1 ; text_id
 ENDM
 
-	enum trainerflagaction_command ; $63
+	const trainerflagaction_command ; $63
 trainerflagaction: MACRO
 	db trainerflagaction_command
 	db \1 ; action
 ENDM
 
-	enum winlosstext_command ; $64
+	const winlosstext_command ; $64
 winlosstext: MACRO
 	db winlosstext_command
 	dw \1 ; win_text_pointer
@@ -643,28 +643,28 @@
 	dw \2 ; loss_text_pointer
 ENDM
 
-	enum scripttalkafter_command ; $65
+	const scripttalkafter_command ; $65
 scripttalkafter: MACRO
 	db scripttalkafter_command
 ENDM
 
-	enum endifjustbattled_command ; $66
+	const endifjustbattled_command ; $66
 endifjustbattled: MACRO
 	db endifjustbattled_command
 ENDM
 
-	enum checkjustbattled_command ; $67
+	const checkjustbattled_command ; $67
 checkjustbattled: MACRO
 	db checkjustbattled_command
 ENDM
 
-	enum setlasttalked_command ; $68
+	const setlasttalked_command ; $68
 setlasttalked: MACRO
 	db setlasttalked_command
 	db \1 ; object id
 ENDM
 
-	enum applymovement_command ; $69
+	const applymovement_command ; $69
 applymovement: MACRO
 	db applymovement_command
 	db \1 ; object id
@@ -671,18 +671,18 @@
 	dw \2 ; data
 ENDM
 
-	enum applymovementlasttalked_command ; $6a
+	const applymovementlasttalked_command ; $6a
 applymovementlasttalked: MACRO
 	db applymovementlasttalked_command
 	dw \1 ; data
 ENDM
 
-	enum faceplayer_command ; $6b
+	const faceplayer_command ; $6b
 faceplayer: MACRO
 	db faceplayer_command
 ENDM
 
-	enum faceobject_command ; $6c
+	const faceobject_command ; $6c
 faceobject: MACRO
 	db faceobject_command
 	db \1 ; object1
@@ -689,7 +689,7 @@
 	db \2 ; object2
 ENDM
 
-	enum variablesprite_command ; $6d
+	const variablesprite_command ; $6d
 variablesprite: MACRO
 	db variablesprite_command
 	db \1 - SPRITE_VARS ; byte
@@ -696,19 +696,19 @@
 	db \2 ; sprite
 ENDM
 
-	enum disappear_command ; $6e
+	const disappear_command ; $6e
 disappear: MACRO
 	db disappear_command
 	db \1 ; object id
 ENDM
 
-	enum appear_command ; $6f
+	const appear_command ; $6f
 appear: MACRO
 	db appear_command
 	db \1 ; object id
 ENDM
 
-	enum follow_command ; $70
+	const follow_command ; $70
 follow: MACRO
 	db follow_command
 	db \1 ; object2
@@ -715,12 +715,12 @@
 	db \2 ; object1
 ENDM
 
-	enum stopfollow_command ; $71
+	const stopfollow_command ; $71
 stopfollow: MACRO
 	db stopfollow_command
 ENDM
 
-	enum moveobject_command ; $72
+	const moveobject_command ; $72
 moveobject: MACRO
 	db moveobject_command
 	db \1 ; object id
@@ -728,19 +728,19 @@
 	db \3 ; y
 ENDM
 
-	enum writeobjectxy_command ; $73
+	const writeobjectxy_command ; $73
 writeobjectxy: MACRO
 	db writeobjectxy_command
 	db \1 ; object id
 ENDM
 
-	enum loademote_command ; $74
+	const loademote_command ; $74
 loademote: MACRO
 	db loademote_command
 	db \1 ; bubble
 ENDM
 
-	enum showemote_command ; $75
+	const showemote_command ; $75
 showemote: MACRO
 	db showemote_command
 	db \1 ; bubble
@@ -748,7 +748,7 @@
 	db \3 ; time
 ENDM
 
-	enum turnobject_command ; $76
+	const turnobject_command ; $76
 turnobject: MACRO
 	db turnobject_command
 	db \1 ; object id
@@ -755,7 +755,7 @@
 	db \2 ; facing
 ENDM
 
-	enum follownotexact_command ; $77
+	const follownotexact_command ; $77
 follownotexact: MACRO
 	db follownotexact_command
 	db \1 ; object2
@@ -762,19 +762,19 @@
 	db \2 ; object1
 ENDM
 
-	enum earthquake_command ; $78
+	const earthquake_command ; $78
 earthquake: MACRO
 	db earthquake_command
 	db \1 ; param
 ENDM
 
-	enum changemapblocks_command ; $79
+	const changemapblocks_command ; $79
 changemapblocks: MACRO
 	db changemapblocks_command
 	dba \1 ; map_data_pointer
 ENDM
 
-	enum changeblock_command ; $7a
+	const changeblock_command ; $7a
 changeblock: MACRO
 	db changeblock_command
 	db \1 ; x
@@ -782,40 +782,40 @@
 	db \3 ; block
 ENDM
 
-	enum reloadmap_command ; $7b
+	const reloadmap_command ; $7b
 reloadmap: MACRO
 	db reloadmap_command
 ENDM
 
-	enum reloadmappart_command ; $7c
+	const reloadmappart_command ; $7c
 reloadmappart: MACRO
 	db reloadmappart_command
 ENDM
 
-	enum writecmdqueue_command ; $7d
+	const writecmdqueue_command ; $7d
 writecmdqueue: MACRO
 	db writecmdqueue_command
 	dw \1 ; queue_pointer
 ENDM
 
-	enum delcmdqueue_command ; $7e
+	const delcmdqueue_command ; $7e
 delcmdqueue: MACRO
 	db delcmdqueue_command
 	db \1 ; byte
 ENDM
 
-	enum playmusic_command ; $7f
+	const playmusic_command ; $7f
 playmusic: MACRO
 	db playmusic_command
 	dw \1 ; music_pointer
 ENDM
 
-	enum encountermusic_command ; $80
+	const encountermusic_command ; $80
 encountermusic: MACRO
 	db encountermusic_command
 ENDM
 
-	enum musicfadeout_command ; $81
+	const musicfadeout_command ; $81
 musicfadeout: MACRO
 	db musicfadeout_command
 	dw \1 ; music
@@ -822,106 +822,106 @@
 	db \2 ; fadetime
 ENDM
 
-	enum playmapmusic_command ; $82
+	const playmapmusic_command ; $82
 playmapmusic: MACRO
 	db playmapmusic_command
 ENDM
 
-	enum dontrestartmapmusic_command ; $83
+	const dontrestartmapmusic_command ; $83
 dontrestartmapmusic: MACRO
 	db dontrestartmapmusic_command
 ENDM
 
-	enum cry_command ; $84
+	const cry_command ; $84
 cry: MACRO
 	db cry_command
 	dw \1 ; cry_id
 ENDM
 
-	enum playsound_command ; $85
+	const playsound_command ; $85
 playsound: MACRO
 	db playsound_command
 	dw \1 ; sound_pointer
 ENDM
 
-	enum waitsfx_command ; $86
+	const waitsfx_command ; $86
 waitsfx: MACRO
 	db waitsfx_command
 ENDM
 
-	enum warpsound_command ; $87
+	const warpsound_command ; $87
 warpsound: MACRO
 	db warpsound_command
 ENDM
 
-	enum specialsound_command ; $88
+	const specialsound_command ; $88
 specialsound: MACRO
 	db specialsound_command
 ENDM
 
-	enum autoinput_command ; $89
+	const autoinput_command ; $89
 autoinput: MACRO
 	db autoinput_command
 	dba \1
 ENDM
 
-	enum newloadmap_command ; $8a
+	const newloadmap_command ; $8a
 newloadmap: MACRO
 	db newloadmap_command
 	db \1 ; which_method
 ENDM
 
-	enum pause_command ; $8b
+	const pause_command ; $8b
 pause: MACRO
 	db pause_command
 	db \1 ; length
 ENDM
 
-	enum deactivatefacing_command ; $8c
+	const deactivatefacing_command ; $8c
 deactivatefacing: MACRO
 	db deactivatefacing_command
 	db \1 ; time
 ENDM
 
-	enum prioritysjump_command ; $8d
+	const prioritysjump_command ; $8d
 prioritysjump: MACRO
 	db prioritysjump_command
 	dw \1 ; pointer
 ENDM
 
-	enum warpcheck_command ; $8e
+	const warpcheck_command ; $8e
 warpcheck: MACRO
 	db warpcheck_command
 ENDM
 
-	enum stopandsjump_command ; $8f
+	const stopandsjump_command ; $8f
 stopandsjump: MACRO
 	db stopandsjump_command
 	dw \1 ; pointer
 ENDM
 
-	enum return_command ; $90
+	const return_command ; $90
 return: MACRO
 	db return_command
 ENDM
 
-	enum end_command ; $91
+	const end_command ; $91
 end: MACRO
 	db end_command
 ENDM
 
-	enum reloadandreturn_command ; $92
+	const reloadandreturn_command ; $92
 reloadandreturn: MACRO
 	db reloadandreturn_command
 	db \1 ; which_method
 ENDM
 
-	enum endall_command ; $93
+	const endall_command ; $93
 endall: MACRO
 	db endall_command
 ENDM
 
-	enum pokemart_command ; $94
+	const pokemart_command ; $94
 pokemart: MACRO
 	db pokemart_command
 	db \1 ; dialog_id
@@ -928,59 +928,59 @@
 	dw \2 ; mart_id
 ENDM
 
-	enum elevator_command ; $95
+	const elevator_command ; $95
 elevator: MACRO
 	db elevator_command
 	dw \1 ; floor_list_pointer
 ENDM
 
-	enum trade_command ; $96
+	const trade_command ; $96
 trade: MACRO
 	db trade_command
 	db \1 ; trade_id
 ENDM
 
-	enum askforphonenumber_command ; $97
+	const askforphonenumber_command ; $97
 askforphonenumber: MACRO
 	db askforphonenumber_command
 	db \1 ; number
 ENDM
 
-	enum phonecall_command ; $98
+	const phonecall_command ; $98
 phonecall: MACRO
 	db phonecall_command
 	dw \1 ; caller_name
 ENDM
 
-	enum hangup_command ; $99
+	const hangup_command ; $99
 hangup: MACRO
 	db hangup_command
 ENDM
 
-	enum describedecoration_command ; $9a
+	const describedecoration_command ; $9a
 describedecoration: MACRO
 	db describedecoration_command
 	db \1 ; byte
 ENDM
 
-	enum fruittree_command ; $9b
+	const fruittree_command ; $9b
 fruittree: MACRO
 	db fruittree_command
 	db \1 ; tree_id
 ENDM
 
-	enum specialphonecall_command ; $9c
+	const specialphonecall_command ; $9c
 specialphonecall: MACRO
 	db specialphonecall_command
 	dw \1 ; call_id
 ENDM
 
-	enum checkphonecall_command ; $9d
+	const checkphonecall_command ; $9d
 checkphonecall: MACRO
 	db checkphonecall_command
 ENDM
 
-	enum verbosegiveitem_command ; $9e
+	const verbosegiveitem_command ; $9e
 verbosegiveitem: MACRO
 if _NARG == 1
 	verbosegiveitem \1, 1
@@ -991,7 +991,7 @@
 endc
 ENDM
 
-	enum verbosegiveitemvar_command ; $9f
+	const verbosegiveitemvar_command ; $9f
 verbosegiveitemvar: MACRO
 	db verbosegiveitemvar_command
 	db \1 ; item
@@ -998,7 +998,7 @@
 	db \2 ; var
 ENDM
 
-	enum swarm_command ; $a0
+	const swarm_command ; $a0
 swarm: MACRO
 	db swarm_command
 	db \1 ; flag
@@ -1005,17 +1005,17 @@
 	map_id \2 ; map
 ENDM
 
-	enum halloffame_command ; $a1
+	const halloffame_command ; $a1
 halloffame: MACRO
 	db halloffame_command
 ENDM
 
-	enum credits_command ; $a2
+	const credits_command ; $a2
 credits: MACRO
 	db credits_command
 ENDM
 
-	enum warpfacing_command ; $a3
+	const warpfacing_command ; $a3
 warpfacing: MACRO
 	db warpfacing_command
 	db \1 ; facing
@@ -1024,13 +1024,13 @@
 	db \4 ; y
 ENDM
 
-	enum battletowertext_command ; $a4
+	const battletowertext_command ; $a4
 battletowertext: MACRO
 	db battletowertext_command
 	db \1 ; bttext_id
 ENDM
 
-	enum getlandmarkname_command ; $a5
+	const getlandmarkname_command ; $a5
 getlandmarkname: MACRO
 	db getlandmarkname_command
 	db \2 ; landmark_id
@@ -1037,7 +1037,7 @@
 	db \1 ; string_buffer
 ENDM
 
-	enum gettrainerclassname_command ; $a6
+	const gettrainerclassname_command ; $a6
 gettrainerclassname: MACRO
 	db gettrainerclassname_command
 	db \2 ; trainer_group
@@ -1044,7 +1044,7 @@
 	db \1 ; string_buffer
 ENDM
 
-	enum getname_command ; $a7
+	const getname_command ; $a7
 getname: MACRO
 	db getname_command
 	db \2 ; type
@@ -1052,13 +1052,13 @@
 	db \1 ; memory
 ENDM
 
-	enum wait_command ; $a8
+	const wait_command ; $a8
 wait: MACRO
 	db wait_command
 	db \1 ; duration
 ENDM
 
-	enum checksave_command ; $a9
+	const checksave_command ; $a9
 checksave: MACRO
 	db checksave_command
 ENDM
--- a/macros/scripts/gfx_anims.asm
+++ b/macros/scripts/gfx_anims.asm
@@ -12,26 +12,26 @@
 	db x
 ENDM
 
-	enum_start $fc
+	const_def $fc
 
-	enum delanim_command ; $fc
+	const delanim_command ; $fc
 delanim: MACRO
 ; Removes the object from the screen, as opposed to `endanim` which just stops all motion
 	db delanim_command
 ENDM
 
-	enum dowait_command ; $fd
+	const dowait_command ; $fd
 dowait: MACRO
 	db dowait_command
 	db \1 ; frames
 ENDM
 
-	enum dorestart_command ; $fe
+	const dorestart_command ; $fe
 dorestart: MACRO
 	db dorestart_command
 ENDM
 
-	enum endanim_command ; $ff
+	const endanim_command ; $ff
 endanim: MACRO
 	db endanim_command
 ENDM
@@ -38,15 +38,15 @@
 
 
 ; Used for pic animations
-__enum__ = $fd
+const_value = $fd
 
-	enum dorepeat_command ; $fd
+	const dorepeat_command ; $fd
 dorepeat: MACRO
 	db dorepeat_command
 	db \1 ; command offset to jump to
 ENDM
 
-	enum setrepeat_command ; $fe
+	const setrepeat_command ; $fe
 setrepeat: MACRO
 	db setrepeat_command
 	db \1 ; amount of times to repeat
--- a/macros/scripts/movement.asm
+++ b/macros/scripts/movement.asm
@@ -1,107 +1,107 @@
 ; MovementPointers indexes (see engine/overworld/movement.asm)
-	enum_start 0, 4
+	const_def 0, 4
 
 ; Directional movements
 
-	enum movement_turn_head ; $00
+	const movement_turn_head ; $00
 turn_head: MACRO
 	db movement_turn_head | \1
 ENDM
 
-	enum movement_turn_step ; $04
+	const movement_turn_step ; $04
 turn_step: MACRO
 	db movement_turn_step | \1
 ENDM
 
-	enum movement_slow_step ; $08
+	const movement_slow_step ; $08
 slow_step: MACRO
 	db movement_slow_step | \1
 ENDM
 
-	enum movement_step ; $0c
+	const movement_step ; $0c
 step: MACRO
 	db movement_step | \1
 ENDM
 
-	enum movement_big_step ; $10
+	const movement_big_step ; $10
 big_step: MACRO
 	db movement_big_step | \1
 ENDM
 
-	enum movement_slow_slide_step ; $14
+	const movement_slow_slide_step ; $14
 slow_slide_step: MACRO
 	db movement_slow_slide_step | \1
 ENDM
 
-	enum movement_slide_step ; $18
+	const movement_slide_step ; $18
 slide_step: MACRO
 	db movement_slide_step | \1
 ENDM
 
-	enum movement_fast_slide_step ; $1c
+	const movement_fast_slide_step ; $1c
 fast_slide_step: MACRO
 	db movement_fast_slide_step | \1
 ENDM
 
-	enum movement_turn_away ; $20
+	const movement_turn_away ; $20
 turn_away: MACRO
 	db movement_turn_away | \1
 ENDM
 
-	enum movement_turn_in ; $24
+	const movement_turn_in ; $24
 turn_in: MACRO
 	db movement_turn_in | \1
 ENDM
 
-	enum movement_turn_waterfall ; $28
+	const movement_turn_waterfall ; $28
 turn_waterfall: MACRO
 	db movement_turn_waterfall | \1
 ENDM
 
-	enum movement_slow_jump_step ; $2c
+	const movement_slow_jump_step ; $2c
 slow_jump_step: MACRO
 	db movement_slow_jump_step | \1
 ENDM
 
-	enum movement_jump_step ; $30
+	const movement_jump_step ; $30
 jump_step: MACRO
 	db movement_jump_step | \1
 ENDM
 
-	enum movement_fast_jump_step ; $34
+	const movement_fast_jump_step ; $34
 fast_jump_step: MACRO
 	db movement_fast_jump_step | \1
 ENDM
 
-__enumdir__ = 1
+const_inc = 1
 
 ; Control
-	enum movement_remove_sliding ; $38
+	const movement_remove_sliding ; $38
 remove_sliding: MACRO
 	db movement_remove_sliding
 ENDM
 
-	enum movement_set_sliding ; $39
+	const movement_set_sliding ; $39
 set_sliding: MACRO
 	db movement_set_sliding
 ENDM
 
-	enum movement_remove_fixed_facing ; $3a
+	const movement_remove_fixed_facing ; $3a
 remove_fixed_facing: MACRO
 	db movement_remove_fixed_facing
 ENDM
 
-	enum movement_fix_facing ; $3b
+	const movement_fix_facing ; $3b
 fix_facing: MACRO
 	db movement_fix_facing
 ENDM
 
-	enum movement_show_object ; $3c
+	const movement_show_object ; $3c
 show_object: MACRO
 	db movement_show_object
 ENDM
 
-	enum movement_hide_object ; $3d
+	const movement_hide_object ; $3d
 hide_object: MACRO
 	db movement_hide_object
 ENDM
@@ -108,7 +108,7 @@
 
 ; Sleep
 
-	enum movement_step_sleep ; $3e
+	const movement_step_sleep ; $3e
 step_sleep: MACRO
 if \1 <= 8
 	db movement_step_sleep + \1 - 1
@@ -117,104 +117,104 @@
 endc
 ENDM
 
-__enum__ = __enum__ + 8
+const_value = const_value + 8
 
-	enum movement_step_end ; $47
+	const movement_step_end ; $47
 step_end: MACRO
 	db movement_step_end
 ENDM
 
-	enum movement_step_48 ; $48
+	const movement_step_48 ; $48
 step_48: MACRO
 	db movement_step_48
 	db \1 ; ???
 ENDM
 
-	enum movement_remove_object ; $49
+	const movement_remove_object ; $49
 remove_object: MACRO
 	db movement_remove_object
 ENDM
 
-	enum movement_step_loop ; $4a
+	const movement_step_loop ; $4a
 step_loop: MACRO
 	db movement_step_loop
 ENDM
 
-	enum movement_step_4b ; $4b
+	const movement_step_4b ; $4b
 step_4b: MACRO
 	db movement_step_4b
 ENDM
 
-	enum movement_teleport_from ; $4c
+	const movement_teleport_from ; $4c
 teleport_from: MACRO
 	db movement_teleport_from
 ENDM
 
-	enum movement_teleport_to ; $4d
+	const movement_teleport_to ; $4d
 teleport_to: MACRO
 	db movement_teleport_to
 ENDM
 
-	enum movement_skyfall ; $4e
+	const movement_skyfall ; $4e
 skyfall: MACRO
 	db movement_skyfall
 ENDM
 
-	enum movement_step_dig ; $4f
+	const movement_step_dig ; $4f
 step_dig: MACRO
 	db movement_step_dig
 	db \1 ; length
 ENDM
 
-	enum movement_step_bump ; $50
+	const movement_step_bump ; $50
 step_bump: MACRO
 	db movement_step_bump
 ENDM
 
-	enum movement_fish_got_bite ; $51
+	const movement_fish_got_bite ; $51
 fish_got_bite: MACRO
 	db movement_fish_got_bite
 ENDM
 
-	enum movement_fish_cast_rod ; $52
+	const movement_fish_cast_rod ; $52
 fish_cast_rod: MACRO
 	db movement_fish_cast_rod
 ENDM
 
-	enum movement_hide_emote ; $53
+	const movement_hide_emote ; $53
 hide_emote: MACRO
 	db movement_hide_emote
 ENDM
 
-	enum movement_show_emote ; $54
+	const movement_show_emote ; $54
 show_emote: MACRO
 	db movement_show_emote
 ENDM
 
-	enum movement_step_shake ; $55
+	const movement_step_shake ; $55
 step_shake: MACRO
 	db movement_step_shake
 	db \1 ; displacement
 ENDM
 
-	enum movement_tree_shake ; $56
+	const movement_tree_shake ; $56
 tree_shake: MACRO
 	db movement_tree_shake
 ENDM
 
-	enum movement_rock_smash ; $57
+	const movement_rock_smash ; $57
 rock_smash: MACRO
 	db movement_rock_smash
 	db \1 ; length
 ENDM
 
-	enum movement_return_dig ; $58
+	const movement_return_dig ; $58
 return_dig: MACRO
 	db movement_return_dig
 	db \1 ; length
 ENDM
 
-	enum movement_skyfall_top ; $59
+	const movement_skyfall_top ; $59
 skyfall_top: MACRO
 	db movement_skyfall_top
 ENDM
--- a/macros/scripts/text.asm
+++ b/macros/scripts/text.asm
@@ -8,20 +8,20 @@
 prompt EQUS "db \"<PROMPT>\"" ; Prompt the player to end a text box (initiating some other event).
 
 ; TextCommands indexes (see home/text.asm)
-	enum_start
+	const_def
 
-	enum TX_START ; $00
+	const TX_START ; $00
 text_start: MACRO
 	db TX_START
 ENDM
 
-	enum TX_RAM ; $01
+	const TX_RAM ; $01
 text_ram: MACRO
 	db TX_RAM
 	dw \1
 ENDM
 
-	enum TX_BCD ; $02
+	const TX_BCD ; $02
 text_bcd: MACRO
 	db TX_BCD
 	dw \1
@@ -28,13 +28,13 @@
 	db \2
 ENDM
 
-	enum TX_MOVE ; $03
+	const TX_MOVE ; $03
 text_move: MACRO
 	db TX_MOVE
 	dw \1
 ENDM
 
-	enum TX_BOX ; $04
+	const TX_BOX ; $04
 text_box: MACRO
 	db TX_BOX
 	dw \1
@@ -41,27 +41,27 @@
 	db \2, \3
 ENDM
 
-	enum TX_LOW ; $05
+	const TX_LOW ; $05
 text_low: MACRO
 	db TX_LOW
 ENDM
 
-	enum TX_PROMPT_BUTTON ; $06
+	const TX_PROMPT_BUTTON ; $06
 text_promptbutton: MACRO
 	db TX_PROMPT_BUTTON
 ENDM
 
-	enum TX_SCROLL ; $07
+	const TX_SCROLL ; $07
 text_scroll: MACRO
 	db TX_SCROLL
 ENDM
 
-	enum TX_START_ASM ; $08
+	const TX_START_ASM ; $08
 text_asm: MACRO
 	db TX_START_ASM
 ENDM
 
-	enum TX_NUM ; $09
+	const TX_NUM ; $09
 text_decimal: MACRO
 	db TX_NUM
 	dw \1 ; address
@@ -68,69 +68,69 @@
 	dn \2, \3 ; bytes, digits
 ENDM
 
-	enum TX_PAUSE ; $0a
+	const TX_PAUSE ; $0a
 text_pause: MACRO
 	db TX_PAUSE
 ENDM
 
-	enum TX_SOUND_DEX_FANFARE_50_79 ; $0b
+	const TX_SOUND_DEX_FANFARE_50_79 ; $0b
 sound_dex_fanfare_50_79: MACRO
 	db TX_SOUND_DEX_FANFARE_50_79
 ENDM
 
-	enum TX_DOTS ; $0c
+	const TX_DOTS ; $0c
 text_dots: MACRO
 	db TX_DOTS
 	db \1
 ENDM
 
-	enum TX_WAIT_BUTTON ; $0d
+	const TX_WAIT_BUTTON ; $0d
 text_waitbutton: MACRO
 	db TX_WAIT_BUTTON
 ENDM
 
-	enum TX_SOUND_DEX_FANFARE_20_49 ; $0e
+	const TX_SOUND_DEX_FANFARE_20_49 ; $0e
 sound_dex_fanfare_20_49: MACRO
 	db TX_SOUND_DEX_FANFARE_20_49
 ENDM
 
-	enum TX_SOUND_ITEM ; $0f
+	const TX_SOUND_ITEM ; $0f
 sound_item: MACRO
 	db TX_SOUND_ITEM
 ENDM
 
-	enum TX_SOUND_CAUGHT_MON ; $10
+	const TX_SOUND_CAUGHT_MON ; $10
 sound_caught_mon: MACRO
 	db TX_SOUND_CAUGHT_MON
 ENDM
 
-	enum TX_SOUND_DEX_FANFARE_80_109 ; $11
+	const TX_SOUND_DEX_FANFARE_80_109 ; $11
 sound_dex_fanfare_80_109: MACRO
 	db TX_SOUND_DEX_FANFARE_80_109
 ENDM
 
-	enum TX_SOUND_FANFARE ; $12
+	const TX_SOUND_FANFARE ; $12
 sound_fanfare: MACRO
 	db TX_SOUND_FANFARE
 ENDM
 
-	enum TX_SOUND_SLOT_MACHINE_START ; $13
+	const TX_SOUND_SLOT_MACHINE_START ; $13
 sound_slot_machine_start: MACRO
 	db TX_SOUND_SLOT_MACHINE_START
 ENDM
 
-	enum TX_STRINGBUFFER ; $14
+	const TX_STRINGBUFFER ; $14
 text_buffer: MACRO
 	db TX_STRINGBUFFER
 	db \1
 ENDM
 
-	enum TX_DAY ; $15
+	const TX_DAY ; $15
 text_today: MACRO
 	db TX_DAY
 ENDM
 
-	enum TX_FAR ; $16
+	const TX_FAR ; $16
 text_far: MACRO
 	db TX_FAR
 	dw \1
@@ -137,9 +137,9 @@
 	db BANK(\1)
 ENDM
 
-	enum_set $50
+	const_def $50
 
-	enum TX_END ; $50
+	const TX_END ; $50
 text_end: MACRO
 	db TX_END
 ENDM
--- a/macros/scripts/trade_anims.asm
+++ b/macros/scripts/trade_anims.asm
@@ -1,254 +1,254 @@
 ; DoTradeAnimation.JumpTable indexes (see engine/movies/trade_animation.asm)
-	enum_start
+	const_def
 
-	enum tradeanim_next_command ; $00
+	const tradeanim_next_command ; $00
 tradeanim_next: MACRO
 	db tradeanim_next_command
 ENDM
 
-	enum tradeanim_show_givemon_data_command ; $01
+	const tradeanim_show_givemon_data_command ; $01
 tradeanim_show_givemon_data: MACRO
 	db tradeanim_show_givemon_data_command
 ENDM
 
-	enum tradeanim_show_getmon_data_command ; $02
+	const tradeanim_show_getmon_data_command ; $02
 tradeanim_show_getmon_data: MACRO
 	db tradeanim_show_getmon_data_command
 ENDM
 
-	enum tradeanim_enter_link_tube_command ; $03
+	const tradeanim_enter_link_tube_command ; $03
 tradeanim_enter_link_tube: MACRO
 	db tradeanim_enter_link_tube_command
 ENDM
 
-	enum_start $05
+	const_def $05
 
-	enum tradeanim_exit_link_tube_command ; $05
+	const tradeanim_exit_link_tube_command ; $05
 tradeanim_exit_link_tube: MACRO
 	db tradeanim_exit_link_tube_command
 ENDM
 
-	enum tradeanim_tube_to_ot_command ; $06
+	const tradeanim_tube_to_ot_command ; $06
 tradeanim_tube_to_ot: MACRO
 	db tradeanim_tube_to_ot_command
 ENDM
 
-	enum_start $0e
+	const_def $0e
 
-	enum tradeanim_tube_to_player_command ; $0e
+	const tradeanim_tube_to_player_command ; $0e
 tradeanim_tube_to_player: MACRO
 	db tradeanim_tube_to_player_command
 ENDM
 
-	enum_start $16
+	const_def $16
 
-	enum tradeanim_sent_to_ot_text_command ; $16
+	const tradeanim_sent_to_ot_text_command ; $16
 tradeanim_sent_to_ot_text: MACRO
 	db tradeanim_sent_to_ot_text_command
 ENDM
 
-	enum tradeanim_ot_bids_farewell_command ; $17
+	const tradeanim_ot_bids_farewell_command ; $17
 tradeanim_ot_bids_farewell: MACRO
 	db tradeanim_ot_bids_farewell_command
 ENDM
 
-	enum tradeanim_take_care_of_text_command ; $18
+	const tradeanim_take_care_of_text_command ; $18
 tradeanim_take_care_of_text: MACRO
 	db tradeanim_take_care_of_text_command
 ENDM
 
-	enum tradeanim_ot_sends_text_1_command ; $19
+	const tradeanim_ot_sends_text_1_command ; $19
 tradeanim_ot_sends_text_1: MACRO
 	db tradeanim_ot_sends_text_1_command
 ENDM
 
-	enum tradeanim_ot_sends_text_2_command ; $1a
+	const tradeanim_ot_sends_text_2_command ; $1a
 tradeanim_ot_sends_text_2: MACRO
 	db tradeanim_ot_sends_text_2_command
 ENDM
 
-	enum tradeanim_setup_givemon_scroll_command ; $1b
+	const tradeanim_setup_givemon_scroll_command ; $1b
 tradeanim_setup_givemon_scroll: MACRO
 	db tradeanim_setup_givemon_scroll_command
 ENDM
 
-	enum tradeanim_do_givemon_scroll_command ; $1c
+	const tradeanim_do_givemon_scroll_command ; $1c
 tradeanim_do_givemon_scroll: MACRO
 	db tradeanim_do_givemon_scroll_command
 ENDM
 
-	enum tradeanim_frontpic_scroll_command ; $1d
+	const tradeanim_frontpic_scroll_command ; $1d
 tradeanim_frontpic_scroll: MACRO
 	db tradeanim_frontpic_scroll_command
 ENDM
 
-	enum tradeanim_textbox_scroll_command ; $1e
+	const tradeanim_textbox_scroll_command ; $1e
 tradeanim_textbox_scroll: MACRO
 	db tradeanim_textbox_scroll_command
 ENDM
 
-	enum tradeanim_scroll_out_right_command ; $1f
+	const tradeanim_scroll_out_right_command ; $1f
 tradeanim_scroll_out_right: MACRO
 	db tradeanim_scroll_out_right_command
 ENDM
 
-	enum_start $21
+	const_def $21
 
-	enum tradeanim_wait_80_command ; $21
+	const tradeanim_wait_80_command ; $21
 tradeanim_wait_80: MACRO
 	db tradeanim_wait_80_command
 ENDM
 
-	enum tradeanim_wait_40_command ; $22
+	const tradeanim_wait_40_command ; $22
 tradeanim_wait_40: MACRO
 	db tradeanim_wait_40_command
 ENDM
 
-	enum tradeanim_rocking_ball_command ; $23
+	const tradeanim_rocking_ball_command ; $23
 tradeanim_rocking_ball: MACRO
 	db tradeanim_rocking_ball_command
 ENDM
 
-	enum tradeanim_drop_ball_command ; $24
+	const tradeanim_drop_ball_command ; $24
 tradeanim_drop_ball: MACRO
 	db tradeanim_drop_ball_command
 ENDM
 
-	enum tradeanim_wait_anim_command ; $25
+	const tradeanim_wait_anim_command ; $25
 tradeanim_wait_anim: MACRO
 	db tradeanim_wait_anim_command
 ENDM
 
-	enum_start $27
+	const_def $27
 
-	enum tradeanim_poof_command ; $27
+	const tradeanim_poof_command ; $27
 tradeanim_poof: MACRO
 	db tradeanim_poof_command
 ENDM
 
-	enum tradeanim_bulge_through_tube_command ; $28
+	const tradeanim_bulge_through_tube_command ; $28
 tradeanim_bulge_through_tube: MACRO
 	db tradeanim_bulge_through_tube_command
 ENDM
 
-	enum tradeanim_give_trademon_sfx_command ; $29
+	const tradeanim_give_trademon_sfx_command ; $29
 tradeanim_give_trademon_sfx: MACRO
 	db tradeanim_give_trademon_sfx_command
 ENDM
 
-	enum tradeanim_get_trademon_sfx_command ; $2a
+	const tradeanim_get_trademon_sfx_command ; $2a
 tradeanim_get_trademon_sfx: MACRO
 	db tradeanim_get_trademon_sfx_command
 ENDM
 
-	enum tradeanim_end_command ; $2b
+	const tradeanim_end_command ; $2b
 tradeanim_end: MACRO
 	db tradeanim_end_command
 ENDM
 
-	enum tradeanim_animate_frontpic_command ; $2c
+	const tradeanim_animate_frontpic_command ; $2c
 tradeanim_animate_frontpic: MACRO
 	db tradeanim_animate_frontpic_command
 ENDM
 
-	enum tradeanim_wait_96_command ; $2d
+	const tradeanim_wait_96_command ; $2d
 tradeanim_wait_96: MACRO
 	db tradeanim_wait_96_command
 ENDM
 
-	enum tradeanim_wait_80_if_ot_egg_command ; $2e
+	const tradeanim_wait_80_if_ot_egg_command ; $2e
 tradeanim_wait_80_if_ot_egg: MACRO
 	db tradeanim_wait_80_if_ot_egg_command
 ENDM
 
-	enum tradeanim_wait_180_if_ot_egg_command ; $2f
+	const tradeanim_wait_180_if_ot_egg_command ; $2f
 tradeanim_wait_180_if_ot_egg: MACRO
 	db tradeanim_wait_180_if_ot_egg_command
 ENDM
 
 ; Mobile
-	enum_start $01
+	const_def $01
 
-	enum mobiletradeanim_showgivemon_command ; $01
+	const mobiletradeanim_showgivemon_command ; $01
 mobiletradeanim_showgivemon: MACRO
 	db mobiletradeanim_showgivemon_command
 ENDM
 
-	enum mobiletradeanim_02_command ; $02
+	const mobiletradeanim_02_command ; $02
 mobiletradeanim_02: MACRO
 	db mobiletradeanim_02_command
 ENDM
 
-	enum mobiletradeanim_sendmon_command ; $03
+	const mobiletradeanim_sendmon_command ; $03
 mobiletradeanim_sendmon: MACRO
 	db mobiletradeanim_sendmon_command
 ENDM
 
-	enum_start $05
+	const_def $05
 
-	enum mobiletradeanim_05_command ; $05
+	const mobiletradeanim_05_command ; $05
 mobiletradeanim_05: MACRO
 	db mobiletradeanim_05_command
 ENDM
 
-	enum mobiletradeanim_06_command ; $06
+	const mobiletradeanim_06_command ; $06
 mobiletradeanim_06: MACRO
 	db mobiletradeanim_06_command
 ENDM
 
-	enum mobiletradeanim_07_command ; $07
+	const mobiletradeanim_07_command ; $07
 mobiletradeanim_07: MACRO
 	db mobiletradeanim_07_command
 ENDM
 
-	enum mobiletradeanim_receivemon_command ; $08
+	const mobiletradeanim_receivemon_command ; $08
 mobiletradeanim_receivemon: MACRO
 	db mobiletradeanim_receivemon_command
 ENDM
 
-	enum_start $0b
+	const_def $0b
 
-	enum mobiletradeanim_showgetmon_command ; $0b
+	const mobiletradeanim_showgetmon_command ; $0b
 mobiletradeanim_showgetmon: MACRO
 	db mobiletradeanim_showgetmon_command
 ENDM
 
-	enum mobiletradeanim_end_command ; $0c
+	const mobiletradeanim_end_command ; $0c
 mobiletradeanim_end: MACRO
 	db mobiletradeanim_end_command
 ENDM
 
-	enum mobiletradeanim_showgtsgivemon_command ; $0d
+	const mobiletradeanim_showgtsgivemon_command ; $0d
 mobiletradeanim_showgtsgivemon: MACRO
 	db mobiletradeanim_showgtsgivemon_command
 ENDM
 
-	enum mobiletradeanim_showgtsgetmon_command ; $0e
+	const mobiletradeanim_showgtsgetmon_command ; $0e
 mobiletradeanim_showgtsgetmon: MACRO
 	db mobiletradeanim_showgtsgetmon_command
 ENDM
 
-	enum mobiletradeanim_0f_command ; $0f
+	const mobiletradeanim_0f_command ; $0f
 mobiletradeanim_0f: MACRO
 	db mobiletradeanim_0f_command
 ENDM
 
-	enum mobiletradeanim_10_command ; $10
+	const mobiletradeanim_10_command ; $10
 mobiletradeanim_10: MACRO
 	db mobiletradeanim_10_command
 ENDM
 
-	enum mobiletradeanim_11_command ; $11
+	const mobiletradeanim_11_command ; $11
 mobiletradeanim_11: MACRO
 	db mobiletradeanim_11_command
 ENDM
 
-	enum mobiletradeanim_12_command ; $12
+	const mobiletradeanim_12_command ; $12
 mobiletradeanim_12: MACRO
 	db mobiletradeanim_12_command
 ENDM
 
-	enum mobiletradeanim_showoddegg_command ; $13
+	const mobiletradeanim_showoddegg_command ; $13
 mobiletradeanim_showoddegg: MACRO
 	db mobiletradeanim_showoddegg_command
 ENDM
--- a/wram.asm
+++ b/wram.asm
@@ -445,58 +445,52 @@
 
 wPlayerSubStatus1::
 ; bit
-; 7 in love
-; 6 rollout
-; 5 endure
-; 4 perish song
-; 3 identified
-; 2 protect
-; 1 curse
 ; 0 nightmare
+; 1 curse
+; 2 protect
+; 3 identified
+; 4 perish song
+; 5 endure
+; 6 rollout
+; 7 in love
 	db
 wPlayerSubStatus2::
 ; bit
-; 7
-; 6
-; 5
-; 4
-; 3
-; 2
-; 1
 ; 0 curled
+; 1-7 unused
 	db
 wPlayerSubStatus3::
 ; bit
-; 7 confused
-; 6 flying
-; 5 underground
-; 4 charged
-; 3 flinched
-; 2 in loop
-; 1 rampage
 ; 0 bide
+; 1 rampage
+; 2 in loop
+; 3 flinched
+; 4 charged
+; 5 underground
+; 6 flying
+; 7 confused
 	db
 wPlayerSubStatus4::
 ; bit
-; 7 leech seed
-; 6 rage
-; 5 recharge
-; 4 substitute
-; 3
-; 2 focus energy
-; 1 mist
 ; 0 x accuracy
+; 1 mist
+; 2 focus energy
+; 3
+; 4 substitute
+; 5 recharge
+; 6 rage
+; 7 leech seed
 	db
 wPlayerSubStatus5::
 ; bit
-; 7 can't run
-; 6 destiny bond
-; 5 lock-on
-; 4 encored
-; 3 transformed
-; 2
-; 1
 ; 0 toxic
+; 1
+; 2
+; 3 transformed
+; 4 encored
+; 5 lock-on
+; 6 destiny bond
+; 7 can't run
 	db
 
 wEnemySubStatus1::
@@ -635,14 +629,12 @@
 wPlayerMinimized:: db
 wPlayerScreens::
 ; bit
-; 7
-; 6
-; 5
-; 4 reflect
-; 3 light screen
-; 2 safeguard
-; 1
 ; 0 spikes
+; 1
+; 2 safeguard
+; 3 light screen
+; 4 reflect
+; 5-7 unused
 	db
 
 wEnemyScreens::