diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/emerald.s | 36 | ||||
-rw-r--r-- | asm/macros.s | 1 | ||||
-rw-r--r-- | asm/macros/map.s | 15 | ||||
-rw-r--r-- | asm/macros/pokemon_data.s | 17 |
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 |