Update (nature, engine changes)
This commit is contained in:
@@ -80,6 +80,8 @@ func setup_town(site):
|
||||
center += p
|
||||
center /= poly.size()
|
||||
center.y = height
|
||||
var infl = RoadsData.get_influence_cached(center.x, center.y, 256)
|
||||
center.y = infl.y
|
||||
var radial_points = RoadsData.get_site_radial_points(site, 32.0, 64.0)
|
||||
var max_r = 0.0
|
||||
for p in range(radial_points.size()):
|
||||
@@ -89,18 +91,26 @@ func setup_town(site):
|
||||
max_r = dst
|
||||
for p in range(radial_points.size()):
|
||||
var ep = radial_points[p]
|
||||
var miff = RoadsData.get_influence_cached(ep.x, ep.z, 256.0)
|
||||
ep.y = center.y
|
||||
var d = (center - ep).normalized()
|
||||
assert(d.length_squared() > 0)
|
||||
var dst = ep.distance_to(center)
|
||||
print(dst)
|
||||
if dst < 64.0 + 12 + 8 + 4:
|
||||
continue
|
||||
var step = 16.0
|
||||
var pstart = ep
|
||||
var step = 32.0
|
||||
var pstart = ep + d * 32.0
|
||||
dst -= 32.0
|
||||
while dst > 0.0:
|
||||
var ok = true
|
||||
if !Geometry.is_point_in_polygon(Vector2(pstart.x, pstart.z), poly2):
|
||||
miff = RoadsData.get_influence_cached(pstart.x, pstart.z, 256.0)
|
||||
if miff.x > 0.0:
|
||||
ok = false
|
||||
if ok:
|
||||
pstart.y = miff.y
|
||||
if !Geometry.is_point_in_polygon(Vector2(pstart.x, pstart.z), poly2):
|
||||
ok = false
|
||||
if ok:
|
||||
for b in aabbs:
|
||||
if b.has_point(pstart):
|
||||
@@ -133,7 +143,9 @@ func setup_first_town():
|
||||
center += p
|
||||
center /= poly.size()
|
||||
center.y = height
|
||||
# grid.build(border2, center)
|
||||
var infl = RoadsData.get_influence_cached(center.x, center.z, 256)
|
||||
center.y = infl.y
|
||||
print("first town center: ", center)
|
||||
var radial_points = RoadsData.get_site_radial_points(0, 32.0, 64.0)
|
||||
var max_r = 0.0
|
||||
for p in range(radial_points.size()):
|
||||
@@ -161,18 +173,26 @@ func setup_first_town():
|
||||
|
||||
for p in range(radial_points.size()):
|
||||
var ep = radial_points[p]
|
||||
var miff = RoadsData.get_influence_cached(ep.x, ep.z, 256.0)
|
||||
ep.y = center.y
|
||||
var d = (center - ep).normalized()
|
||||
assert(d.length_squared() > 0)
|
||||
var dst = ep.distance_to(center)
|
||||
print(dst)
|
||||
if dst < 64.0 + 12 + 8 + 4:
|
||||
continue
|
||||
var step = 16.0
|
||||
var pstart = ep
|
||||
var step = 32.0
|
||||
var pstart = ep + d * 32.0
|
||||
dst -= 32.0
|
||||
while dst > 0.0:
|
||||
var ok = true
|
||||
if !Geometry.is_point_in_polygon(Vector2(pstart.x, pstart.z), poly2):
|
||||
miff = RoadsData.get_influence_cached(pstart.x, pstart.z, 256.0)
|
||||
if miff.x > 0.0:
|
||||
ok = false
|
||||
if ok:
|
||||
pstart.y = miff.y
|
||||
if !Geometry.is_point_in_polygon(Vector2(pstart.x, pstart.z), poly2):
|
||||
ok = false
|
||||
if ok:
|
||||
for b in aabbs:
|
||||
if b.has_point(pstart):
|
||||
|
||||
Reference in New Issue
Block a user