Tune caves
[oweals/minetest.git] / src / game.cpp
index eeb5d02e45916a20c8faaca9a8c97b7c5cecd387..941f286d91abcccf577b32078f0f6cc274b6e86f 100644 (file)
@@ -880,22 +880,23 @@ public:
 
        void fetchSounds(const std::string &name,
                        std::set<std::string> &dst_paths,
-                       std::set<std::vector<char> > &dst_datas)
+                       std::set<std::string> &dst_datas)
        {
                if(m_fetched.count(name))
                        return;
                m_fetched.insert(name);
                std::string base = porting::path_share + DIR_DELIM + "testsounds";
                dst_paths.insert(base + DIR_DELIM + name + ".ogg");
-               dst_paths.insert(base + DIR_DELIM + name + "1.ogg");
-               dst_paths.insert(base + DIR_DELIM + name + "2.ogg");
-               dst_paths.insert(base + DIR_DELIM + name + "3.ogg");
-               dst_paths.insert(base + DIR_DELIM + name + "4.ogg");
-               dst_paths.insert(base + DIR_DELIM + name + "5.ogg");
-               dst_paths.insert(base + DIR_DELIM + name + "6.ogg");
-               dst_paths.insert(base + DIR_DELIM + name + "7.ogg");
-               dst_paths.insert(base + DIR_DELIM + name + "8.ogg");
-               dst_paths.insert(base + DIR_DELIM + name + "9.ogg");
+               dst_paths.insert(base + DIR_DELIM + name + ".0.ogg");
+               dst_paths.insert(base + DIR_DELIM + name + ".1.ogg");
+               dst_paths.insert(base + DIR_DELIM + name + ".2.ogg");
+               dst_paths.insert(base + DIR_DELIM + name + ".3.ogg");
+               dst_paths.insert(base + DIR_DELIM + name + ".4.ogg");
+               dst_paths.insert(base + DIR_DELIM + name + ".5.ogg");
+               dst_paths.insert(base + DIR_DELIM + name + ".6.ogg");
+               dst_paths.insert(base + DIR_DELIM + name + ".7.ogg");
+               dst_paths.insert(base + DIR_DELIM + name + ".8.ogg");
+               dst_paths.insert(base + DIR_DELIM + name + ".9.ogg");
        }
 };
 
@@ -972,31 +973,6 @@ void the_game(
        SoundMaker soundmaker(sound, nodedef);
        soundmaker.registerReceiver(&eventmgr);
        
-       // Preload sounds
-#if 0
-       sound->loadSound("default_grass_footstep", porting::path_share + DIR_DELIM
-                       + "sounds" + DIR_DELIM + "default_grass_walk1.ogg");
-       sound->loadSound("default_grass_footstep", porting::path_share + DIR_DELIM
-                       + "sounds" + DIR_DELIM + "default_grass_walk2.ogg");
-       sound->loadSound("default_grass_footstep", porting::path_share + DIR_DELIM
-                       + "sounds" + DIR_DELIM + "default_grass_walk3.ogg");
-       
-       sound->loadSound("default_dig_crumbly", porting::path_share + DIR_DELIM
-                       + "sounds" + DIR_DELIM + "default_dig_crumbly1.ogg");
-       sound->loadSound("default_dig_crumbly", porting::path_share + DIR_DELIM
-                       + "sounds" + DIR_DELIM + "default_dig_crumbly2.ogg");
-       
-       sound->loadSound("default_dig_cracky", porting::path_share + DIR_DELIM
-                       + "sounds" + DIR_DELIM + "default_dig_cracky1.ogg");
-       
-       sound->loadSound("default_place_node", porting::path_share + DIR_DELIM
-                       + "sounds" + DIR_DELIM + "default_place_node1.ogg");
-       sound->loadSound("default_place_node", porting::path_share + DIR_DELIM
-                       + "sounds" + DIR_DELIM + "default_place_node2.ogg");
-       sound->loadSound("default_place_node", porting::path_share + DIR_DELIM
-                       + "sounds" + DIR_DELIM + "default_place_node3.ogg");
-#endif
-
        // Add chat log output for errors to be shown in chat
        LogOutputBuffer chat_log_error_buf(LMT_ERROR);
 
@@ -1016,6 +992,7 @@ void the_game(
                server->start(port);
        }
 
+       try{
        do{ // Client scope (breakable do-while(0))
        
        /*
@@ -2936,6 +2913,14 @@ void the_game(
 
        // Client scope (client is destructed before destructing *def and tsrc)
        }while(0);
+       } // try-catch
+       catch(SerializationError &e)
+       {
+               error_message = L"A serialization error occurred:\n"
+                               + narrow_to_wide(e.what()) + L"\n\nThe server is probably "
+                               L" running a different version of Minetest.";
+               errorstream<<wide_to_narrow(error_message)<<std::endl;
+       }
        
        if(!sound_is_dummy)
                delete sound;