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
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[] = {"