map_objects: add sign ids

This commit is contained in:
Zack Buhman 2023-07-30 08:56:28 +00:00
parent e4ff1b4c5a
commit c2ea17d25a

View File

@ -17,12 +17,13 @@ def warp_event(ev):
"},", "},",
] ]
def bg_event(ev): def bg_event(ev, sorted_text_constants):
x, y = ev.position x, y = ev.position
sign_id = '0xff' if ev.sign_id not in sorted_text_constants else ev.sign_id
return [ return [
"{", "{",
f".position = {{ {x}, {y} }},", 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".sprite_id = spritesheet_t::{sprite_name(ev.sprite_id)},",
f".movement = object_event_t::movement::{ev.movement.lower()},", f".movement = object_event_t::movement::{ev.movement.lower()},",
*(range_or_direction(ev)), *(range_or_direction(ev)),
f".text_id = {text_id},", # fixme f".text_id = {text_id},",
".trainer = { 0 },", # fixme ".trainer = { 0 },", # fixme
"},", "},",
] ]
@ -53,10 +54,10 @@ def warp_events(map_name, obj):
yield from warp_event(ev) yield from warp_event(ev)
yield "};" 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[] = {{" yield f"const bg_event_t {map_name}_bg_events[] = {{"
for ev in obj.bg_events: for ev in obj.bg_events:
yield from bg_event(ev) yield from bg_event(ev, sorted_text_constants)
yield "};" yield "};"
def object_events(map_name, obj, sorted_text_constants): 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(), ({}, {})) text_pointers = scripts_list.get(map_header.text_pointers(), ({}, {}))
sorted_text_constants = {k for k, _ in sorted_text_pointers(*text_pointers)} sorted_text_constants = {k for k, _ in sorted_text_pointers(*text_pointers)}
yield from warp_events(map_name, map_objects) 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 from object_events(map_name, map_objects, sorted_text_constants)
yield "const object_t map_objects[] = {" yield "const object_t map_objects[] = {"