]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/mapgen.cpp
Fix gettext on MSVC
[dragonfireclient.git] / src / mapgen.cpp
index d61e56819aa3469be6fb6ab8ca49aaf8e116a7a1..ba1b16d6a6438665f20fbbd357d0a4655f6ef075 100644 (file)
@@ -112,7 +112,9 @@ u32 Mapgen::getBlockSeed(v3s16 p, int seed)
 
 u32 Mapgen::getBlockSeed2(v3s16 p, int seed)
 {
-       return noise3d(p.X, p.Y, p.Z, seed);
+       u32 n = 1619 * p.X + 31337 * p.Y + 52591 * p.Z + 1013 * seed;
+       n = (n >> 13) ^ n;
+       return (n * (n * n * 60493 + 19990303) + 1376312589);
 }
 
 
@@ -202,7 +204,7 @@ void Mapgen::updateLiquid(UniqueQueue<v3s16> *trans_liquid, v3s16 nmin, v3s16 nm
 }
 
 
-void Mapgen::setLighting(v3s16 nmin, v3s16 nmax, u8 light)
+void Mapgen::setLighting(u8 light, v3s16 nmin, v3s16 nmax)
 {
        ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG);
        VoxelArea a(nmin, nmax);
@@ -241,6 +243,19 @@ void Mapgen::lightSpread(VoxelArea &a, v3s16 p, u8 light)
 }
 
 
+void Mapgen::calcLighting(v3s16 nmin, v3s16 nmax, v3s16 full_nmin, v3s16 full_nmax)
+{
+       ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG);
+       //TimeTaker t("updateLighting");
+
+       propagateSunlight(nmin, nmax);
+       spreadLight(full_nmin, full_nmax);
+
+       //printf("updateLighting: %dms\n", t.stop());
+}
+
+
+
 void Mapgen::calcLighting(v3s16 nmin, v3s16 nmax)
 {
        ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG);
@@ -295,7 +310,6 @@ void Mapgen::spreadLight(v3s16 nmin, v3s16 nmax)
 {
        //TimeTaker t("spreadLight");
        VoxelArea a(nmin, nmax);
-       v3s16 em = vm->m_area.getExtent();
 
        for (int z = a.MinEdge.Z; z <= a.MaxEdge.Z; z++) {
                for (int y = a.MinEdge.Y; y <= a.MaxEdge.Y; y++) {