projects
/
gbrg
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d1bbe5d
)
map: wip map copy
author
Lukas Krickl
<lukas@krickl.dev>
Mon, 30 Dec 2024 18:38:55 +0000
(19:38 +0100)
committer
Lukas Krickl
<lukas@krickl.dev>
Mon, 30 Dec 2024 18:38:55 +0000
(19:38 +0100)
src/map.s
patch
|
blob
|
history
src/video.s
patch
|
blob
|
history
diff --git
a/src/map.s
b/src/map.s
index 327f75f7b81c0c81a8b41d4560d6b5db4311c70b..c709a9fe8397af45472f6a667f5193b9f94105a2 100644
(file)
--- a/
src/map.s
+++ b/
src/map.s
@@
-545,21
+545,33
@@
map_gen_copy_base_room:
; this routine copies a base room
; and fixes the header accordingly
- ; copy header
+ ; copy header
+ push hl ; save original target
ld bc, room_size
call memcpy
+
; copy tiles
+ pop hl ; get target back
+ ; read target room tiles ptr
+ ; into hl
+ ld a, [hl+]
+
ld bc, ROOM_TILES_SIZE
call memcpy
; copy flags
+ ld bc, ROOM_FLAGS_SIZE
+ call memcpy
; copy actors
+ ld bc, ACTOR_TABLE_SIZE
+ call memcpy
; set exits
pop bc ; restore default exit value
+
ret
; base room
diff --git
a/src/video.s
b/src/video.s
index ff7954ade2c1d803a264fb663ef34b9eb089ddd9..4d8e4e3cea90e169cbb3354bb7ddfbae21f46575 100644
(file)
--- a/
src/video.s
+++ b/
src/video.s
@@
-101,7
+101,7
@@
video_init:
call map_generate
; initial test map
- ld de, base_room_header
+ ld de, base_room_header
call room_load_from
; set up bgp