@@ -23,14 +23,39 @@ with this program; if not, write to the Free Software Foundation, Inc.,
23
23
#include " config.h"
24
24
#include " constants.h"
25
25
#include " porting.h"
26
+ #include " util/string.h"
26
27
27
28
void set_default_settings (Settings *settings)
28
29
{
29
30
// Client and server
30
-
31
+ settings-> setDefault ( " language " , " " );
31
32
settings->setDefault (" name" , " " );
33
+ settings->setDefault (" bind_address" , " " );
34
+ settings->setDefault (" serverlist_url" , " servers.minetest.net" );
32
35
33
- // Client stuff
36
+ // Client
37
+ settings->setDefault (" address" , " " );
38
+ settings->setDefault (" enable_sound" , " true" );
39
+ settings->setDefault (" sound_volume" , " 0.8" );
40
+ settings->setDefault (" enable_mesh_cache" , " false" );
41
+ settings->setDefault (" enable_vbo" , " true" );
42
+ settings->setDefault (" free_move" , " false" );
43
+ settings->setDefault (" fast_move" , " false" );
44
+ settings->setDefault (" noclip" , " false" );
45
+ settings->setDefault (" screenshot_path" , " ." );
46
+ settings->setDefault (" screenshot_format" , " png" );
47
+ settings->setDefault (" screenshot_quality" , " 0" );
48
+ settings->setDefault (" client_unload_unused_data_timeout" , " 600" );
49
+ settings->setDefault (" client_mapblock_limit" , " 5000" );
50
+ settings->setDefault (" enable_build_where_you_stand" , " false" );
51
+ settings->setDefault (" send_pre_v25_init" , " false" );
52
+ settings->setDefault (" curl_timeout" , " 5000" );
53
+ settings->setDefault (" curl_parallel_limit" , " 8" );
54
+ settings->setDefault (" curl_file_download_timeout" , " 300000" );
55
+ settings->setDefault (" curl_verify_cert" , " true" );
56
+ settings->setDefault (" enable_remote_media_server" , " true" );
57
+
58
+ // Keymap
34
59
settings->setDefault (" remote_port" , " 30000" );
35
60
settings->setDefault (" keymap_forward" , " KEY_KEY_W" );
36
61
settings->setDefault (" keymap_autorun" , " " );
@@ -52,85 +77,60 @@ void set_default_settings(Settings *settings)
52
77
settings->setDefault (" keymap_fastmove" , " KEY_KEY_J" );
53
78
settings->setDefault (" keymap_noclip" , " KEY_KEY_H" );
54
79
settings->setDefault (" keymap_cinematic" , " " );
55
- settings->setDefault (" keymap_screenshot" , " KEY_F12" );
56
80
settings->setDefault (" keymap_toggle_hud" , " KEY_F1" );
57
81
settings->setDefault (" keymap_toggle_chat" , " KEY_F2" );
58
82
settings->setDefault (" keymap_toggle_force_fog_off" , " KEY_F3" );
59
- settings->setDefault (" keymap_toggle_update_camera" ,
60
83
#if DEBUG
61
- " KEY_F4" );
84
+ settings-> setDefault ( " keymap_toggle_update_camera " , " KEY_F4" );
62
85
#else
63
- " " );
86
+ settings-> setDefault ( " keymap_toggle_update_camera " , " " );
64
87
#endif
65
88
settings->setDefault (" keymap_toggle_debug" , " KEY_F5" );
66
89
settings->setDefault (" keymap_toggle_profiler" , " KEY_F6" );
67
90
settings->setDefault (" keymap_camera_mode" , " KEY_F7" );
91
+ settings->setDefault (" keymap_screenshot" , " KEY_F12" );
68
92
settings->setDefault (" keymap_increase_viewing_range_min" , " +" );
69
93
settings->setDefault (" keymap_decrease_viewing_range_min" , " -" );
70
- settings->setDefault (" enable_build_where_you_stand" , " false" );
71
- settings->setDefault (" 3d_mode" , " none" );
72
- settings->setDefault (" 3d_paralax_strength" , " 0.025" );
73
- settings->setDefault (" aux1_descends" , " false" );
74
- settings->setDefault (" doubletap_jump" , " false" );
75
- settings->setDefault (" always_fly_fast" , " true" );
76
- settings->setDefault (" directional_colored_fog" , " true" );
77
- settings->setDefault (" tooltip_show_delay" , " 400" );
78
- settings->setDefault (" zoom_fov" , " 15" );
79
-
80
94
// Some (temporary) keys for debugging
81
95
settings->setDefault (" keymap_print_debug_stacks" , " KEY_KEY_P" );
82
96
settings->setDefault (" keymap_quicktune_prev" , " KEY_HOME" );
83
97
settings->setDefault (" keymap_quicktune_next" , " KEY_END" );
84
98
settings->setDefault (" keymap_quicktune_dec" , " KEY_NEXT" );
85
99
settings->setDefault (" keymap_quicktune_inc" , " KEY_PRIOR" );
86
100
87
- // Show debug info by default?
88
- #ifdef NDEBUG
101
+ // Visuals
102
+ #ifdef NDEBUG
89
103
settings->setDefault (" show_debug" , " false" );
90
- #else
104
+ #else
91
105
settings->setDefault (" show_debug" , " true" );
92
- #endif
93
-
106
+ #endif
107
+ settings->setDefault (" fsaa" , " 0" );
108
+ settings->setDefault (" enable_fog" , " true" );
109
+ settings->setDefault (" fog_start" , " 0.4" );
110
+ settings->setDefault (" 3d_mode" , " none" );
111
+ settings->setDefault (" 3d_paralax_strength" , " 0.025" );
112
+ settings->setDefault (" tooltip_show_delay" , " 400" );
113
+ settings->setDefault (" zoom_fov" , " 15" );
94
114
settings->setDefault (" fps_max" , " 60" );
95
115
settings->setDefault (" pause_fps_max" , " 20" );
96
116
settings->setDefault (" viewing_range" , " 100" );
97
- settings->setDefault (" map_generation_limit" , " 31000" );
98
117
settings->setDefault (" screenW" , " 800" );
99
118
settings->setDefault (" screenH" , " 600" );
100
119
settings->setDefault (" fullscreen" , " false" );
101
120
settings->setDefault (" fullscreen_bpp" , " 24" );
102
- settings->setDefault (" fsaa" , " 0" );
103
121
settings->setDefault (" vsync" , " false" );
104
- settings->setDefault (" address" , " " );
105
- settings->setDefault (" random_input" , " false" );
106
- settings->setDefault (" client_unload_unused_data_timeout" , " 600" );
107
- settings->setDefault (" client_mapblock_limit" , " 5000" );
108
- settings->setDefault (" enable_fog" , " true" );
109
- settings->setDefault (" fog_start" , " 0.4" );
110
122
settings->setDefault (" fov" , " 72" );
111
- settings->setDefault (" view_bobbing" , " true" );
112
123
settings->setDefault (" leaves_style" , " fancy" );
113
124
settings->setDefault (" connected_glass" , " false" );
114
125
settings->setDefault (" smooth_lighting" , " true" );
115
126
settings->setDefault (" display_gamma" , " 2.2" );
116
127
settings->setDefault (" texture_path" , " " );
117
128
settings->setDefault (" shader_path" , " " );
118
129
settings->setDefault (" video_driver" , " opengl" );
119
- settings->setDefault (" free_move" , " false" );
120
- settings->setDefault (" noclip" , " false" );
121
- settings->setDefault (" continuous_forward" , " false" );
122
- settings->setDefault (" enable_joysticks" , " false" );
123
- settings->setDefault (" repeat_joystick_button_time" , " 0.17" );
124
- settings->setDefault (" joystick_frustum_sensitivity" , " 170" );
125
130
settings->setDefault (" cinematic" , " false" );
126
131
settings->setDefault (" camera_smoothing" , " 0" );
127
132
settings->setDefault (" cinematic_camera_smoothing" , " 0.7" );
128
- settings->setDefault (" fast_move" , " false" );
129
- settings->setDefault (" invert_mouse" , " false" );
130
133
settings->setDefault (" enable_clouds" , " true" );
131
- settings->setDefault (" screenshot_path" , " ." );
132
- settings->setDefault (" screenshot_format" , " png" );
133
- settings->setDefault (" screenshot_quality" , " 0" );
134
134
settings->setDefault (" view_bobbing_amount" , " 1.0" );
135
135
settings->setDefault (" fall_bobbing_amount" , " 0.0" );
136
136
settings->setDefault (" enable_3d_clouds" , " true" );
@@ -142,28 +142,35 @@ void set_default_settings(Settings *settings)
142
142
settings->setDefault (" console_alpha" , " 200" );
143
143
settings->setDefault (" selectionbox_color" , " (0,0,0)" );
144
144
settings->setDefault (" selectionbox_width" , " 2" );
145
- settings->setDefault (" inventory_items_animations" , " false" );
146
145
settings->setDefault (" node_highlighting" , " box" );
147
146
settings->setDefault (" crosshair_color" , " (255,255,255)" );
148
147
settings->setDefault (" crosshair_alpha" , " 255" );
149
148
settings->setDefault (" hud_scaling" , " 1.0" );
150
149
settings->setDefault (" gui_scaling" , " 1.0" );
151
150
settings->setDefault (" gui_scaling_filter" , " false" );
152
151
settings->setDefault (" gui_scaling_filter_txr2img" , " true" );
153
- settings->setDefault (" mouse_sensitivity" , " 0.2" );
154
- settings->setDefault (" enable_sound" , " true" );
155
- settings->setDefault (" sound_volume" , " 0.8" );
156
152
settings->setDefault (" desynchronize_mapblock_texture_animation" , " true" );
157
153
settings->setDefault (" hud_hotbar_max_width" , " 1.0" );
158
154
settings->setDefault (" enable_local_map_saving" , " false" );
159
155
settings->setDefault (" show_entity_selectionbox" , " true" );
156
+ settings->setDefault (" texture_clean_transparent" , " false" );
157
+ settings->setDefault (" texture_min_size" , " 64" );
158
+ settings->setDefault (" ambient_occlusion_gamma" , " 2.2" );
159
+ settings->setDefault (" enable_shaders" , " true" );
160
+ settings->setDefault (" enable_particles" , " true" );
161
+
162
+ settings->setDefault (" enable_minimap" , " true" );
163
+ settings->setDefault (" minimap_shape_round" , " true" );
164
+ settings->setDefault (" minimap_double_scan_height" , " true" );
160
165
166
+ // Effects
167
+ settings->setDefault (" directional_colored_fog" , " true" );
168
+ settings->setDefault (" view_bobbing" , " true" );
169
+ settings->setDefault (" inventory_items_animations" , " false" );
161
170
settings->setDefault (" mip_map" , " false" );
162
171
settings->setDefault (" anisotropic_filter" , " false" );
163
172
settings->setDefault (" bilinear_filter" , " false" );
164
173
settings->setDefault (" trilinear_filter" , " false" );
165
- settings->setDefault (" texture_clean_transparent" , " false" );
166
- settings->setDefault (" texture_min_size" , " 64" );
167
174
settings->setDefault (" tone_mapping" , " false" );
168
175
settings->setDefault (" enable_bumpmapping" , " false" );
169
176
settings->setDefault (" enable_parallax_occlusion" , " false" );
@@ -180,35 +187,29 @@ void set_default_settings(Settings *settings)
180
187
settings->setDefault (" water_wave_speed" , " 5.0" );
181
188
settings->setDefault (" enable_waving_leaves" , " false" );
182
189
settings->setDefault (" enable_waving_plants" , " false" );
183
- settings->setDefault (" ambient_occlusion_gamma" , " 2.2" );
184
- settings->setDefault (" enable_shaders" , " true" );
185
- settings->setDefault (" repeat_rightclick_time" , " 0.25" );
186
- settings->setDefault (" enable_particles" , " true" );
187
- settings->setDefault (" enable_mesh_cache" , " false" );
188
- settings->setDefault (" enable_vbo" , " true" );
189
-
190
- settings->setDefault (" enable_minimap" , " true" );
191
- settings->setDefault (" minimap_shape_round" , " true" );
192
- settings->setDefault (" minimap_double_scan_height" , " true" );
193
190
194
- settings->setDefault (" send_pre_v25_init" , " false" );
195
-
196
- settings->setDefault (" curl_timeout" , " 5000" );
197
- settings->setDefault (" curl_parallel_limit" , " 8" );
198
- settings->setDefault (" curl_file_download_timeout" , " 300000" );
199
- settings->setDefault (" curl_verify_cert" , " true" );
200
191
201
- settings->setDefault (" enable_remote_media_server" , " true" );
192
+ // Input
193
+ settings->setDefault (" invert_mouse" , " false" );
194
+ settings->setDefault (" mouse_sensitivity" , " 0.2" );
195
+ settings->setDefault (" repeat_rightclick_time" , " 0.25" );
196
+ settings->setDefault (" random_input" , " false" );
197
+ settings->setDefault (" aux1_descends" , " false" );
198
+ settings->setDefault (" doubletap_jump" , " false" );
199
+ settings->setDefault (" always_fly_fast" , " true" );
200
+ settings->setDefault (" continuous_forward" , " false" );
201
+ settings->setDefault (" enable_joysticks" , " false" );
202
+ settings->setDefault (" repeat_joystick_button_time" , " 0.17" );
203
+ settings->setDefault (" joystick_frustum_sensitivity" , " 170" );
202
204
203
- settings->setDefault (" serverlist_url" , " servers.minetest.net" );
205
+ // Main menu
206
+ settings->setDefault (" main_menu_path" , " " );
207
+ settings->setDefault (" main_menu_mod_mgr" , " 1" );
208
+ settings->setDefault (" main_menu_game_mgr" , " 0" );
209
+ settings->setDefault (" modstore_download_url" , " https://forum.minetest.net/media/" );
210
+ settings->setDefault (" modstore_listmods_url" , " https://forum.minetest.net/mmdb/mods/" );
211
+ settings->setDefault (" modstore_details_url" , " https://forum.minetest.net/mmdb/mod/*/" );
204
212
settings->setDefault (" serverlist_file" , " favoriteservers.txt" );
205
- settings->setDefault (" server_announce" , " false" );
206
- settings->setDefault (" server_url" , " " );
207
- settings->setDefault (" server_address" , " " );
208
- settings->setDefault (" server_name" , " " );
209
- settings->setDefault (" server_description" , " " );
210
-
211
- settings->setDefault (" disable_escape_sequences" , " false" );
212
213
213
214
#if USE_FREETYPE
214
215
settings->setDefault (" freetype" , " true" );
@@ -221,41 +222,43 @@ void set_default_settings(Settings *settings)
221
222
settings->setDefault (" fallback_font_shadow" , " 1" );
222
223
settings->setDefault (" fallback_font_shadow_alpha" , " 128" );
223
224
224
- std::stringstream fontsize;
225
- fontsize << TTF_DEFAULT_FONT_SIZE;
225
+ std::string font_size_str = std::to_string (TTF_DEFAULT_FONT_SIZE);
226
226
227
- settings->setDefault (" font_size" , fontsize.str ());
228
- settings->setDefault (" mono_font_size" , fontsize.str ());
229
- settings->setDefault (" fallback_font_size" , fontsize.str ());
227
+ settings->setDefault (" fallback_font_size" , font_size_str);
230
228
#else
231
229
settings->setDefault (" freetype" , " false" );
232
230
settings->setDefault (" font_path" , porting::getDataPath (" fonts" DIR_DELIM " lucida_sans" ));
233
231
settings->setDefault (" mono_font_path" , porting::getDataPath (" fonts" DIR_DELIM " mono_dejavu_sans" ));
234
232
235
- std::stringstream fontsize;
236
- fontsize << DEFAULT_FONT_SIZE;
237
-
238
- settings->setDefault (" font_size" , fontsize.str ());
239
- settings->setDefault (" mono_font_size" , fontsize.str ());
233
+ std::string font_size_str = to_string (DEFAULT_FONT_SIZE);
240
234
#endif
235
+ settings->setDefault (" font_size" , font_size_str);
236
+ settings->setDefault (" mono_font_size" , font_size_str);
237
+
238
+
239
+ // Server
240
+ settings->setDefault (" disable_escape_sequences" , " false" );
241
241
242
- // Server stuff
243
- // "map-dir" doesn't exist by default.
242
+ // Network
243
+ settings->setDefault (" enable_ipv6" , " true" );
244
+ settings->setDefault (" ipv6_server" , " false" );
244
245
settings->setDefault (" workaround_window_size" ," 5" );
245
246
settings->setDefault (" max_packets_per_iteration" ," 1024" );
246
247
settings->setDefault (" port" , " 30000" );
247
- settings->setDefault (" bind_address" , " " );
248
+ settings->setDefault (" strict_protocol_version_checking" , " false" );
249
+ settings->setDefault (" player_transfer_distance" , " 0" );
250
+ settings->setDefault (" max_simultaneous_block_sends_per_client" , " 10" );
251
+ settings->setDefault (" max_simultaneous_block_sends_server_total" , " 40" );
252
+ settings->setDefault (" time_send_interval" , " 5" );
253
+
248
254
settings->setDefault (" default_game" , " minetest" );
249
255
settings->setDefault (" motd" , " " );
250
256
settings->setDefault (" max_users" , " 15" );
251
- settings->setDefault (" strict_protocol_version_checking" , " false" );
252
257
settings->setDefault (" creative_mode" , " false" );
253
258
settings->setDefault (" enable_damage" , " true" );
254
- settings->setDefault (" fixed_map_seed" , " " );
255
259
settings->setDefault (" give_initial_stuff" , " false" );
256
260
settings->setDefault (" default_password" , " " );
257
261
settings->setDefault (" default_privs" , " interact, shout" );
258
- settings->setDefault (" player_transfer_distance" , " 0" );
259
262
settings->setDefault (" enable_pvp" , " true" );
260
263
settings->setDefault (" disallow_empty_password" , " false" );
261
264
settings->setDefault (" disable_anticheat" , " false" );
@@ -271,18 +274,13 @@ void set_default_settings(Settings *settings)
271
274
settings->setDefault (" ask_reconnect_on_crash" , " false" );
272
275
273
276
settings->setDefault (" profiler_print_interval" , " 0" );
274
- settings->setDefault (" enable_mapgen_debug_info" , " false" );
275
277
settings->setDefault (" active_object_send_range_blocks" , " 3" );
276
278
settings->setDefault (" active_block_range" , " 3" );
277
279
// settings->setDefault("max_simultaneous_block_sends_per_client", "1");
278
280
// This causes frametime jitter on client side, or does it?
279
- settings->setDefault (" max_simultaneous_block_sends_per_client" , " 10" );
280
- settings->setDefault (" max_simultaneous_block_sends_server_total" , " 40" );
281
281
settings->setDefault (" max_block_send_distance" , " 9" );
282
- settings->setDefault (" max_block_generate_distance" , " 7" );
283
282
settings->setDefault (" block_send_optimize_distance" , " 4" );
284
283
settings->setDefault (" max_clearobjects_extra_loaded_blocks" , " 4096" );
285
- settings->setDefault (" time_send_interval" , " 5" );
286
284
settings->setDefault (" time_speed" , " 72" );
287
285
settings->setDefault (" server_unload_unused_data_timeout" , " 29" );
288
286
settings->setDefault (" max_objects_per_block" , " 64" );
@@ -307,7 +305,7 @@ void set_default_settings(Settings *settings)
307
305
settings->setDefault (" secure.trusted_mods" , " " );
308
306
settings->setDefault (" secure.http_mods" , " " );
309
307
310
- // physics stuff
308
+ // Physics
311
309
settings->setDefault (" movement_acceleration_default" , " 3" );
312
310
settings->setDefault (" movement_acceleration_air" , " 2" );
313
311
settings->setDefault (" movement_acceleration_fast" , " 10" );
@@ -321,32 +319,30 @@ void set_default_settings(Settings *settings)
321
319
settings->setDefault (" movement_liquid_sink" , " 10" );
322
320
settings->setDefault (" movement_gravity" , " 9.81" );
323
321
324
- // liquid stuff
322
+ // Liquids
325
323
settings->setDefault (" liquid_loop_max" , " 100000" );
326
324
settings->setDefault (" liquid_queue_purge_time" , " 0" );
327
325
settings->setDefault (" liquid_update" , " 1.0" );
328
326
329
- // mapgen stuff
327
+ // Mapgen
330
328
settings->setDefault (" mg_name" , " v7" );
331
329
settings->setDefault (" water_level" , " 1" );
332
330
settings->setDefault (" chunksize" , " 5" );
333
331
settings->setDefault (" mg_flags" , " dungeons" );
332
+ settings->setDefault (" fixed_map_seed" , " " );
333
+ settings->setDefault (" map_generation_limit" , " 31000" );
334
+ settings->setDefault (" max_block_generate_distance" , " 7" );
335
+ settings->setDefault (" enable_mapgen_debug_info" , " false" );
334
336
335
- // IPv6
336
- settings->setDefault (" enable_ipv6" , " true" );
337
- settings->setDefault (" ipv6_server" , " false" );
338
-
339
- settings->setDefault (" main_menu_path" , " " );
340
- settings->setDefault (" main_menu_mod_mgr" , " 1" );
341
- settings->setDefault (" main_menu_game_mgr" , " 0" );
342
- settings->setDefault (" modstore_download_url" , " https://forum.minetest.net/media/" );
343
- settings->setDefault (" modstore_listmods_url" , " https://forum.minetest.net/mmdb/mods/" );
344
- settings->setDefault (" modstore_details_url" , " https://forum.minetest.net/mmdb/mod/*/" );
337
+ // Server list announcing
338
+ settings->setDefault (" server_announce" , " false" );
339
+ settings->setDefault (" server_url" , " " );
340
+ settings->setDefault (" server_address" , " " );
341
+ settings->setDefault (" server_name" , " " );
342
+ settings->setDefault (" server_description" , " " );
345
343
346
344
settings->setDefault (" high_precision_fpu" , " true" );
347
345
348
- settings->setDefault (" language" , " " );
349
-
350
346
#ifdef __ANDROID__
351
347
settings->setDefault (" screenW" , " 0" );
352
348
settings->setDefault (" screenH" , " 0" );
@@ -375,13 +371,12 @@ void set_default_settings(Settings *settings)
375
371
settings->setDefault (" viewing_range" , " 25" );
376
372
settings->setDefault (" inventory_image_hack" , " false" );
377
373
378
- // check for device with small screen
374
+ // Check for a device with a small screen
379
375
float x_inches = ((double ) porting::getDisplaySize ().X /
380
376
(160 * porting::getDisplayDensity ()));
381
377
if (x_inches < 3.5 ) {
382
378
settings->setDefault (" hud_scaling" , " 0.6" );
383
- }
384
- else if (x_inches < 4.5 ) {
379
+ } else if (x_inches < 4.5 ) {
385
380
settings->setDefault (" hud_scaling" , " 0.7" );
386
381
}
387
382
settings->setDefault (" curl_verify_cert" ," false" );
@@ -393,7 +388,7 @@ void set_default_settings(Settings *settings)
393
388
void override_default_settings (Settings *settings, Settings *from)
394
389
{
395
390
std::vector<std::string> names = from->getNames ();
396
- for (size_t i= 0 ; i< names.size (); i++){
391
+ for (size_t i = 0 ; i < names.size (); i++) {
397
392
const std::string &name = names[i];
398
393
settings->setDefault (name, from->get (name));
399
394
}
0 commit comments