forked from MagicBane/Server
Clamp fix for new method
This commit is contained in:
@@ -59,6 +59,9 @@ public class Terrain {
|
|||||||
this.cell_count.x = this.image_size.x;
|
this.cell_count.x = this.image_size.x;
|
||||||
this.cell_count.y = this.image_size.y;
|
this.cell_count.y = this.image_size.y;
|
||||||
|
|
||||||
|
this.cell_size.x = terrain_size.x / this.cell_count.x;
|
||||||
|
this.cell_size.y = terrain_size.y / this.cell_count.y;
|
||||||
|
|
||||||
// Blending configuration. These ratios are used to calculate
|
// Blending configuration. These ratios are used to calculate
|
||||||
// the blending area between child and parent terrains when
|
// the blending area between child and parent terrains when
|
||||||
// they are stitched together.
|
// they are stitched together.
|
||||||
@@ -157,12 +160,12 @@ public class Terrain {
|
|||||||
|
|
||||||
// Calculate terrain cell with offset
|
// Calculate terrain cell with offset
|
||||||
|
|
||||||
Vector2f terrain_cell = new Vector2f(terrain_loc.x / this.cell_count.x, terrain_loc.y / this.cell_count.y);
|
Vector2f terrain_cell = new Vector2f(terrain_loc.x / this.cell_size.x, terrain_loc.y / this.cell_size.y);
|
||||||
|
|
||||||
// Clamp values when standing directly on pole
|
// Clamp values when standing directly on pole
|
||||||
|
|
||||||
terrain_cell.x = Math.max(0, Math.min(this.cell_count.x - 1, terrain_cell.x));
|
terrain_cell.x = Math.max(0, Math.min(this.cell_count.x - 2, terrain_cell.x));
|
||||||
terrain_cell.y = Math.max(0, Math.min(this.cell_count.y - 1, terrain_cell.y));
|
terrain_cell.y = Math.max(0, Math.min(this.cell_count.y - 2, terrain_cell.y));
|
||||||
|
|
||||||
return terrain_cell;
|
return terrain_cell;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user