; curr_room_init_act: ptr to initial actors to be loaded
map_load:
call room_draw
+ call room_load_actors
+ ret
+
+ ; loads actors from
+ ; [curr_room_init_act]
+ ; into the active actor table
+room_load_actors:
+ ; clear actor table
+ ld d, 0
+ ld bc, ACTORS_MAX * actor_size
+ ld hl, actor_table
+ call memset
+
+ ; hl = ptr to initial actor table
+ ld hl, curr_room_init_act
+ ld a, [hl+]
+ ld d, a
+ ld a, [hl]
+ ld e, a
+ ; de = length...source table
+
+ ld b, 0
+ ld a, [de]
+ ld e, a ; be = len
+
+ inc de ; de = source table
+ ld hl, actor_table ; hl = dst
+ call memcpy
+
+
ret
; maps are collections of rooms
ldhi a, base_room_flags
ld [curr_room_flags+1], a
- call room_draw
+ ldlo a, base_room_actors
+ ld [curr_room_init_act], a
+ ldhi a, base_room_actors
+ ld [curr_room_init_act+1], a
+ call map_load
; set up bgp
ld a, BGP