]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/main.cpp
Add emerge.cpp, initial EmergeThread changes
[dragonfireclient.git] / src / main.cpp
index 968dc8d600b56a5a7d08daccba010a59980c6a95..cfd643ac76ba6fb9f7fc6d24c75dc66ba15eb82f 100644 (file)
@@ -1,6 +1,6 @@
 /*
-Minetest-c55
-Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
+Minetest
+Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as published by
@@ -887,22 +887,7 @@ int main(int argc, char *argv[])
        fs::CreateDir(porting::path_user);
 
        init_gettext((porting::path_share + DIR_DELIM + "locale").c_str());
-       
-       // Initialize debug streams
-#define DEBUGFILE "debug.txt"
-#if RUN_IN_PLACE
-       std::string logfile = DEBUGFILE;
-#else
-       std::string logfile = porting::path_user+DIR_DELIM+DEBUGFILE;
-#endif
-       if(cmd_args.exists("logfile"))
-               logfile = cmd_args.get("logfile");
-       if(logfile != "")
-               debugstreams_init(false, logfile.c_str());
-       else
-               debugstreams_init(false, NULL);
 
-       infostream<<"logfile    = "<<logfile<<std::endl;
        infostream<<"path_share = "<<porting::path_share<<std::endl;
        infostream<<"path_user  = "<<porting::path_user<<std::endl;
 
@@ -995,6 +980,31 @@ int main(int argc, char *argv[])
                if(configpath == "")
                        configpath = filenames[0];
        }
+       
+       // Initialize debug streams
+#define DEBUGFILE "debug.txt"
+#if RUN_IN_PLACE
+       std::string logfile = DEBUGFILE;
+#else
+       std::string logfile = porting::path_user+DIR_DELIM+DEBUGFILE;
+#endif
+       if(cmd_args.exists("logfile"))
+               logfile = cmd_args.get("logfile");
+       
+       log_remove_output(&main_dstream_no_stderr_log_out);
+       int loglevel = g_settings->getS32("debug_log_level");
+
+       if (loglevel == 0) //no logging
+               logfile = "";
+       else if (loglevel > 0 && loglevel <= LMT_NUM_VALUES)
+               log_add_output_maxlev(&main_dstream_no_stderr_log_out, (LogMessageLevel)(loglevel - 1));
+
+       if(logfile != "")
+               debugstreams_init(false, logfile.c_str());
+       else
+               debugstreams_init(false, NULL);
+               
+       infostream<<"logfile    = "<<logfile<<std::endl;
 
        // Initialize random seed
        srand(time(0));
@@ -1095,6 +1105,7 @@ int main(int argc, char *argv[])
 #else
        bool run_dedicated_server = cmd_args.getFlag("server");
 #endif
+       g_settings->set("server_dedicated", run_dedicated_server ? "true" : "false");
        if(run_dedicated_server)
        {
                DSTACK("Dedicated server branch");
@@ -1470,6 +1481,7 @@ int main(int argc, char *argv[])
                                driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, menudata.mip_map);
                                menudata.creative_mode = g_settings->getBool("creative_mode");
                                menudata.enable_damage = g_settings->getBool("enable_damage");
+                               menudata.enable_public = g_settings->getBool("server_announce");
                                // Default to selecting nothing
                                menudata.selected_world = -1;
                                // Get world listing for the menu
@@ -1593,6 +1605,7 @@ int main(int argc, char *argv[])
 
                                g_settings->set("creative_mode", itos(menudata.creative_mode));
                                g_settings->set("enable_damage", itos(menudata.enable_damage));
+                               g_settings->set("server_announce", itos(menudata.enable_public));
                                g_settings->set("name", playername);
                                g_settings->set("address", address);
                                g_settings->set("port", itos(port));
@@ -1619,10 +1632,10 @@ int main(int argc, char *argv[])
                                else if (address != "")
                                {
                                        ServerListSpec server;
-                                       server.name = menudata.servername;
-                                       server.address = wide_to_narrow(menudata.address);
-                                       server.port = wide_to_narrow(menudata.port);
-                                       server.description = menudata.serverdescription;
+                                       server["name"] = menudata.servername;
+                                       server["address"] = wide_to_narrow(menudata.address);
+                                       server["port"] = wide_to_narrow(menudata.port);
+                                       server["description"] = menudata.serverdescription;
                                        ServerList::insert(server);
                                }