[CSM] Add `on_dignode` callback (#5140)
[oweals/minetest.git] / src / client / clientlauncher.cpp
index aa3c2d5486db3633d4a47c0d4f8e129b8f5179c0..2adac53c2d55d8e79275423abb7596d87da8a4d8 100644 (file)
@@ -114,8 +114,7 @@ bool ClientLauncher::run(GameParams &game_params, const Settings &cmd_args)
 
        porting::setXorgClassHint(video_driver->getExposedVideoData(), PROJECT_NAME_C);
 
-       porting::setXorgWindowIcon(device,
-               porting::path_share + "/misc/minetest-xorg-icon-128.png");
+       porting::setXorgWindowIcon(device);
 
        /*
                This changes the minimum allowed number of vertices in a VBO.
@@ -404,15 +403,14 @@ bool ClientLauncher::launch_game(std::string &error_message,
                return false;
        }
 
-       if (menudata.name == "")
-               menudata.name = std::string("Guest") + itos(myrand_range(1000, 9999));
-       else
-               playername = menudata.name;
+       if (menudata.name == "" && !simple_singleplayer_mode) {
+               error_message = gettext("Please choose a name!");
+               return false;
+       }
 
+       playername = menudata.name;
        password = menudata.password;
 
-       g_settings->set("name", playername);
-
        current_playername = playername;
        current_password   = password;
        current_address    = address;
@@ -425,13 +423,16 @@ bool ClientLauncher::launch_game(std::string &error_message,
                current_password = "";
                current_address = "";
                current_port = myrand_range(49152, 65535);
-       } else if (address != "") {
-               ServerListSpec server;
-               server["name"] = menudata.servername;
-               server["address"] = menudata.address;
-               server["port"] = menudata.port;
-               server["description"] = menudata.serverdescription;
-               ServerList::insert(server);
+       } else {
+               g_settings->set("name", playername);
+               if (address != "") {
+                       ServerListSpec server;
+                       server["name"] = menudata.servername;
+                       server["address"] = menudata.address;
+                       server["port"] = menudata.port;
+                       server["description"] = menudata.serverdescription;
+                       ServerList::insert(server);
+               }
        }
 
        infostream << "Selected world: " << worldspec.name