Better road processing; flatter ground for towns
This commit is contained in:
5
Makefile
5
Makefile
@@ -2,7 +2,8 @@
|
||||
all: godot-editor-main
|
||||
godot-editor-main:
|
||||
cd godot; \
|
||||
scons platform=x11 target=release_debug tools=yes custom_modules=../modules -j6; \
|
||||
scons platform=x11 target=release tools=no custom_modules=../modules -j6
|
||||
scons platform=x11 target=release_debug tools=yes custom_modules=../modules -j6
|
||||
# scons platform=x11 target=release tools=no custom_modules=../modules -j6;
|
||||
# scons platform=server target=release_debug tools=yes custom_modules=../modules -j6
|
||||
# scons platform=windows target=release tools=yes custom_modules=../modules -j6
|
||||
# scons platform=javascript target=release tools=yes custom_modules=../modules -j6
|
||||
|
||||
@@ -886,6 +886,8 @@ void Characters_::load_body_parts(const String &path)
|
||||
if (FileAccess::exists(fn2f))
|
||||
female_faces.push_back(fn2f);
|
||||
}
|
||||
for (i = 0; i < male_hairs.size(); i++)
|
||||
printf("hair %d: %ls\n", i, male_hairs[i].c_str());
|
||||
assert(male_hairs.size() > 0 && female_hairs.size() > 0);
|
||||
assert(male_faces.size() > 0 && female_faces.size() > 0);
|
||||
assert(hair_materials.size() > 0);
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "world_height_map.h"
|
||||
#include "road_grid.h"
|
||||
#include "roads.h"
|
||||
#include "spawner.h"
|
||||
|
||||
void register_world_types()
|
||||
{
|
||||
@@ -19,6 +20,8 @@ void register_world_types()
|
||||
Engine::get_singleton()->add_singleton(Engine::Singleton("WorldMapData", WorldMapData::get_singleton()));
|
||||
RoadsData::create_singleton();
|
||||
Engine::get_singleton()->add_singleton(Engine::Singleton("RoadsData", RoadsData::get_singleton()));
|
||||
Spawner::create_singleton();
|
||||
Engine::get_singleton()->add_singleton(Engine::Singleton("Spawner", Spawner::get_singleton()));
|
||||
ClassDB::register_class<WorldGenerator>();
|
||||
ClassDB::register_class<WorldHeightMap>();
|
||||
ClassDB::register_class<DensityMap>();
|
||||
|
||||
@@ -209,10 +209,7 @@ protected:
|
||||
}
|
||||
inline void insert_hedge_to_grid_cell(int x, int y, struct half_edge *hedge)
|
||||
{
|
||||
static int count = 0;
|
||||
count++;
|
||||
set(x, y, hedge);
|
||||
printf("count: %d\n", count);
|
||||
}
|
||||
};
|
||||
class hg hedge_grid;
|
||||
|
||||
@@ -226,7 +226,7 @@ Array Roads::curve_mesh(const PoolVector<Vector3> &points,
|
||||
Vector3 base = verts[k];
|
||||
float point = t + 2.0 + base.z;
|
||||
float right = verts[k].x + tx;
|
||||
if (t <= l - 2.0) {
|
||||
if (t < l - 2.0) {
|
||||
offt1 = curve3->interpolate_baked(point, true);
|
||||
offt2 = curve3->interpolate_baked(point + 2.0, true);
|
||||
assert(offt1.distance_squared_to(offt2) > 0.0f);
|
||||
@@ -606,7 +606,7 @@ float RoadsData::get_sdf(int x, int y, int z)
|
||||
int site = rg->get_site_from_point(x, z);
|
||||
// printf("in site %d %d %d\n", site, rg->site_is_town(site), rg->site_is_farm(site));
|
||||
if (site >= 0 && (rg->site_is_town(site) || rg->site_is_farm(site))) {
|
||||
ret = y - rg->get_site_avg_height(site) - CLAMP(n * 0.1f, -0.5f, 0.5f);
|
||||
ret = y - rg->get_site_avg_height(site) - CLAMP(n * 0.1f, -0.05f, 0.05f);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user