X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fconstants.h;h=cdd61470c322156013d03c76809e0d6a7ebf6484;hb=29932d4bddad6a0ad4269606e38701d544784951;hp=ee08e0ed4ee8503fda43cbbe3dd199a4a45f7dc2;hpb=24c4b7c68d283a4d1de72a3eb68f1268f1fe34e3;p=dragonfireclient.git diff --git a/src/constants.h b/src/constants.h index ee08e0ed4..cdd61470c 100644 --- a/src/constants.h +++ b/src/constants.h @@ -1,14 +1,43 @@ /* -(c) 2010 Perttu Ahola +Minetest-c55 +Copyright (C) 2010 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef CONSTANTS_HEADER #define CONSTANTS_HEADER +/* + All kinds of constants. + + Cross-platform compatibility crap should go in porting.h. +*/ + +//#define HAXMODE 0 + +#define APPNAME "minetest" + #define DEBUGFILE "debug.txt" -// Define for simulating the quirks of sending through internet -// WARNING: This disables unit testing of socket and connection +#define WATER_ALPHA 160 +//#define WATER_ALPHA 190 + +// Define for simulating the quirks of sending through internet. +// Causes the socket class to deliberately drop random packets. +// This disables unit testing of socket and connection. #define INTERNET_SIMULATOR 0 #define CONNECTION_TIMEOUT 30 @@ -20,44 +49,46 @@ #define PI 3.14159 -#define SERVERMAP_DELETE_UNUSED_SECTORS_TIMEOUT (60*10) -#define SERVER_MAP_SAVE_INTERVAL (60) - +// This is the same as in minecraft and everything else #define FOV_ANGLE (PI/2.5) // The absolute working limit is (2^15 - viewing_range). #define MAP_GENERATION_LIMIT (31000) -//#define MAX_SIMULTANEOUS_BLOCK_SENDS 7 -//#define MAX_SIMULTANEOUS_BLOCK_SENDS 3 -#define MAX_SIMULTANEOUS_BLOCK_SENDS 2 -//#define MAX_SIMULTANEOUS_BLOCK_SENDS 1 - -#define FULL_BLOCK_SEND_ENABLE_MIN_TIME_FROM_BUILDING 2.0 -#define LIMITED_MAX_SIMULTANEOUS_BLOCK_SENDS 1 - -// Viewing range stuff - -#define FPS_DEFAULT_WANTED 30 -#define FPS_DEFAULT_MAX 60 +// Size of node in rendering units +#define BS 10 -#define HEIGHTMAP_RANGE_NODES 300 - -//#define FREETIME_RATIO 0.2 -#define FREETIME_RATIO 0.15 +#define MAP_BLOCKSIZE 16 +/* + This makes mesh updates too slow, as many meshes are updated during + the main loop (related to TempMods and day/night) +*/ +//#define MAP_BLOCKSIZE 32 // Sectors are split to SECTOR_HEIGHTMAP_SPLIT^2 heightmaps -#define SECTOR_HEIGHTMAP_SPLIT 2 +#define SECTOR_HEIGHTMAP_SPLIT (MAP_BLOCKSIZE/8) + +// Time after building, during which the following limit +// is in use +//#define FULL_BLOCK_SEND_ENABLE_MIN_TIME_FROM_BUILDING 2.0 +// This many blocks are sent when player is building +#define LIMITED_MAX_SIMULTANEOUS_BLOCK_SENDS 0 +// Override for the previous one when distance of block +// is very low +#define BLOCK_SEND_DISABLE_LIMITS_MAX_D 1 #define PLAYER_INVENTORY_SIZE (8*4) #define SIGN_TEXT_MAX_LENGTH 50 -// The distance of how far objects will be sent to client -//#define ACTIVE_OBJECT_D_BLOCKS 2 - -// Wether to catch all std::exceptions -#define CATCH_UNJANDLED_EXCEPTIONS 1 +// Whether to catch all std::exceptions. +// Assert will be called on such an event. +// In debug mode, leave these for the debugger and don't catch them. +#ifdef NDEBUG + #define CATCH_UNHANDLED_EXCEPTIONS 1 +#else + #define CATCH_UNHANDLED_EXCEPTIONS 0 +#endif /* Collecting active blocks is stopped after object data @@ -65,5 +96,18 @@ */ #define MAX_OBJECTDATA_SIZE 450 +/* + This is good to be a bit different than 0 so that water level + is not between two MapBlocks +*/ +#define WATER_LEVEL 1 + +// Length of cracking animation in count of images +#define CRACK_ANIMATION_LENGTH 5 + +// Some stuff needed by old code moved to here from heightmap.h +#define GROUNDHEIGHT_NOTFOUND_SETVALUE (-10e6) +#define GROUNDHEIGHT_VALID_MINVALUE ( -9e6) + #endif