aboutsummaryrefslogtreecommitdiff
path: root/map
diff options
context:
space:
mode:
authorAstatin <[email protected]>2025-06-06 13:28:00 +0200
committerAstatin <[email protected]>2025-06-06 13:28:00 +0200
commit9690f6f39bdabcaa62211fd10027c3dba3169e94 (patch)
tree94311f4eb788d61a9dadd8c12d64367dbbab13a5 /map
parent103260bbab1f6816d578cafb641e7458b66eea15 (diff)
Divide by 4 the size of tree tiledata
Diffstat (limited to 'map')
-rw-r--r--map/loading.gbasm72
1 files changed, 63 insertions, 9 deletions
diff --git a/map/loading.gbasm b/map/loading.gbasm
index c0ea14f..dddf1a3 100644
--- a/map/loading.gbasm
+++ b/map/loading.gbasm
@@ -212,13 +212,8 @@ Load_Block: ; X in A, Y in B
CALL =Is_Solid
OR C
LD C, A
- SLA C
- SLA C
-
- LD A, C
- ADD $20
- LD C, A
+ INC C
LD A, $mem_map_loading_flags
SET 2, A
@@ -310,24 +305,61 @@ Display_Main_Prepared_Block:
LD E, A
LD A, $mem_prepared_block_tile
+ CP $00
+ JR Z, =.Empty
+ DEC A
LD C, A
+ AND 0b0101
+ SCF
+ CCF
+ RR A
+ RR A
+ RLC A
+ ADD $20
+
LD (DE), A
+
LD A, E
OR $20
LD E, A
+
LD A, C
- OR $02
+ AND 0b1001
+ SCF
+ CCF
+ RR A
+ RR A
+ RLC A
+ SCF
+ CCF
+ RR A
+ RR A
+ RLC A
+ ADD $28
LD (DE), A
+
INC E
+
LD A, C
- OR $03
+ AND 0b1010
+ SRA A
+ RR A
+ RR A
+ RLC A
+ ADD $2c
+
LD (DE), A
+
LD A, E
AND $DF
LD E, A
+
LD A, C
- OR $01
+ AND 0b0110
+ SRA A
+ ADD $24
+
LD (DE), A
.End:
@@ -337,6 +369,28 @@ Display_Main_Prepared_Block:
POP AF
RET
+ .Empty:
+ XOR A
+ LD (DE), A
+ LD A, E
+ OR $20
+ LD E, A
+ XOR A
+ LD (DE), A
+ INC E
+ XOR A
+ LD (DE), A
+ LD A, E
+ AND $DF
+ LD E, A
+ XOR A
+ LD (DE), A
+
+ POP DE
+ POP BC
+ POP AF
+ RET
+
Is_Solid: ; X in A, Y in B, Result A
PUSH BC