diff options
Diffstat (limited to 'engine/overworld/replace_tile_block.asm')
| -rw-r--r-- | engine/overworld/replace_tile_block.asm | 126 |
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 |
