From 6b598f61a6920823aad7c8814bad8e68f85ad66b Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 16 Jun 2012 22:37:20 +0300 Subject: [PATCH] Add desynchronize_mapblock_texture_animation setting and improve minetest.conf.example a bit --- minetest.conf.example | 10 +++++++--- src/defaultsettings.cpp | 1 + src/mapblock_mesh.cpp | 14 ++++++++++---- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/minetest.conf.example b/minetest.conf.example index ebfa70aa..ef1b8d26 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -52,7 +52,8 @@ # Some (temporary) keys for debugging #keymap_print_debug_stacks = KEY_KEY_P -# The desired FPS +# Minimum FPS +# The amount of rendered stuff is dynamically set according to this #wanted_fps = 30 # If FPS would go higher than this, limit it by sleeping # (to not waste CPU power for no benefit) @@ -117,6 +118,8 @@ # Sound settings #enable_sound = true #sound_volume = 0.7 +# Whether node texture animations should be desynchronized per MapBlock +#desynchronize_mapblock_texture_animation = true # # Server stuff @@ -144,8 +147,9 @@ #give_initial_stuff = false # New users need to input this password #default_password = -# Available privileges: build, teleport, settime, privs, shout -#default_privs = build, shout +# Available privileges: interact, shout, teleport, settime, privs, ... +# See /privs in game for a full list on your server and mod configuration. +#default_privs = interact, shout # Whether players are shown to clients without any range limit #unlimited_player_transfer_distance = true # Whether to enable players killing each other diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 13cfab72..a9c0de6a 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -103,6 +103,7 @@ void set_default_settings(Settings *settings) settings->setDefault("console_alpha", "200"); settings->setDefault("enable_sound", "true"); settings->setDefault("sound_volume", "0.8"); + settings->setDefault("desynchronize_mapblock_texture_animation", "true"); // Server stuff // "map-dir" doesn't exist by default. diff --git a/src/mapblock_mesh.cpp b/src/mapblock_mesh.cpp index fd5937bb..a928b82f 100644 --- a/src/mapblock_mesh.cpp +++ b/src/mapblock_mesh.cpp @@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "mesh.h" #include "content_mapblock.h" #include "noise.h" +#include "settings.h" /* MeshMakeData @@ -996,10 +997,15 @@ MapBlockMesh::MapBlockMesh(MeshMakeData *data): // Add to MapBlockMesh in order to animate these tiles m_animation_tiles[i] = p.tile; m_animation_frames[i] = 0; - // Get starting position from noise - m_animation_frame_offsets[i] = 100000 * (2.0 + noise3d( - data->m_blockpos.X, data->m_blockpos.Y, - data->m_blockpos.Z, 0)); + if(g_settings->getBool("desynchronize_mapblock_texture_animation")){ + // Get starting position from noise + m_animation_frame_offsets[i] = 100000 * (2.0 + noise3d( + data->m_blockpos.X, data->m_blockpos.Y, + data->m_blockpos.Z, 0)); + } else { + // Play all synchronized + m_animation_frame_offsets[i] = 0; + } // Replace tile texture with the first animation frame std::ostringstream os(std::ios::binary); os<getTextureName(p.tile.texture.id); -- 2.30.2