update build
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -11,3 +11,5 @@ assets/blender/scripts/*.blend*
|
|||||||
.*.swp
|
.*.swp
|
||||||
*.kra~
|
*.kra~
|
||||||
*.png~
|
*.png~
|
||||||
|
godot/astream/road_lines.json.*
|
||||||
|
|
||||||
|
|||||||
Submodule src/flecs updated: de96203869...71bba92ed3
Submodule src/godot updated: 585909ef69...95a494c8e5
Submodule src/meshoptimizer updated: fdd22f8117...8764552531
@@ -13,9 +13,11 @@
|
|||||||
template <class T> T *get_as_node(const String &path)
|
template <class T> T *get_as_node(const String &path)
|
||||||
{
|
{
|
||||||
Node *scene;
|
Node *scene;
|
||||||
|
#ifdef TOOLS_ENABLED
|
||||||
if (Engine::get_singleton()->is_editor_hint())
|
if (Engine::get_singleton()->is_editor_hint())
|
||||||
scene = EditorNode::get_singleton()->get_edited_scene();
|
scene = EditorNode::get_singleton()->get_edited_scene();
|
||||||
else
|
else
|
||||||
|
#endif
|
||||||
scene = SceneTree::get_singleton()->get_current_scene();
|
scene = SceneTree::get_singleton()->get_current_scene();
|
||||||
assert(scene);
|
assert(scene);
|
||||||
Node *node = scene->get_node(NodePath(path));
|
Node *node = scene->get_node(NodePath(path));
|
||||||
|
|||||||
@@ -9,3 +9,7 @@ lib = env.add_library("flecs", env.stream_building_sources)
|
|||||||
env.Prepend(LIBS=[lib])
|
env.Prepend(LIBS=[lib])
|
||||||
env.Prepend(CPPPATH=["../../../flecs/distr"])
|
env.Prepend(CPPPATH=["../../../flecs/distr"])
|
||||||
env.Prepend(CFLAGS=["-Wno-shadow=compatible-local", "-Wno-maybe-uninitialized"])
|
env.Prepend(CFLAGS=["-Wno-shadow=compatible-local", "-Wno-maybe-uninitialized"])
|
||||||
|
env.Append(CDEFS=["FLECS_DEBUG"])
|
||||||
|
env.Append(CPPDEFS=["FLECS_DEBUG"])
|
||||||
|
env.Append(CFLAGS=["-UNDEBUG"])
|
||||||
|
env.Append(CPPFLAGS=["-UNDEBUG"])
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ void StreamWorld::create_tilemap()
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
nullptr);
|
nullptr);
|
||||||
print_line("Tile count: " + itos(tiles.size()));
|
print_verbose("Tile count: " + itos(tiles.size()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void StreamWorld::update_view()
|
void StreamWorld::update_view()
|
||||||
@@ -84,7 +84,7 @@ void StreamWorld::update_view()
|
|||||||
int tile_x = int(eye.x / tile_size);
|
int tile_x = int(eye.x / tile_size);
|
||||||
int tile_z = int(eye.z / tile_size);
|
int tile_z = int(eye.z / tile_size);
|
||||||
if (current_x != tile_x || current_z != tile_z) {
|
if (current_x != tile_x || current_z != tile_z) {
|
||||||
print_line("tile: " + itos(tile_x) + " " + itos(tile_z));
|
print_verbose("tile: " + itos(tile_x) + " " + itos(tile_z));
|
||||||
for (i = tile_z - view_distance; i < tile_z + view_distance + 1;
|
for (i = tile_z - view_distance; i < tile_z + view_distance + 1;
|
||||||
i++)
|
i++)
|
||||||
for (j = tile_x - view_distance;
|
for (j = tile_x - view_distance;
|
||||||
@@ -94,7 +94,7 @@ void StreamWorld::update_view()
|
|||||||
if (tiles.find(key) != tiles.end()) {
|
if (tiles.find(key) != tiles.end()) {
|
||||||
if (loaded_tiles.find(key) ==
|
if (loaded_tiles.find(key) ==
|
||||||
loaded_tiles.end()) {
|
loaded_tiles.end()) {
|
||||||
print_line(
|
print_verbose(
|
||||||
"load tile: " +
|
"load tile: " +
|
||||||
itos(j) + " " +
|
itos(j) + " " +
|
||||||
itos(i) + " = " +
|
itos(i) + " = " +
|
||||||
@@ -114,8 +114,8 @@ void StreamWorld::update_view()
|
|||||||
int lx = kx - tile_x;
|
int lx = kx - tile_x;
|
||||||
int lz = kz - tile_z;
|
int lz = kz - tile_z;
|
||||||
if (lx * lx > ed2 || lz * lz > ed2) {
|
if (lx * lx > ed2 || lz * lz > ed2) {
|
||||||
print_line("erase tile: " + itos(kx) + " " +
|
print_verbose("erase tile: " + itos(kx) + " " +
|
||||||
itos(kz));
|
itos(kz));
|
||||||
erase_tile(kx, kz);
|
erase_tile(kx, kz);
|
||||||
it = loaded_tiles.erase(it);
|
it = loaded_tiles.erase(it);
|
||||||
} else
|
} else
|
||||||
@@ -136,7 +136,7 @@ void StreamWorld::viewer_dead()
|
|||||||
|
|
||||||
void StreamWorld::terrain_dead()
|
void StreamWorld::terrain_dead()
|
||||||
{
|
{
|
||||||
print_line("terrain dead");
|
print_verbose("terrain dead");
|
||||||
terrain = nullptr;
|
terrain = nullptr;
|
||||||
set_process(false);
|
set_process(false);
|
||||||
}
|
}
|
||||||
@@ -147,8 +147,8 @@ void StreamWorld::load_tile(int tx, int ty)
|
|||||||
std::tuple<int, int> key = std::make_tuple(tx, ty);
|
std::tuple<int, int> key = std::make_tuple(tx, ty);
|
||||||
const std::vector<String> &items = tiles[key];
|
const std::vector<String> &items = tiles[key];
|
||||||
for (i = 0; i < (int)items.size(); i++) {
|
for (i = 0; i < (int)items.size(); i++) {
|
||||||
print_line("load item: " + itos(i) + ": key: " + (items[i]) +
|
print_verbose("load item: " + itos(i) + ": key: " + (items[i]) +
|
||||||
": " /* + data()->get_building(items[i]).id */);
|
": " /* + data()->get_building(items[i]).id */);
|
||||||
const String &bkey = items[i];
|
const String &bkey = items[i];
|
||||||
load_building(bkey);
|
load_building(bkey);
|
||||||
}
|
}
|
||||||
@@ -160,8 +160,8 @@ void StreamWorld::erase_tile(int tx, int ty)
|
|||||||
std::tuple<int, int> key = std::make_tuple(tx, ty);
|
std::tuple<int, int> key = std::make_tuple(tx, ty);
|
||||||
const std::vector<String> &items = tiles[key];
|
const std::vector<String> &items = tiles[key];
|
||||||
for (i = 0; i < (int)items.size(); i++) {
|
for (i = 0; i < (int)items.size(); i++) {
|
||||||
print_line("unload item: " + itos(i) + ": key: " + items[i] +
|
print_verbose("unload item: " + itos(i) + ": key: " + items[i] +
|
||||||
": " /* + data()->get_building(items[i]).id */);
|
": " /* + data()->get_building(items[i]).id */);
|
||||||
const String &bkey = items[i];
|
const String &bkey = items[i];
|
||||||
unload_building(bkey);
|
unload_building(bkey);
|
||||||
}
|
}
|
||||||
@@ -183,27 +183,27 @@ void StreamWorld::request_item(int type, const String &bkey)
|
|||||||
/* bkey can contain "::"'s so need to replae them with underscores */
|
/* bkey can contain "::"'s so need to replae them with underscores */
|
||||||
String ekey = bkey;
|
String ekey = bkey;
|
||||||
if (bkey.begins_with("road__")) {
|
if (bkey.begins_with("road__")) {
|
||||||
print_line("loading building: " + ekey);
|
print_verbose("loading building: " + ekey);
|
||||||
debug = true;
|
debug = true;
|
||||||
}
|
}
|
||||||
String id = data()->get_building(ekey).id;
|
String id = data()->get_building(ekey).id;
|
||||||
if (debug)
|
if (debug)
|
||||||
print_line("building id: " + id);
|
print_verbose("building id: " + id);
|
||||||
if (id == "empty")
|
if (id == "empty")
|
||||||
return;
|
return;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 0:
|
case 0:
|
||||||
if (debug)
|
if (debug)
|
||||||
print_line("add to scene id: " + id);
|
print_verbose("add to scene id: " + id);
|
||||||
if (!data()->has_scene(id))
|
if (!data()->has_scene(id))
|
||||||
data()->create_scene_data(id, ekey);
|
data()->create_scene_data(id, ekey);
|
||||||
else
|
else
|
||||||
data()->add_scene_item(id, ekey);
|
data()->add_scene_item(id, ekey);
|
||||||
if (debug)
|
if (debug)
|
||||||
print_line("added to scene id: " + id);
|
print_verbose("added to scene id: " + id);
|
||||||
break;
|
break;
|
||||||
case 1: {
|
case 1: {
|
||||||
print_line("Removing key:" + ekey);
|
print_verbose("Removing key:" + ekey);
|
||||||
if (data()->has_scene(id)) {
|
if (data()->has_scene(id)) {
|
||||||
data()->remove_scene_item(id, ekey);
|
data()->remove_scene_item(id, ekey);
|
||||||
}
|
}
|
||||||
@@ -321,8 +321,8 @@ void StreamWorld::run_command(const String &command,
|
|||||||
data()->get_building(key).id = new_type;
|
data()->get_building(key).id = new_type;
|
||||||
load_building(key);
|
load_building(key);
|
||||||
update_items();
|
update_items();
|
||||||
print_line("changed building: key:" + key +
|
print_verbose("changed building: key:" + key +
|
||||||
" from: " + old_type + " to: " + new_type);
|
" from: " + old_type + " to: " + new_type);
|
||||||
} else if (command == "create_building") {
|
} else if (command == "create_building") {
|
||||||
if (args.size() == 0) {
|
if (args.size() == 0) {
|
||||||
print_error("bad command: not enough args: " + command);
|
print_error("bad command: not enough args: " + command);
|
||||||
@@ -360,8 +360,8 @@ void StreamWorld::run_command(const String &command,
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
nullptr);
|
nullptr);
|
||||||
print_line("delete buildings: " + itos(erased_keys.size()) +
|
print_verbose("delete buildings: " + itos(erased_keys.size()) +
|
||||||
" prefix: " + prefix);
|
" prefix: " + prefix);
|
||||||
for (i = erased_keys.size() - 1; i >= 0; i--) {
|
for (i = erased_keys.size() - 1; i >= 0; i--) {
|
||||||
unload_building(erased_keys[i]);
|
unload_building(erased_keys[i]);
|
||||||
data()->destroy_building(erased_keys[i]);
|
data()->destroy_building(erased_keys[i]);
|
||||||
@@ -383,8 +383,8 @@ void StreamWorld::run_command(const String &command,
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
nullptr);
|
nullptr);
|
||||||
print_line("delete buildings: " + itos(erased_keys.size()) +
|
print_verbose("delete buildings: " + itos(erased_keys.size()) +
|
||||||
" prefix: " + prefix);
|
" prefix: " + prefix);
|
||||||
for (i = erased_keys.size() - 1; i >= 0; i--) {
|
for (i = erased_keys.size() - 1; i >= 0; i--) {
|
||||||
unload_building(erased_keys[i]);
|
unload_building(erased_keys[i]);
|
||||||
data()->destroy_building(erased_keys[i]);
|
data()->destroy_building(erased_keys[i]);
|
||||||
@@ -409,10 +409,10 @@ void StreamWorld::run_command(const String &command,
|
|||||||
},
|
},
|
||||||
nullptr);
|
nullptr);
|
||||||
#endif
|
#endif
|
||||||
print_line("road_rebuild done");
|
print_verbose("road_rebuild done");
|
||||||
} else if (command == "remove_road_meshes") {
|
} else if (command == "remove_road_meshes") {
|
||||||
RoadProcessing::remove_road_meshes(this);
|
RoadProcessing::remove_road_meshes(this);
|
||||||
print_line("remove_road_meshes done");
|
print_verbose("remove_road_meshes done");
|
||||||
} else if (command == "nudge_generator") {
|
} else if (command == "nudge_generator") {
|
||||||
auto gen = terrain->get_generator();
|
auto gen = terrain->get_generator();
|
||||||
terrain->set_generator(Ref<VoxelGenerator>());
|
terrain->set_generator(Ref<VoxelGenerator>());
|
||||||
@@ -479,7 +479,7 @@ void StreamWorld::_notification(int which)
|
|||||||
if (frame_count % 60 == 0) {
|
if (frame_count % 60 == 0) {
|
||||||
float fmon = Performance::get_singleton()->get_monitor(
|
float fmon = Performance::get_singleton()->get_monitor(
|
||||||
Performance::RENDER_DRAW_CALLS_IN_FRAME);
|
Performance::RENDER_DRAW_CALLS_IN_FRAME);
|
||||||
print_line("Draw calls: " + String::num(fmon));
|
print_verbose("Draw calls: " + String::num(fmon));
|
||||||
}
|
}
|
||||||
frame_count++;
|
frame_count++;
|
||||||
if (Engine::get_singleton()->is_editor_hint())
|
if (Engine::get_singleton()->is_editor_hint())
|
||||||
@@ -529,9 +529,9 @@ StreamWorld::StreamWorld()
|
|||||||
while (map_it != tiles.end()) {
|
while (map_it != tiles.end()) {
|
||||||
std::tuple<int, int> key = map_it->first;
|
std::tuple<int, int> key = map_it->first;
|
||||||
std::vector<String> &tile_buildings = map_it->second;
|
std::vector<String> &tile_buildings = map_it->second;
|
||||||
print_line("x: " + itos(std::get<0>(key)) +
|
print_verbose("x: " + itos(std::get<0>(key)) +
|
||||||
" y: " + itos(std::get<1>(key)) + " " +
|
" y: " + itos(std::get<1>(key)) + " " +
|
||||||
itos(tile_buildings.size()));
|
itos(tile_buildings.size()));
|
||||||
map_it++;
|
map_it++;
|
||||||
}
|
}
|
||||||
view_distance = config.get_value("world", "view_distance");
|
view_distance = config.get_value("world", "view_distance");
|
||||||
|
|||||||
Reference in New Issue
Block a user