From: Lukas Krickl Date: Tue, 16 Sep 2025 09:53:56 +0000 (+0200) Subject: mapgen: disabled act sg during initial map load X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=5c2691e93593893ce07d0e5a2f39f3c2e8b7900d;p=gbrg%2F.git mapgen: disabled act sg during initial map load --- diff --git a/src/debug.s b/src/debug.s index 177e6c2..57fe9b8 100644 --- a/src/debug.s +++ b/src/debug.s @@ -88,12 +88,20 @@ debug_menu_init: ret ; debug new game routine + ; but load with a known hard-coded seed ; returns: ; bc: new state debug_fn_new_game: + ld a, 15 + ld [srand], a + ld [srand+1], a + + call new_game_init ld bc, st_update_game ret debug_fn_clear_actors: ld bc, st_update_game ret + + diff --git a/src/defs.s b/src/defs.s index bea6255..43bce5f 100644 --- a/src/defs.s +++ b/src/defs.s @@ -366,3 +366,7 @@ .def int DIRLEFT = BTNLEFT .def int DIRRIGHT = BTNRIGHT + +; mapgen flags +.se 1 +.de MAPGEN_F_NO_ACT_SG, 1 diff --git a/src/mapgen.s b/src/mapgen.s index c1ed699..8b74584 100644 --- a/src/mapgen.s +++ b/src/mapgen.s @@ -5,10 +5,19 @@ ; clears act_save ; also places initial door locations mapgen_init: + ; disable act sg + ld a, [mapgen_flags] + or a, MAPGEN_F_NO_ACT_SG + ld [mapgen_flags], a + call act_save_init call mapgen_seed call mapgen_make_doors call mapgen_select_player_spawn + + ; re-enable act sg + xor a, a + ld [mapgen_flags], a ret ; selects a room pattern table @@ -100,8 +109,11 @@ mapgen_load_seed: ; srand mapgen: call map_load_start + + ld a, [mapgen_flags] + and a, MAPGEN_F_NO_ACT_SG + call z, act_sg_store - call act_sg_store ; load seed ; and back it up ld a, [srand] @@ -135,7 +147,9 @@ mapgen: ld b, a ld [srand], a - call act_sg_restore + ld a, [mapgen_flags] + and a, MAPGEN_F_NO_ACT_SG + call z, act_sg_restore call map_load_end diff --git a/src/wram.s b/src/wram.s index 82691c4..0dcc1d4 100644 --- a/src/wram.s +++ b/src/wram.s @@ -85,7 +85,10 @@ empty_oam: .adv oamsize ; > 0 if an actor has an ongoing attack ; used to delay other actors during the animation -gpf_attack_ongoing: .adv 0 +gpf_attack_ongoing: .adv 1 + + ; mapgen flags +mapgen_flags: .adv 1 ; can be used for custom state transtions