mirror of https://github.com/buggins/dlangui.git
dminer fixes
This commit is contained in:
parent
e1dfac4e14
commit
aada605eaa
|
@ -1,6 +1,7 @@
|
||||||
module dminer.core.terrain;
|
module dminer.core.terrain;
|
||||||
|
|
||||||
import dminer.core.minetypes;
|
import dminer.core.minetypes;
|
||||||
|
import dlangui.core.logger;
|
||||||
|
|
||||||
|
|
||||||
struct TerrainGen {
|
struct TerrainGen {
|
||||||
|
@ -48,6 +49,7 @@ struct TerrainGen {
|
||||||
}
|
}
|
||||||
|
|
||||||
void generate(int seed, short[] initData, int stepBits) {
|
void generate(int seed, short[] initData, int stepBits) {
|
||||||
|
Log.d("TerrainGen.generate(initData.length=", initData.length, " stepBits=", stepBits, ")");
|
||||||
rnd.setSeed(seed);
|
rnd.setSeed(seed);
|
||||||
int step = 1 << stepBits;
|
int step = 1 << stepBits;
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
@ -56,8 +58,10 @@ struct TerrainGen {
|
||||||
set(x, y, initData[index++]);
|
set(x, y, initData[index++]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Log.f("last index = ", index);
|
||||||
int half = step >> 1;
|
int half = step >> 1;
|
||||||
while (half > 0) {
|
while (half > 0) {
|
||||||
|
Log.f("halfstep=", half);
|
||||||
int scale = step;
|
int scale = step;
|
||||||
for (int y = half; y < dy; y += step) {
|
for (int y = half; y < dy; y += step) {
|
||||||
for (int x = half; x < dx; x++) {
|
for (int x = half; x < dx; x++) {
|
||||||
|
@ -74,6 +78,7 @@ struct TerrainGen {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void generateWithScale(int seed, short[] initData, int stepBits, TerrainGen scaleMap) {
|
void generateWithScale(int seed, short[] initData, int stepBits, TerrainGen scaleMap) {
|
||||||
|
Log.d("TerrainGen.generateWithScale(initData.length=", initData.length, " stepBits=", stepBits, ")");
|
||||||
rnd.setSeed(seed);
|
rnd.setSeed(seed);
|
||||||
int step = 1 << stepBits;
|
int step = 1 << stepBits;
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
@ -82,8 +87,10 @@ struct TerrainGen {
|
||||||
set(x, y, initData[index++]);
|
set(x, y, initData[index++]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Log.f("last index = ", index);
|
||||||
int half = step >> 1;
|
int half = step >> 1;
|
||||||
while (half > 0) {
|
while (half > 0) {
|
||||||
|
Log.f("halfstep=", half);
|
||||||
for (int y = half; y < dy; y += step) {
|
for (int y = half; y < dy; y += step) {
|
||||||
for (int x = half; x < dx; x++) {
|
for (int x = half; x < dx; x++) {
|
||||||
int scale = (scaleMap.get(x, y) * step) >> 8;
|
int scale = (scaleMap.get(x, y) * step) >> 8;
|
||||||
|
|
Loading…
Reference in New Issue