summaryrefslogtreecommitdiff
path: root/asm/macros.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/macros.s')
-rw-r--r--asm/macros.s133
1 files changed, 6 insertions, 127 deletions
diff --git a/asm/macros.s b/asm/macros.s
index 3fb5c375a..4e69c4642 100644
--- a/asm/macros.s
+++ b/asm/macros.s
@@ -1,134 +1,13 @@
+ .include "asm/macros/function.s"
+ .include "asm/macros/event.s"
+ .include "asm/macros/window.s"
+ .include "asm/macros/pokemon_data.s"
+ .include "asm/macros/ec.s"
+
.macro include_range start, end
.incbin "base_emerald.gba", \start, \end - \start
.endm
- .macro arm_func_start name
- .align 2, 0
- .global \name
- .arm
- .type \name, %function
- .endm
-
- .macro arm_func_end name
- .size \name, .-\name
- .endm
-
- .macro thumb_func_start name
- .align 2, 0
- .global \name
- .thumb
- .thumb_func
- .type \name, %function
- .endm
-
- .macro non_word_aligned_thumb_func_start name
- .global \name
- .thumb
- .thumb_func
- .type \name, %function
- .endm
-
- .macro thumb_func_end name
- .size \name, .-\name
- .endm
-
- .macro window_template bg_id, x, y, width, height, palette, vram_tile_offset
- .byte \bg_id
- .byte \x
- .byte \y
- .byte \width
- .byte \height
- .byte \palette
- .2byte \vram_tile_offset
- .endm
-
- .macro glyph_width_func font_id, func
- .4byte \font_id
- .4byte \func
- .endm
-
- .macro keypad_icon tile_offset, width, height
- .2byte \tile_offset
- .byte \width
- .byte \height
- .endm
-
- .macro font_info func, max_glyph_width, glyph_height, glyph_spacing, line_spacing, text_color, shadow_color, bg_color
- .4byte \func
- .byte \max_glyph_width
- .byte \glyph_height
- .byte \glyph_spacing
- .byte \line_spacing
- .byte \text_color << 4 ; low nybble seems unused
- .byte (\shadow_color << 4) | \bg_color
- .2byte 0 ; padding
- .endm
-
- .macro pokedex_entry category_name, height, width, text_pointer, pokemon_scale, pokemon_offset, trainer_scale, trainer_offset
- .charmapstr "\category_name", 12
- .2byte \height ; in decimeters
- .2byte \width ; in hectograms
- .4byte \text_pointer
- .2byte 0 ; unused
- .2byte \pokemon_scale
- .2byte \pokemon_offset
- .2byte \trainer_scale
- .2byte \trainer_offset
- .2byte 0 ; padding
- .endm
-
- .macro base_stats hp, attack, defense, speed, sp_attack, sp_defense
- .byte \hp
- .byte \attack
- .byte \defense
- .byte \speed
- .byte \sp_attack
- .byte \sp_defense
- .endm
-
- .macro ev_yield hp, attack, defense, speed, sp_attack, sp_defense
- .2byte (\sp_defense << 10) | (\sp_attack << 8) | (\speed << 6) | (\defense << 4) | (\attack << 2) | \hp
- .endm
-
- .macro level_up_move level, move
- .2byte (\level << 9) | \move
- .endm
-
- .macro evo_entry method, parameter, target_pokemon
- .2byte \method
- .2byte \parameter
- .2byte \target_pokemon
- .2byte 0 ; padding
- .endm
-
- .macro empty_evo_entries count
- .fill 8 * \count, 1, 0
- .endm
-
- .macro egg_moves_begin species
- .2byte 20000 + \species
- .endm
-
- .macro ec_word word
- .2byte EC_WORD_\word
- .endm
-
- .macro ec_move1 name
- .2byte (EC_GROUP_MOVE_1 << 9) | MOVE_\name
- .endm
-
- .macro ec_move2 name
- .2byte (EC_GROUP_MOVE_2 << 9) | MOVE_\name
- .endm
-
- .macro ec_pokemon1 name
- .2byte (EC_GROUP_POKEMON << 9) | SPECIES_\name
- .endm
-
- .macro ec_pokemon2 name
- .2byte (EC_GROUP_POKEMON2 << 9) | SPECIES_\name
- .endm
-
.macro region_map_entry x, y, width, height, name
.byte \x
.byte \y