aboutsummaryrefslogtreecommitdiff
path: root/src/constants.h
blob: 8cc4ee473aa6338d94648dd67ea80edfea85369e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
(c) 2010 Perttu Ahola <celeron55@gmail.com>
*/

#ifndef CONSTANTS_HEADER
#define CONSTANTS_HEADER

#define DEBUGFILE "debug.txt"

// Define for simulating the quirks of sending through internet
// WARNING: This disables unit testing of socket and connection
#define INTERNET_SIMULATOR 0

#define CONNECTION_TIMEOUT 30

#define RESEND_TIMEOUT_MIN 0.333
#define RESEND_TIMEOUT_MAX 3.0
// resend_timeout = avg_rtt * this
#define RESEND_TIMEOUT_FACTOR 4

#define PI 3.14159

#define SERVERMAP_DELETE_UNUSED_SECTORS_TIMEOUT (60*10)
#define SERVER_MAP_SAVE_INTERVAL (60)

#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 2

#define FULL_BLOCK_SEND_ENABLE_MIN_TIME_FROM_BUILDING 2.0
//#define LIMITED_MAX_SIMULTANEOUS_BLOCK_SENDS 1
#define LIMITED_MAX_SIMULTANEOUS_BLOCK_SENDS 0

// Override for the previous one when distance is low
#define BLOCK_SEND_DISABLE_LIMITS_MAX_D 1

//#define MAX_SIMULTANEOUS_BLOCK_SENDS_SERVER_TOTAL 4

// Viewing range stuff

//#define HEIGHTMAP_RANGE_NODES 300

//#define FREETIME_RATIO 0.2
#define FREETIME_RATIO 0.15

// Sectors are split to SECTOR_HEIGHTMAP_SPLIT^2 heightmaps
#define SECTOR_HEIGHTMAP_SPLIT 2

#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_UNHANDLED_EXCEPTIONS 0

/*
	Collecting active blocks is stopped after object data
	size reaches this
*/
#define MAX_OBJECTDATA_SIZE 450

#endif