From 0e5a2e7f9b722c47f71aeac198e22d99e19eee37 Mon Sep 17 00:00:00 2001 From: Sergey Lapin Date: Sun, 6 Oct 2024 09:08:28 +0300 Subject: [PATCH] Worked on building layout editor --- .../blender/buildings/building-elements.blend | Bin 100394 -> 126683 bytes godot/astream/blayout.conf | 312 +++++++ .../building-layouts/building-elements.glb | Bin 3304 -> 53536 bytes .../material_atlas_73934_1.material | Bin 0 -> 59593 bytes godot/main/building_layout_editor.tscn | 41 +- .../buildings/building_layout_editor.cpp | 794 ++++++++++++++---- .../stream/buildings/building_layout_editor.h | 20 +- 7 files changed, 960 insertions(+), 207 deletions(-) create mode 100644 godot/astream/blayout.conf create mode 100644 godot/astream/building-layouts/material_atlas_73934_1.material diff --git a/assets/blender/buildings/building-elements.blend b/assets/blender/buildings/building-elements.blend index 4cc25b8e54957a4af468946e1119ad7d4a7b1412..ab0a9780e21e5f7fde936ffb8d3bdc156be2c156 100644 GIT binary patch delta 70193 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 delta 43590 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⪼ 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 S006b$V8DHd0QkI}823LGQ@ZZ} diff --git a/godot/astream/blayout.conf b/godot/astream/blayout.conf new file mode 100644 index 0000000..7620781 --- /dev/null +++ b/godot/astream/blayout.conf @@ -0,0 +1,312 @@ +[buildings_layout] + +element_types={ +"corner1": { +"name": "corner1", +"sockets": [ Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -2 ), Transform( 7.54979e-08, 0, -1, 0, 1, 0, 1, 0, 7.54979e-08, 2, 0, -4 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -2 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, -2 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) ] +}, +"e1": { +"name": "e1", +"sockets": [ Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) ] +}, +"e2": { +"name": "e2", +"sockets": [ Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) ] +}, +"just_floor": { +"name": "just_floor", +"sockets": [ Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) ] +}, +"side_wall": { +"name": "side_wall", +"sockets": [ Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ), Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) ] +} +} +elements={ +"corner": { +"mesh_names": [ "exterior_floor3", "exterior_wall2", "", "", "exterior_wall2", "exterior_corner2", "", "", "", "", "", "", "", "", "", "" ], +"name": "corner", +"type": "corner1" +}, +"f1": { +"mesh_names": [ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" ], +"name": "f1", +"type": "e1" +}, +"f2": { +"mesh_names": [ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" ], +"name": "f2", +"type": "e1" +}, +"normal_floor": { +"mesh_names": [ "exterior_floor", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" ], +"name": "normal_floor", +"type": "just_floor" +}, +"side_door": { +"mesh_names": [ "exterior_floor2", "", "", "", "exterior_door1", "", "", "", "", "", "", "", "", "", "", "" ], +"name": "side_door", +"type": "side_wall" +}, +"side_wall": { +"mesh_names": [ "exterior_floor2", "", "", "", "exterior_wall1", "", "", "", "", "", "", "", "", "", "", "" ], +"name": "side_wall", +"type": "side_wall" +}, +"side_window": { +"mesh_names": [ "exterior_floor2", "", "", "", "exterior_window1", "", "", "", "", "", "", "", "", "", "", "" ], +"name": "side_window", +"type": "side_wall" +}, +"test_element": { +"mesh_names": [ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" ], +"name": "test_element", +"type": "e1" +} +} +exterior_grid={ +"default": [ { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +}, { +"element": "empty", +"rotation": 0 +} ] +} diff --git a/godot/astream/building-layouts/building-elements.glb b/godot/astream/building-layouts/building-elements.glb index 62869ca3b3ebf6de43389fb8acbfdf40882f8c28..c1b847c44619ad86eff2919bd05988a040c7fb03 100644 GIT binary patch literal 53536 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 delta 837 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 A!T #include #include +#include +#include #include #include #include @@ -33,6 +35,7 @@ template T *get_as_node(const String &path) return ret; } +#define ELEMENT_SOCKETS 16 class ElementData { public: static ElementData *singleton; @@ -51,12 +54,38 @@ public: String name; Transform sockets[ELEMENT_SOCKETS]; }; + struct grid_element { + String name; + String type; + String mesh_names[ELEMENT_SOCKETS]; + }; + int grid_step{ 4 }; + int grid_size{ 9 }; + struct grid_cell { + String element; + int rotation; + }; + Vector grid; protected: + ElementData() + { + grid.resize(grid_size * grid_size); + grid.fill({ "empty", 0 }); + load_data(); + struct grid_element_type t_empty; + struct grid_element e_empty; + t_empty.name = "empty"; + e_empty.name = "empty"; + e_empty.type = "empty"; + element_type["empty"] = t_empty; + elements["empty"] = e_empty; + } HashMap element_type; + HashMap elements; public: - void get_key_list(List *keys) + void get_element_type_key_list(List *keys) { element_type.get_key_list(keys); } @@ -79,7 +108,7 @@ public: assert(element_type.has(key)); element_type[key].name = name; } - bool has(const String &key) + bool has_element_type(const String &key) { return element_type.has(key); } @@ -93,14 +122,434 @@ public: { return element_type.size(); } + void create_element(const String &key, const String &type) + { + struct grid_element g; + assert(!elements.has(key)); + assert(element_type.has(type)); + g.name = key; + g.type = type; + elements[key] = g; + } + void set_element_type(const String &key, const String &type) + { + assert(elements.has(key)); + assert(element_type.has(type)); + elements[key].type = type; + } + const String &get_element_type(const String &key) const + { + assert(elements.has(key)); + return elements[key].type; + } + void set_element_mesh_name(const String &key, int socket, + const String &mesh_name) + { + assert(elements.has(key)); + assert(socket >= 0 && socket < ELEMENT_SOCKETS); + elements[key].mesh_names[socket] = mesh_name; + } + const String &get_element_mesh_name(const String &key, int socket) + { + assert(elements.has(key)); + assert(socket >= 0 && socket < ELEMENT_SOCKETS); + return elements[key].mesh_names[socket]; + } + int get_element_size() + { + return elements.size(); + } + void get_element_key_list(List *keys) + { + elements.get_key_list(keys); + } + bool has_element(const String &key) + { + return elements.has(key); + } + void save_data() + { + int i; + ConfigFile config; + Dictionary conf_element_types; + Dictionary conf_elements; + Dictionary conf_exterior_grid; + List keys; + List::Element *e; + element_type.get_key_list(&keys); + e = keys.front(); + while (e) { + Dictionary item; + const struct grid_element_type &g = + element_type[e->get()]; + if (e->get() == "empty") { + e = e->next(); + continue; + } + item["name"] = e->get(); + Array sockets; + sockets.resize(ELEMENT_SOCKETS); + for (i = 0; i < ELEMENT_SOCKETS; i++) + sockets[i] = g.sockets[i]; + item["sockets"] = sockets; + + conf_element_types[e->get()] = item; + e = e->next(); + } + keys.clear(); + elements.get_key_list(&keys); + e = keys.front(); + while (e) { + Dictionary item; + const struct grid_element &g = elements[e->get()]; + if (e->get() == "empty") { + e = e->next(); + continue; + } + item["name"] = e->get(); + item["type"] = g.type; + Array mesh_names; + mesh_names.resize(ELEMENT_SOCKETS); + for (i = 0; i < ELEMENT_SOCKETS; i++) + mesh_names[i] = g.mesh_names[i]; + item["mesh_names"] = mesh_names; + + conf_elements[e->get()] = item; + e = e->next(); + } + // TODO: support multiple layouts; + Array default_grid; + default_grid.resize(grid_size * grid_size); + for (i = 0; i < grid_size * grid_size; i++) { + Dictionary item; + item["element"] = grid[i].element; + item["rotation"] = grid[i].rotation; + default_grid[i] = item; + } + conf_exterior_grid["default"] = default_grid; + + config.set_value("buildings_layout", "element_types", + conf_element_types); + config.set_value("buildings_layout", "elements", conf_elements); + config.set_value("buildings_layout", "exterior_grid", + conf_exterior_grid); + config.save("res://astream/blayout.conf"); + } + void load_data() + { + int i; + ConfigFile config; + Dictionary conf_element_types; + Dictionary conf_elements; + Dictionary conf_exterior_grid; + List keys; + List::Element *e; + elements.clear(); + element_type.clear(); + config.load("res://astream/blayout.conf"); + conf_element_types = config.get_value( + "buildings_layout", "element_types", Dictionary()); + conf_elements = config.get_value("buildings_layout", "elements", + Dictionary()); + conf_exterior_grid = config.get_value( + "buildings_layout", "exterior_grid", Dictionary()); + conf_element_types.get_key_list(&keys); + e = keys.front(); + while (e) { + String key = e->get(); + Dictionary item = conf_element_types[key]; + assert(item.has("sockets")); + create_element_type(key); + Array sockets = item["sockets"]; + for (i = 0; i < sockets.size(); i++) + set_element_type_socket(key, i, sockets[i]); + e = e->next(); + } + keys.clear(); + conf_elements.get_key_list(&keys); + e = keys.front(); + while (e) { + String key = e->get(); + Dictionary item = conf_elements[key]; + assert(item.has("type")); + assert(item.has("mesh_names")); + String type = item["type"]; + print_line("loading element: " + key + + " type: " + type); + if (key == "empty") { + e = e->next(); + continue; + } + create_element(key, type); + Array mesh_names = item["mesh_names"]; + for (i = 0; i < mesh_names.size(); i++) + set_element_mesh_name(key, i, mesh_names[i]); + e = e->next(); + } + if (conf_exterior_grid.has("default")) { + Array default_grid = conf_exterior_grid["default"]; + if (default_grid.size() == grid_size * grid_size) { + grid.fill({ "empty, 0" }); + for (i = 0; i < grid_size * grid_size; i++) { + Dictionary item = default_grid[i]; + grid.write[i].element = item["element"]; + grid.write[i].rotation = + item["rotation"]; + } + } + } + } }; ElementData *ElementData::singleton = nullptr; +class ElementEditor : public Object { + GDCLASS(ElementEditor, Object) + BuildingLayoutEditor *editor; + String current_element; + int used_socket_count; + HashMap mesh_select_buttons; + +public: + ElementEditor(BuildingLayoutEditor *editor) + : Object() + , editor(editor) + , current_element("") + , used_socket_count(-1) + { + get_as_node("%element_list") + ->connect("item_selected", this, "select_element"); + get_as_node