summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/emerald.s36
-rw-r--r--asm/macros.s1
-rw-r--r--asm/macros/map.s15
-rw-r--r--asm/macros/pokemon_data.s17
4 files changed, 49 insertions, 20 deletions
diff --git a/asm/emerald.s b/asm/emerald.s
index d4bc8ddad..76045f4c6 100644
--- a/asm/emerald.s
+++ b/asm/emerald.s
@@ -1,5 +1,5 @@
- .include "constants/constants.s"
.include "asm/macros.s"
+ .include "constants/constants.s"
.include "asm/charmap.s"
.syntax unified
@@ -340538,7 +340538,7 @@ sub_80B4C74: ; 80B4C74
get_wild_data_index_for_map: ; 80B4CF8
push {r4-r6,lr}
movs r4, 0
- ldr r0, =gUnknown_08552D48
+ ldr r0, =gWildMonHeaders
ldrb r1, [r0]
adds r5, r0, 0
cmp r1, 0xFF
@@ -341389,7 +341389,7 @@ is_it_battle_time_2: ; 80B5288
lsrs r0, 24
cmp r0, 0x1
bne @080B543C
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
lsls r2, r5, 2
adds r0, r2, r5
lsls r0, 2
@@ -341409,7 +341409,7 @@ is_it_battle_time_2: ; 80B5288
bne @080B53D4
b @080B54FE
@080B53D4:
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
adds r0, r4, r5
lsls r0, 2
adds r1, 0x4
@@ -341441,7 +341441,7 @@ is_it_battle_time_2: ; 80B5288
cmp r0, 0x1
beq @080B54F6
@080B5418:
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
adds r0, r4, r5
lsls r0, 2
adds r1, 0x4
@@ -341481,7 +341481,7 @@ is_it_battle_time_2: ; 80B5288
lsrs r0, 24
cmp r0, 0x1
beq @080B54FE
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
lsls r2, r5, 2
adds r0, r2, r5
lsls r0, 2
@@ -341498,7 +341498,7 @@ is_it_battle_time_2: ; 80B5288
cmp r0, 0
beq @080B54FE
@080B5492:
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
adds r0, r4, r5
lsls r0, 2
adds r1, 0x8
@@ -341564,7 +341564,7 @@ sub_80B550C: ; 80B550C
ldr r0, =0x0000ffff
cmp r2, r0
beq @080B5568
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
lsls r0, r2, 2
adds r0, r2
lsls r0, 2
@@ -341697,7 +341697,7 @@ sub_80B5578: ; 80B5578
lsrs r0, 24
cmp r0, 0x1
bne @080B568C
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
lsls r0, r4, 2
adds r0, r4
lsls r0, 2
@@ -341746,7 +341746,7 @@ sub_80B5578: ; 80B5578
lsrs r0, 24
cmp r0, 0x1
beq @080B56F2
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
lsls r0, r4, 2
adds r0, r4
lsls r0, 2
@@ -341793,7 +341793,7 @@ sub_80B56FC: ; 80B56FC
ldr r0, =0x0000ffff
cmp r2, r0
beq @080B572C
- ldr r0, =gUnknown_08552D48
+ ldr r0, =gWildMonHeaders
lsls r1, r2, 2
adds r1, r2
lsls r1, 2
@@ -341836,7 +341836,7 @@ sub_80B5734: ; 80B5734
.align 2, 0
.pool
@080B5764:
- ldr r4, =gUnknown_08552D48
+ ldr r4, =gWildMonHeaders
bl get_wild_data_index_for_map
lsls r0, 16
lsrs r0, 16
@@ -341875,7 +341875,7 @@ wild_pokemon_rand_for_map: ; 80B57A0
ldr r0, =0x0000ffff
cmp r3, r0
beq @080B57D2
- ldr r2, =gUnknown_08552D48
+ ldr r2, =gWildMonHeaders
lsls r1, r3, 2
adds r1, r3
lsls r1, 2
@@ -341944,7 +341944,7 @@ sub_80B582C: ; 80B582C
ldr r0, =0x0000ffff
cmp r2, r0
beq @080B5868
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
lsls r0, r2, 2
adds r0, r2
lsls r0, 2
@@ -610102,7 +610102,7 @@ sub_813CB40: ; 813CB40
bne @0813CBC0
@0813CC44:
movs r6, 0
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
ldrb r0, [r1]
cmp r0, 0xFF
beq @0813CCF8
@@ -610137,7 +610137,7 @@ sub_813CB40: ; 813CB40
bl sub_813CD04
b @0813CC9C
@0813CC8C:
- ldr r0, =gUnknown_08552D48
+ ldr r0, =gWildMonHeaders
adds r1, r4, r6
lsls r1, 2
adds r1, r0
@@ -610148,7 +610148,7 @@ sub_813CB40: ; 813CB40
adds r0, r6, 0x1
lsls r0, 16
lsrs r6, r0, 16
- ldr r1, =gUnknown_08552D48
+ ldr r1, =gWildMonHeaders
lsls r0, r6, 2
adds r0, r6
lsls r0, 2
@@ -784849,7 +784849,7 @@ sub_8196B98: ; 8196B98
adds r2, r0, 0
mov r8, r1
movs r3, 0
- ldr r0, =gUnknown_08552D48
+ ldr r0, =gWildMonHeaders
ldrb r1, [r0]
adds r7, r0, 0
cmp r1, 0xFF
diff --git a/asm/macros.s b/asm/macros.s
index 4e69c4642..4d44a7ac5 100644
--- a/asm/macros.s
+++ b/asm/macros.s
@@ -3,6 +3,7 @@
.include "asm/macros/window.s"
.include "asm/macros/pokemon_data.s"
.include "asm/macros/ec.s"
+ .include "asm/macros/map.s"
.macro include_range start, end
.incbin "base_emerald.gba", \start, \end - \start
diff --git a/asm/macros/map.s b/asm/macros/map.s
new file mode 100644
index 000000000..452f9b714
--- /dev/null
+++ b/asm/macros/map.s
@@ -0,0 +1,15 @@
+ .macro new_map_group
+ .set cur_map_group, cur_map_group + 1
+ .set cur_map_num, 0
+ .endm
+
+ .macro map_group map_name
+ .set GROUP_\map_name, cur_map_group
+ .set MAP_\map_name, cur_map_num
+ .set cur_map_num, cur_map_num + 1
+ .endm
+
+ .macro map map_name
+ .byte GROUP_\map_name
+ .byte MAP_\map_name
+ .endm
diff --git a/asm/macros/pokemon_data.s b/asm/macros/pokemon_data.s
index 712044f61..bbdd07043 100644
--- a/asm/macros/pokemon_data.s
+++ b/asm/macros/pokemon_data.s
@@ -28,10 +28,10 @@
.2byte (\level << 9) | \move
.endm
- .macro evo_entry method, parameter, target_pokemon
+ .macro evo_entry method, parameter, target_species
.2byte \method
.2byte \parameter
- .2byte \target_pokemon
+ .2byte \target_species
.2byte 0 ; padding
.endm
@@ -42,3 +42,16 @@
.macro egg_moves_begin species
.2byte 20000 + \species
.endm
+
+; If the min level equals the max level, only one level argument is needed.
+ .macro wild_mon species, min_level, max_level
+ .byte \min_level
+
+ .ifb \max_level
+ .byte \min_level
+ .else
+ .byte \max_level
+ .endif
+
+ .2byte SPECIES_\species
+ .endm