diff options
author | IIMarckus <iimarckus@gmail.com> | 2020-09-22 00:52:25 -0600 |
---|---|---|
committer | IIMarckus <iimarckus@gmail.com> | 2020-09-22 13:24:13 -0600 |
commit | a6e999910355e5a08de4937129aa236d0b083a50 (patch) | |
tree | 97307a63eca79cbe533b28e038287cc8022970f7 /source | |
parent | f56f72b262056824b392c4e8a64137c8094765fc (diff) |
Add functions calculating puzzle id from coordinates on map
Diffstat (limited to 'source')
-rw-r--r-- | source/bank_01.asm | 34 | ||||
-rw-r--r-- | source/bank_20.asm | 51 | ||||
-rw-r--r-- | source/bank_3c.asm | 12 |
3 files changed, 97 insertions, 0 deletions
diff --git a/source/bank_01.asm b/source/bank_01.asm index 30e904d..f188759 100644 --- a/source/bank_01.asm +++ b/source/bank_01.asm @@ -1,4 +1,6 @@ INCLUDE "macros.inc" +INCLUDE "level_constants.inc" +INCLUDE "puzzle_constants.inc" SECTION "text_2_char_draw", ROMX[$5e3c], BANK[$01] @@ -31,6 +33,38 @@ puzzle_name_textbox_clear: jp nz, .loop ret +SECTION "calc_town_map_puzzle_index", ROMX[$61FA], BANK[$01] +calc_town_map_puzzle_index:: + ld a, [w_town_map_level] + cp LEVEL_MEW + jr nz, .not_mew + ld a, PUZZLE_MEW + jp farcall_ret + +.not_mew + ld a, [w_town_map_y] + ld c, a + add a + add a + add c + ld c, a + ld a, [w_town_map_x] + add c + ld c, a + ld a, [w_town_map_level] + add a + add a + add a + add a + add c + ld c, a + ld a, [w_town_map_level] + xor $ff + inc a + add c + add PUZZLE_DIGLETT + jp farcall_ret + SECTION "function_01_6306", ROMX[$6306], BANK[$01] function_01_6306:: ld c, 16 diff --git a/source/bank_20.asm b/source/bank_20.asm new file mode 100644 index 0000000..da85a69 --- /dev/null +++ b/source/bank_20.asm @@ -0,0 +1,51 @@ +INCLUDE "level_constants.inc" +INCLUDE "puzzle_constants.inc" + +SECTION "calc_safari_map_puzzle_index", ROMX[$46B5], BANK[$20] +calc_safari_map_puzzle_index:: + ld a, [w_safari_map_level] + cp LEVEL_JUNGLE_ZONE + jp z, calc_safari_map_level_4_puzzle_index + ld a, [w_safari_map_y] + ld c, a + add a + add a + add c + ld c, a + ld a, [w_safari_map_x] + add c + ld c, a + ld a, [w_safari_map_level] + add a + add a + add a + add a + add c + ld c, a + ld a, [w_safari_map_level] + xor $ff + inc a + add c + add PUZZLE_SAFARI_HAUNTER + jp farcall_ret + +SECTION "calc_safari_map_level_4_puzzle_index", ROMX[$5258], BANK[$20] +calc_safari_map_level_4_puzzle_index:: + ld a, [w_safari_map_y] + add a + add a + ld c, a + ld a, [w_safari_map_x] + add c + ld l, a + ld h, 0 + ld de, .level_4_puzzles + add hl, de + ld a, [hl] + jp farcall_ret + +.level_4_puzzles: + db PUZZLE_THREE_POKEMON, PUZZLE_SAFARI_GLOOM, 00, 00 + db PUZZLE_TEAM_ROCKET, PUZZLE_PIKACHU_AND_TOGEPI, 00, 00 + db PUZZLE_HIDDEN_VILLAGE, PUZZLE_SNOWMAN, 00, 00 + db 00, 00, 00, 00 diff --git a/source/bank_3c.asm b/source/bank_3c.asm index 2cfed7e..0d03b21 100644 --- a/source/bank_3c.asm +++ b/source/bank_3c.asm @@ -6,3 +6,15 @@ textbox_border_load:: ld bc, gfx_textbox_border_dark.end - gfx_textbox_border_dark call vram_copy jp farcall_ret + +SECTION "calc_easy_picross_puzzle_index", ROMX[$649d], BANK[$3c] +calc_easy_picross_puzzle_index:: + ld a, [w_easy_picross_y] + ld c, a + add a + add a + add c + ld c, a + ld a, [w_easy_picross_x] + add c + jp farcall_ret |