d0ed22c2d2db74a2229991cc6e36a62d38f429e9
[oweals/minetest.git] / src / defaultsettings.cpp
1 /*
2 Minetest-c55
3 Copyright (C) 2010 celeron55, Perttu Ahola <celeron55@gmail.com>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #include "settings.h"
21
22 void set_default_settings(Settings *settings)
23 {
24         // Client and server
25
26         settings->setDefault("port", "");
27         settings->setDefault("name", "");
28         settings->setDefault("footprints", "false");
29
30         // Client stuff
31
32         settings->setDefault("keymap_forward", "KEY_KEY_W");
33         settings->setDefault("keymap_backward", "KEY_KEY_S");
34         settings->setDefault("keymap_left", "KEY_KEY_A");
35         settings->setDefault("keymap_right", "KEY_KEY_D");
36         settings->setDefault("keymap_jump", "KEY_SPACE");
37         settings->setDefault("keymap_sneak", "KEY_LSHIFT");
38         settings->setDefault("keymap_drop", "KEY_KEY_Q");
39         settings->setDefault("keymap_inventory", "KEY_KEY_I");
40         settings->setDefault("keymap_special1", "KEY_KEY_E");
41         settings->setDefault("keymap_chat", "KEY_KEY_T");
42         settings->setDefault("keymap_cmd", "/");
43         settings->setDefault("keymap_console", "KEY_F10");
44         settings->setDefault("keymap_rangeselect", "KEY_KEY_R");
45         settings->setDefault("keymap_freemove", "KEY_KEY_K");
46         settings->setDefault("keymap_fastmove", "KEY_KEY_J");
47         settings->setDefault("keymap_screenshot", "KEY_F12");
48         settings->setDefault("keymap_toggle_hud", "KEY_F1");
49         settings->setDefault("keymap_toggle_chat", "KEY_F2");
50         settings->setDefault("keymap_toggle_force_fog_off", "KEY_F3");
51         settings->setDefault("keymap_toggle_update_camera", "KEY_F4");
52         settings->setDefault("keymap_toggle_debug", "KEY_F5");
53         settings->setDefault("keymap_toggle_profiler", "KEY_F6");
54         settings->setDefault("keymap_increase_viewing_range_min", "+");
55         settings->setDefault("keymap_decrease_viewing_range_min", "-");
56         // Some (temporary) keys for debugging
57         settings->setDefault("keymap_print_debug_stacks", "KEY_KEY_P");
58         settings->setDefault("keymap_quicktune_prev", "KEY_HOME");
59         settings->setDefault("keymap_quicktune_next", "KEY_END");
60         settings->setDefault("keymap_quicktune_dec", "KEY_NEXT");
61         settings->setDefault("keymap_quicktune_inc", "KEY_PRIOR");
62
63         // Show debug info by default?
64         #ifdef NDEBUG
65         settings->setDefault("show_debug", "false");
66         #else
67         settings->setDefault("show_debug", "true");
68         #endif
69
70         settings->setDefault("wanted_fps", "30");
71         settings->setDefault("fps_max", "60");
72         // A bit more than the server will send around the player, to make fog blend well
73         settings->setDefault("viewing_range_nodes_max", "160");
74         settings->setDefault("viewing_range_nodes_min", "35");
75         settings->setDefault("screenW", "800");
76         settings->setDefault("screenH", "600");
77         settings->setDefault("fullscreen", "false");
78         settings->setDefault("fullscreen_bpp", "24");
79         settings->setDefault("fsaa", "0");
80         settings->setDefault("vsync", "false");
81         settings->setDefault("address", "");
82         settings->setDefault("random_input", "false");
83         settings->setDefault("client_unload_unused_data_timeout", "600");
84         settings->setDefault("enable_fog", "true");
85         settings->setDefault("fov", "72");
86         settings->setDefault("view_bobbing", "true");
87         settings->setDefault("new_style_water", "false");
88         settings->setDefault("new_style_leaves", "true");
89         settings->setDefault("smooth_lighting", "true");
90         settings->setDefault("enable_texture_atlas", "true");
91         settings->setDefault("texture_path", "");
92         settings->setDefault("video_driver", "opengl");
93         settings->setDefault("free_move", "false");
94         settings->setDefault("continuous_forward", "false");
95         settings->setDefault("fast_move", "false");
96         settings->setDefault("invert_mouse", "false");
97         settings->setDefault("enable_farmesh", "false");
98         settings->setDefault("enable_clouds", "true");
99         settings->setDefault("screenshot_path", ".");
100         settings->setDefault("view_bobbing_amount", "1.0");
101         settings->setDefault("enable_3d_clouds", "true");
102         settings->setDefault("opaque_water", "false");
103         settings->setDefault("console_color", "(0,0,0)");
104         settings->setDefault("console_alpha", "200");
105         settings->setDefault("enable_sound", "true");
106         settings->setDefault("sound_volume", "0.8");
107
108         // Server stuff
109         // "map-dir" doesn't exist by default.
110         settings->setDefault("default_game", "minetest");
111         settings->setDefault("motd", "");
112         settings->setDefault("max_users", "100");
113         settings->setDefault("strict_protocol_version_checking", "true");
114         settings->setDefault("creative_mode", "false");
115         settings->setDefault("enable_damage", "true");
116         settings->setDefault("only_peaceful_mobs", "false");
117         settings->setDefault("fixed_map_seed", "");
118         settings->setDefault("give_initial_stuff", "false");
119         settings->setDefault("default_password", "");
120         settings->setDefault("default_privs", "interact, shout");
121         settings->setDefault("unlimited_player_transfer_distance", "true");
122         settings->setDefault("enable_pvp", "true");
123
124         settings->setDefault("profiler_print_interval", "0");
125         settings->setDefault("enable_mapgen_debug_info", "false");
126         settings->setDefault("active_object_send_range_blocks", "3");
127         settings->setDefault("active_block_range", "2");
128         //settings->setDefault("max_simultaneous_block_sends_per_client", "1");
129         // This causes frametime jitter on client side, or does it?
130         settings->setDefault("max_simultaneous_block_sends_per_client", "4");
131         settings->setDefault("max_simultaneous_block_sends_server_total", "20");
132         settings->setDefault("max_block_send_distance", "9");
133         settings->setDefault("max_block_generate_distance", "7");
134         settings->setDefault("time_send_interval", "5");
135         settings->setDefault("time_speed", "72");
136         settings->setDefault("server_unload_unused_data_timeout", "29");
137         settings->setDefault("server_map_save_interval", "5.3");
138         settings->setDefault("full_block_send_enable_min_time_from_building", "2.0");
139         settings->setDefault("dedicated_server_step", "0.05");
140         settings->setDefault("ignore_world_load_errors", "false");
141 }
142