summaryrefslogtreecommitdiff
path: root/source/bank_20.asm
diff options
context:
space:
mode:
authorIIMarckus <iimarckus@gmail.com>2020-09-22 00:52:25 -0600
committerIIMarckus <iimarckus@gmail.com>2020-09-22 13:24:13 -0600
commita6e999910355e5a08de4937129aa236d0b083a50 (patch)
tree97307a63eca79cbe533b28e038287cc8022970f7 /source/bank_20.asm
parentf56f72b262056824b392c4e8a64137c8094765fc (diff)
Add functions calculating puzzle id from coordinates on map
Diffstat (limited to 'source/bank_20.asm')
-rw-r--r--source/bank_20.asm51
1 files changed, 51 insertions, 0 deletions
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