diff options
author | Daniel Harding <33dannye@gmail.com> | 2020-05-16 21:42:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-16 21:42:24 -0500 |
commit | 8a924f1f783572ff395f617f99546b4c949c8b04 (patch) | |
tree | 1b6c7de331cb983256651b11b8adf413a3a434f1 /engine/overworld/load_map_part.asm | |
parent | 88d7e9a34a8b610b358cec1ccc6660634ca9ce80 (diff) | |
parent | ed94962edf1668aba3f60938e8a5ba8040e2a59c (diff) |
Merge pull request #30 from entrpntr/spring-cleaning
Spring Cleaning
Diffstat (limited to 'engine/overworld/load_map_part.asm')
-rw-r--r-- | engine/overworld/load_map_part.asm | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/engine/overworld/load_map_part.asm b/engine/overworld/load_map_part.asm new file mode 100644 index 00000000..23758f28 --- /dev/null +++ b/engine/overworld/load_map_part.asm @@ -0,0 +1,155 @@ +_LoadMapPart:: + ld hl, wSurroundingTiles + ld a, [wMetatileStandingY] + and a + jr z, .top_row + ld bc, SURROUNDING_WIDTH * 2 + add hl, bc + +.top_row + ld a, [wMetatileStandingX] + and a + jr z, .left_column + inc hl + inc hl + +.left_column + decoord 0, 0 + ld b, SCREEN_HEIGHT +.loop + ld c, SCREEN_WIDTH +.loop2 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .loop2 + ld a, l + add METATILE_WIDTH + ld l, a + jr nc, .carry + inc h + +.carry + dec b + jr nz, .loop + ret + +UnusedFunction153ba: + decoord 2, 2 + ld bc, (SURROUNDING_WIDTH + 1) * 2 + add hl, bc + ld c, SCREEN_HEIGHT - 4 * 1 +.loop: + ld b, SCREEN_WIDTH - SCREEN_META_WIDTH +.loop2: + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loop2 + ld a, l + add SCREEN_META_WIDTH + METATILE_WIDTH + ld l, a + jr nc, .carry1 + inc h + +.carry1: + ld a, e + add SCREEN_META_WIDTH + ld e, a + jr nc, .carry2 + inc d + +.carry2: + dec c + jr nz, .loop + ret + +UnusedFunction153dd: + decoord 4, 4 + ld bc, (SURROUNDING_WIDTH + 1) * 4 + add hl, bc + ld c, SCREEN_HEIGHT - 4 * 2 +.loop: + ld b, SCREEN_WIDTH - SCREEN_META_WIDTH - METATILE_WIDTH +.loop2: + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loop2 + ld a, l + add SCREEN_META_WIDTH + METATILE_WIDTH * 2 + ld l, a + jr nc, .carry1 + inc h + +.carry1: + ld a, e + add SCREEN_META_WIDTH + METATILE_WIDTH + ld e, a + jr nc, .carry2 + inc d + +.carry2: + dec c + jr nz, .loop + ret + +UnusedFunction15400: + decoord 6, 6 + ld bc, (SURROUNDING_WIDTH + 1) * 6 + add hl, bc + ld c, SCREEN_HEIGHT - 4 * 3 +.loop: + ld b, SCREEN_WIDTH - SCREEN_META_WIDTH - METATILE_WIDTH * 2 +.loop2: + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loop2 + ld a, l + add SCREEN_META_WIDTH + METATILE_WIDTH * 3 + ld l, a + jr nc, .carry1 + inc h + +.carry1: + ld a, e + add SCREEN_META_WIDTH + METATILE_WIDTH * 2 + ld e, a + jr nc, .carry2 + inc d + +.carry2: + dec c + jr nz, .loop + ret + +UnusedFunction15423: + decoord 8, 8 + ld bc, (SURROUNDING_WIDTH + 1) * 8 + add hl, bc +.loop + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld bc, SCREEN_WIDTH + 2 + add hl, bc + ld a, e + add SCREEN_META_WIDTH + METATILE_WIDTH * 3 + 1 + ld e, a + jr nc, .carry + inc d + +.carry: + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ret |