Add hitboxes

This commit is contained in:
2024-01-28 11:00:32 +01:00
parent 0a4c1fd154
commit a61768e912
15 changed files with 494 additions and 200 deletions

View File

@@ -29,7 +29,7 @@ def remove_properties(data, dst_file):
data['tiles'] = new_tiles
del data['wangsets']
with open(dst_file, 'w') as f:
#pprint.pprint(data, f)
# pprint.pprint(data, f)
json.dump(data, f, indent=None, separators=(',', ':'), ensure_ascii=True)
@@ -86,23 +86,33 @@ anim_writer.output_has_anim("entityHasAnimation")
anim_writer.output_anim_sequence("entityGetAnimationSequence")
anim_writer.output_anim_frame("entityGetAnimationFrame")
#print(item_tiles)
# print(item_tiles)
item_writer = EnumWriter(writer, item_tiles, "item", "item_anim")
item_writer.output_enum()
#item_writer.output_anim_enum()
# item_writer.output_anim_enum()
item_writer.output_enum_to_tile("getItemTile")
#item_writer.output_has_handle("itemHasHandle")
#item_writer.output_handle("itemGetHandle")
# item_writer.output_has_handle("itemHasHandle")
# item_writer.output_handle("itemGetHandle")
tile_writer = EnumWriter(writer, all_tiles, "", "")
tile_writer.output_get_text_rect("getTextureRect", 256, 16, 16)
TILE_WIDTH = 16
TILE_HEIGHT = 16
tile_writer.output_get_text_rect("getTextureRect", 256, TILE_WIDTH, TILE_HEIGHT)
tile_writer.output_base_index("getTileBase", "player")
tile_writer.output_index_tile_offset("getTileOffset", "player", 256, 16, 16)
tile_writer.output_index_tile_offset("getTileOffset", "player", 256, TILE_WIDTH, TILE_HEIGHT)
vec2_transform = ["Vector2", "(Vector2) {0.0f, 0.0f}",
lambda x: f"(Vector2) {{{x['x']}, {x['y']}}}"]
rec_transform = ["Rectangle", "(Rectangle) { 0.0f, 0.0f, 0.0f, 0.0f}",
lambda x: f"(Rectangle) {{{x['x']}, {x['y']}, {x['width']}, {x['height']}}}"]
tile_writer.output_has_object("hasItemHandlePoint", "handle")
tile_writer.output_get_object("getItemHandlePoint", "handle", "Vector2", "(Vector2) {0, 0}", lambda x: f"(Vector2) {{{x['x']}, {x['y']}}}")
tile_writer.output_get_object("getItemHandlePoint", "handle", *vec2_transform)
tile_writer.output_has_object("hasEntityHitBoxRec", "hitbox")
tile_writer.output_get_object("getEntityHitBoxRec", "hitbox", *rec_transform)
writer.header_guard_stop()