Add desynchronize_mapblock_texture_animation setting and improve minetest.conf.example a bit

This commit is contained in:
Perttu Ahola 2012-06-16 22:37:20 +03:00
parent 9e21204f8b
commit 6b598f61a6
3 changed files with 18 additions and 7 deletions

@ -52,7 +52,8 @@
# Some (temporary) keys for debugging # Some (temporary) keys for debugging
#keymap_print_debug_stacks = KEY_KEY_P #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 #wanted_fps = 30
# If FPS would go higher than this, limit it by sleeping # If FPS would go higher than this, limit it by sleeping
# (to not waste CPU power for no benefit) # (to not waste CPU power for no benefit)
@ -117,6 +118,8 @@
# Sound settings # Sound settings
#enable_sound = true #enable_sound = true
#sound_volume = 0.7 #sound_volume = 0.7
# Whether node texture animations should be desynchronized per MapBlock
#desynchronize_mapblock_texture_animation = true
# #
# Server stuff # Server stuff
@ -144,8 +147,9 @@
#give_initial_stuff = false #give_initial_stuff = false
# New users need to input this password # New users need to input this password
#default_password = #default_password =
# Available privileges: build, teleport, settime, privs, shout # Available privileges: interact, shout, teleport, settime, privs, ...
#default_privs = build, shout # 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 # Whether players are shown to clients without any range limit
#unlimited_player_transfer_distance = true #unlimited_player_transfer_distance = true
# Whether to enable players killing each other # Whether to enable players killing each other

@ -103,6 +103,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("console_alpha", "200"); settings->setDefault("console_alpha", "200");
settings->setDefault("enable_sound", "true"); settings->setDefault("enable_sound", "true");
settings->setDefault("sound_volume", "0.8"); settings->setDefault("sound_volume", "0.8");
settings->setDefault("desynchronize_mapblock_texture_animation", "true");
// Server stuff // Server stuff
// "map-dir" doesn't exist by default. // "map-dir" doesn't exist by default.

@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "mesh.h" #include "mesh.h"
#include "content_mapblock.h" #include "content_mapblock.h"
#include "noise.h" #include "noise.h"
#include "settings.h"
/* /*
MeshMakeData MeshMakeData
@ -996,10 +997,15 @@ MapBlockMesh::MapBlockMesh(MeshMakeData *data):
// Add to MapBlockMesh in order to animate these tiles // Add to MapBlockMesh in order to animate these tiles
m_animation_tiles[i] = p.tile; m_animation_tiles[i] = p.tile;
m_animation_frames[i] = 0; m_animation_frames[i] = 0;
if(g_settings->getBool("desynchronize_mapblock_texture_animation")){
// Get starting position from noise // Get starting position from noise
m_animation_frame_offsets[i] = 100000 * (2.0 + noise3d( m_animation_frame_offsets[i] = 100000 * (2.0 + noise3d(
data->m_blockpos.X, data->m_blockpos.Y, data->m_blockpos.X, data->m_blockpos.Y,
data->m_blockpos.Z, 0)); data->m_blockpos.Z, 0));
} else {
// Play all synchronized
m_animation_frame_offsets[i] = 0;
}
// Replace tile texture with the first animation frame // Replace tile texture with the first animation frame
std::ostringstream os(std::ios::binary); std::ostringstream os(std::ios::binary);
os<<tsrc->getTextureName(p.tile.texture.id); os<<tsrc->getTextureName(p.tile.texture.id);