From 865aa6689a7372b7453b41fba6c5b787c72843d7 Mon Sep 17 00:00:00 2001 From: Astatin Date: Sun, 11 Aug 2024 17:52:09 +0900 Subject: Make leaf tiles depend on surrounding tiles --- map.gbasm | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 56 insertions(+), 4 deletions(-) (limited to 'map.gbasm') diff --git a/map.gbasm b/map.gbasm index 9692367..5e04844 100644 --- a/map.gbasm +++ b/map.gbasm @@ -129,25 +129,77 @@ Load_Block: ; X in A, Y in B (X and B being AND with 0x0f) POP BC POP AF + PUSH AF + PUSH DE + + LD C, $00 + LD D, A + + ; Checking down block + LD A, D + INC B + CALL =Is_Solid + OR C + LD C, A + DEC B + SLA C + + ; Checking up block + LD A, D + DEC B + CALL =Is_Solid + OR C + LD C, A + INC B + SLA C + + ; Checking right block + LD A, D + INC A + CALL =Is_Solid + OR C + LD C, A + SLA C + + ; Checking left block + LD A, D + DEC A + CALL =Is_Solid + OR C + LD C, A + SLA C + + SLA C + + LD A, C + ADD $20 + LD C, A + + POP DE + POP AF + CALL =Is_Solid CP $00 JR Z, =Load_Block.Empty Load_Block.Solid: - LD A, $20 + LD A, C LD (DE), A LD A, E OR $20 LD E, A - LD A, $22 + LD A, C + OR $02 LD (DE), A INC E - LD A, $23 + LD A, C + OR $03 LD (DE), A LD A, E AND $DF LD E, A - LD A, $21 + LD A, C + OR $01 LD (DE), A JR =Load_Block.End -- cgit v1.2.3-70-g09d2