aboutsummaryrefslogtreecommitdiffstats
path: root/engine/overworld/replace_tile_block.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/overworld/replace_tile_block.asm')
-rw-r--r--engine/overworld/replace_tile_block.asm126
1 files changed, 0 insertions, 126 deletions
diff --git a/engine/overworld/replace_tile_block.asm b/engine/overworld/replace_tile_block.asm
deleted file mode 100644
index 8577b9e7..00000000
--- a/engine/overworld/replace_tile_block.asm
+++ /dev/null
@@ -1,126 +0,0 @@
-; replaces a tile block with the one specified in [wNewTileBlockID]
-; and redraws the map view if necessary
-; b = Y
-; c = X
-ReplaceTileBlock:
- call GetPredefRegisters
- ld hl, wOverworldMap
- ld a, [wCurMapWidth]
- add $6
- ld e, a
- ld d, $0
- add hl, de
- add hl, de
- add hl, de
- ld e, $3
- add hl, de
- ld e, a
- ld a, b
- and a
- jr z, .addX
-; add width * Y
-.addWidthYTimesLoop
- add hl, de
- dec b
- jr nz, .addWidthYTimesLoop
-.addX
- add hl, bc ; add X
- ld a, [wNewTileBlockID]
- ld [hl], a
- ld a, [wCurrentTileBlockMapViewPointer]
- ld c, a
- ld a, [wCurrentTileBlockMapViewPointer + 1]
- ld b, a
- call CompareHLWithBC
- ret c ; return if the replaced tile block is below the map view in memory
- push hl
- ld l, e
- ld h, $0
- ld e, $6
- ld d, h
- add hl, hl
- add hl, hl
- add hl, de
- add hl, bc
- pop bc
- call CompareHLWithBC
- ret c ; return if the replaced tile block is above the map view in memory
-
-RedrawMapView:
- ld a, [wIsInBattle]
- inc a
- ret z
- ld a, [H_AUTOBGTRANSFERENABLED]
- push af
- ld a, [hTilesetType]
- push af
- xor a
- ld [H_AUTOBGTRANSFERENABLED], a
- ld [hTilesetType], a ; no flower/water BG tile animations
- call LoadCurrentMapView
- call RunDefaultPaletteCommand
- ld hl, wMapViewVRAMPointer
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld de, -2 * 32
- add hl, de
- ld a, h
- and $3
- or $98
- ld a, l
- ld [wBuffer], a
- ld a, h
- ld [wBuffer + 1], a ; this copy of the address is not used
- ld a, 2
- ld [$ffbe], a
- ld c, 9 ; number of rows of 2x2 tiles (this covers the whole screen)
-.redrawRowLoop
- push bc
- push hl
- push hl
- ld hl, wTileMap - 2 * SCREEN_WIDTH
- ld de, SCREEN_WIDTH
- ld a, [$ffbe]
-.calcWRAMAddrLoop
- add hl, de
- dec a
- jr nz, .calcWRAMAddrLoop
- call CopyToRedrawRowOrColumnSrcTiles
- pop hl
- ld de, $20
- ld a, [$ffbe]
- ld c, a
-.calcVRAMAddrLoop
- add hl, de
- ld a, h
- and $3
- or $98
- dec c
- jr nz, .calcVRAMAddrLoop
- ld [hRedrawRowOrColumnDest + 1], a
- ld a, l
- ld [hRedrawRowOrColumnDest], a
- ld a, REDRAW_ROW
- ld [hRedrawRowOrColumnMode], a
- call DelayFrame
- ld hl, $ffbe
- inc [hl]
- inc [hl]
- pop hl
- pop bc
- dec c
- jr nz, .redrawRowLoop
- pop af
- ld [hTilesetType], a
- pop af
- ld [H_AUTOBGTRANSFERENABLED], a
- ret
-
-CompareHLWithBC:
- ld a, h
- sub b
- ret nz
- ld a, l
- sub c
- ret