diff options
Diffstat (limited to 'home/map.asm')
-rw-r--r-- | home/map.asm | 416 |
1 files changed, 0 insertions, 416 deletions
diff --git a/home/map.asm b/home/map.asm index c07bc96..9078f64 100644 --- a/home/map.asm +++ b/home/map.asm @@ -1734,419 +1734,3 @@ Function2be5:: ; 00:2be5 .Return: ; 00:2c04 ret - -SECTION "LoadTilesetGFX", ROM0[$2D26] -LoadTilesetGFX:: ; 2d26 - call GetMapEnvironment - cp 1 ; TODO: constantify this - jr z, .exterior - cp 2 ; TODO: constantify this - jr z, .exterior - ld a, [wMapTileset] - cp $1B ; TODO: constantify this - jr z, .exterior - - ld a, [wTilesetTilesAddress] - ld e, a - ld a, [wTilesetTilesAddress + 1] - ld d, a - ld hl, vTileset - ld a, [wTilesetBank] - ld b, a - ld c, $60 - call Get2bpp - xor a - ldh [hTileAnimFrame], a - ret - -.exterior - ld de, CommonExteriorTiles ; TODO: maybe find a better name - ld hl, vTileset - lb bc, BANK(CommonExteriorTiles), $20 - call Get2bpp - - ld a, [wTilesetTilesAddress] - ld e, a - ld a, [wTilesetTilesAddress + 1] - ld d, a - ld hl, vExteriorTileset - ld a, [wTilesetBank] - ld b, a - ld c, $40 - call Get2bpp - xor a - ldh [hTileAnimFrame], a - ret - - -RefreshPlayerCoords:: ; 2d74 - ld a, [wXCoord] - add a, 4 - ld d, a - ld hl, wPlayerStandingMapX - sub [hl] - ld [hl], d - ld hl, wPlayerObjectXCoord - ld [hl], d - ld hl, wPlayerLastMapX - ld [hl], d - ld d, a - ld a, [wYCoord] - add a, 4 - ld e, a - ld hl, wPlayerStandingMapY - sub [hl] - ld [hl], e - ld hl, wPlayerObjectYCoord - ld [hl], e - ld hl, wPlayerLastMapY - ld [hl], e - ld e, a - - ld a, [wObjectFollow_Leader] - cp 1 - ret nz - ld a, [wObjectFollow_Follower] - and a - ret z - - ; This piece of code has been removed in pokegold (note that the conditions above were altered, as well) - call GetObjectStruct - ld hl, 16 ; TODO: constantify this - add hl, bc - ld a, [hl] - add a, d - ld [hl], a - ld [wMap1ObjectXCoord], a - ld hl, 18 ; TODO: constantify this - add hl, bc - ld a, [hl] - add a, d - ld [hl], a - ld hl, 17 ; TODO: constantify this - add hl, bc - ld a, [hl] - add a, e - ld [hl], a - ld [wMap1ObjectYCoord], a - ld hl, 19 - add hl, bc - ld a, [hl] - add a, e - ld [hl], a - ret - - -BufferScreen:: ; 2dcd - ld hl, wOverworldMapAnchor - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wScreenSave - ld c, 5 - ld b, 6 -.row - push bc - push hl -.col - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .col - pop hl - ld a, [wMapWidth] - add a, 6 - ld c, a - ld b, 0 - add hl, bc - pop bc - dec c - jr nz, .row - ret - -SaveScreen:: ; 2df1 - ld hl, wOverworldMapAnchor - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wScreenSave - ld a, [wMapWidth] - add 6 - ldh [hMapObjectIndexBuffer], a - ld a, [wPlayerStepDirection] - and a - jr z, .down - cp UP - jr z, .up - cp LEFT - jr z, .left - cp RIGHT - jr z, .right - ret - -.up - ld de, wScreenSave + 6 - ldh a, [hMapObjectIndexBuffer] - ld c, a - ld b, 0 - add hl, bc - jr .vertical - -.down - ld de, wScreenSave -.vertical - ld b, 6 - ld c, 4 - jr .load_neighbor - -.left - ld de, wScreenSave + 1 - inc hl - jr .horizontal - -.right - ld de, wScreenSave -.horizontal - ld b, 5 - ld c, 5 - -.load_neighbor ; 2e35 -.row - push bc - push hl - push de -.col - ld a, [de] - inc de - ld [hli], a - dec b - jr nz, .col - pop de - ld a, e - add a, 6 - ld e, a - jr nc, .okay - inc d - -.okay - pop hl - ldh a, [hConnectionStripLength] - ld c, a - ld b, 0 - add hl, bc - pop bc - dec c - jr nz, .row - ret - - -RefreshTiles:: ; 2e52 - call .left_right - call .up_down - ld a, [wPlayerStandingMapX] - ld d, a - ld a, [wPlayerStandingMapY] - ld e, a - call GetCoordTile - ld [wPlayerStandingTile], a - ret - -.up_down ; 2e67 - ld a, [wPlayerStandingMapX] - ld d, a - ld a, [wPlayerStandingMapY] - ld e, a - push de - inc e - call GetCoordTile - ld [wTileDown], a - pop de - dec e - call GetCoordTile - ld [wTileUp], a - ret - -.left_right ; 2e80 - ld a, [wPlayerStandingMapX] - ld d, a - ld a, [wPlayerStandingMapY] - ld e, a - push de - dec d - call GetCoordTile - ld [wTileLeft], a - pop de - inc d - call GetCoordTile - ld [wTileRight], a - ret - - -GetFacingTileCoord:: ; 2e99 - ld a, [wPlayerWalking] ; TODO: wPlayerDirection in Crystal. Not here? - and %1100 - srl a - srl a - ld l, a - ld h, 0 - add hl, hl - add hl, hl - ld de, .directions - add hl, de - - ld d, [hl] - inc hl - ld e, [hl] - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - - ld a, [wPlayerStandingMapX] - add a, d - ld d, a - ld a, [wPlayerStandingMapY] - add a, e - ld e, a - ld a, [hl] - ret - -.directions - db 0, 1 - dw wTileDown - - db 0, -1 - dw wTileUp - - db -1, 0 - dw wTileLeft - - db 1, 0 - dw wTileRight - -GetCoordTile:: ; 2ece -; Get the collision byte for tile d, e - call GetBlockLocation - ld a, [hl] - and a - jr z, .nope - ld l, a - ld h, 0 - add hl, hl - add hl, hl - ld a, [wTilesetCollisionAddress] - ld c, a - ld a, [wTilesetCollisionAddress + 1] - ld b, a - add hl, bc - rr d - jr nc, .nocarry - inc hl - -.nocarry - rr e - jr nc, .nocarry2 - inc hl - inc hl - -.nocarry2 - ld a, [wTilesetBank] - call GetFarByte - ret - -.nope - ld a, -1 - ret - -GetBlockLocation:: ; 2ef8 - ld a, [wMapWidth] - add a, 6 - ld c, a - ld b, 0 - ld hl, wOverworldMap + 1 - add hl, bc - ld a, e - srl a - jr z, .nope - and a -.loop - srl a - jr nc, .ok - add hl, bc - -.ok - sla c - rl b - and a - jr nz, .loop - -.nope - ld c, d - srl c - ld b, 0 - add hl, bc - ret - -GetFacingSignpost:: ; 00:2f1d - call GetFacingTileCoord - ld b, a - ld a, d - sub $4 - ld d, a - ld a, e - sub $4 - ld e, a - ld a, [wCurrMapSignCount] - and a - ret z - ld c, a - ld hl, wCurrMapSigns -.asm_2f32: ; 00:2f32 - ld a, [hli] - cp e - jr nz, .asm_2f3e - ld a, [hli] - cp d - jr nz, .asm_2f3f - ld a, [hli] - cp b ; useless comparison - jr .asm_2f46 - -.asm_2f3e: ; 00:2f3e - inc hl -.asm_2f3f: ; 00:2f3f - inc hl - inc hl - dec c - jr nz, .asm_2f32 - xor a - ret - -.asm_2f46: ; 00:2f46 - scf - ret - -LoadTileset:: ; 2f48 - push hl - push bc - - ld hl, Tilesets - ld bc, wTilesetEnd - wTileset - ld a, [wMapTileset] - call AddNTimes - - ld de, wTileset - ld bc, wTilesetEnd - wTileset - - ld a, BANK(Tilesets) - call FarCopyBytes - - ld a, 1 - ldh [hMapAnims], a - xor a - ldh [hTileAnimFrame], a - - pop bc - pop hl - ret |