diff --git a/tools/generate/map_objects.py b/tools/generate/map_objects.py index 2431c73..1be01ef 100644 --- a/tools/generate/map_objects.py +++ b/tools/generate/map_objects.py @@ -17,12 +17,13 @@ def warp_event(ev): "},", ] -def bg_event(ev): +def bg_event(ev, sorted_text_constants): x, y = ev.position + sign_id = '0xff' if ev.sign_id not in sorted_text_constants else ev.sign_id return [ "{", f".position = {{ {x}, {y} }},", - ".sign_id = 0,", # fixme + f".sign_id = {sign_id},", "},", ] @@ -42,7 +43,7 @@ def object_event(ev, sorted_text_constants): f".sprite_id = spritesheet_t::{sprite_name(ev.sprite_id)},", f".movement = object_event_t::movement::{ev.movement.lower()},", *(range_or_direction(ev)), - f".text_id = {text_id},", # fixme + f".text_id = {text_id},", ".trainer = { 0 },", # fixme "},", ] @@ -53,10 +54,10 @@ def warp_events(map_name, obj): yield from warp_event(ev) yield "};" -def bg_events(map_name, obj): +def bg_events(map_name, obj, sorted_text_constants): yield f"const bg_event_t {map_name}_bg_events[] = {{" for ev in obj.bg_events: - yield from bg_event(ev) + yield from bg_event(ev, sorted_text_constants) yield "};" def object_events(map_name, obj, sorted_text_constants): @@ -96,7 +97,7 @@ def map_objects(): text_pointers = scripts_list.get(map_header.text_pointers(), ({}, {})) sorted_text_constants = {k for k, _ in sorted_text_pointers(*text_pointers)} yield from warp_events(map_name, map_objects) - yield from bg_events(map_name, map_objects) + yield from bg_events(map_name, map_objects, sorted_text_constants) yield from object_events(map_name, map_objects, sorted_text_constants) yield "const object_t map_objects[] = {"