Commented out debug statements again
[oweals/minetest.git] / src / main.cpp
index 3bc7ca5f6a7cd126be56823582c91d17a562f75f..b9a957322865c28dc4d497b3fa02477e32c51dc2 100644 (file)
@@ -72,6 +72,12 @@ Other things to note:
   variable and fix them (result of getContent() must be stored in
   content_t, which is 16-bit)
 
+NOTE: Seeds in 1260:6c77e7dbfd29:
+5721858502589302589:
+       Spawns you on a small sand island with a surface dungeon
+2983455799928051958:
+       Enormous jungle + a surface dungeon at ~(250,0,0)
+
 Old, wild and random suggestions that probably won't be done:
 -------------------------------------------------------------
 
@@ -361,6 +367,9 @@ TODO: Merge bahamada's audio stuff (clean patch available)
 
 TODO: Move content_features to mapnode_content_features.{h,cpp} or so
 
+TODO: Fix item use() stuff; dropping a stack of cooked rats and eating
+      it gives 3 hearts and consumes all the rats.
+
 Making it more portable:
 ------------------------
  
@@ -554,10 +563,12 @@ public:
                // Remember whether each key is down or up
                if(event.EventType == irr::EET_KEY_INPUT_EVENT)
                {
-                       keyIsDown[event.KeyInput.Key] = event.KeyInput.PressedDown;
-
-                       if(event.KeyInput.PressedDown)
-                               keyWasDown[event.KeyInput.Key] = true;
+                       if(event.KeyInput.PressedDown) {
+                               keyIsDown.set(event.KeyInput);
+                               keyWasDown.set(event.KeyInput);
+                       } else {
+                               keyIsDown.unset(event.KeyInput);
+                       }
                }
 
                if(event.EventType == irr::EET_MOUSE_INPUT_EVENT)
@@ -601,16 +612,17 @@ public:
                return false;
        }
 
-       bool IsKeyDown(EKEY_CODE keyCode) const
+       bool IsKeyDown(const KeyPress &keyCode) const
        {
                return keyIsDown[keyCode];
        }
        
        // Checks whether a key was down and resets the state
-       bool WasKeyDown(EKEY_CODE keyCode)
+       bool WasKeyDown(const KeyPress &keyCode)
        {
                bool b = keyWasDown[keyCode];
-               keyWasDown[keyCode] = false;
+               if (b)
+                       keyWasDown.unset(keyCode);
                return b;
        }
 
@@ -623,12 +635,9 @@ public:
 
        void clearInput()
        {
-               for(u32 i=0; i<KEY_KEY_CODES_COUNT; i++)
-               {
-                       keyIsDown[i] = false;
-                       keyWasDown[i] = false;
-               }
-               
+               keyIsDown.clear();
+               keyWasDown.clear();
+
                leftclicked = false;
                rightclicked = false;
                leftreleased = false;
@@ -661,9 +670,9 @@ private:
        IrrlichtDevice *m_device;
        
        // The current state of keys
-       bool keyIsDown[KEY_KEY_CODES_COUNT];
+       KeyList keyIsDown;
        // Whether a key has been pressed or not
-       bool keyWasDown[KEY_KEY_CODES_COUNT];
+       KeyList keyWasDown;
 };
 
 /*
@@ -678,11 +687,11 @@ public:
                m_receiver(receiver)
        {
        }
-       virtual bool isKeyDown(EKEY_CODE keyCode)
+       virtual bool isKeyDown(const KeyPress &keyCode)
        {
                return m_receiver->IsKeyDown(keyCode);
        }
-       virtual bool wasKeyDown(EKEY_CODE keyCode)
+       virtual bool wasKeyDown(const KeyPress &keyCode)
        {
                return m_receiver->WasKeyDown(keyCode);
        }
@@ -763,14 +772,13 @@ public:
                rightclicked = false;
                leftreleased = false;
                rightreleased = false;
-               for(u32 i=0; i<KEY_KEY_CODES_COUNT; ++i)
-                       keydown[i] = false;
+               keydown.clear();
        }
-       virtual bool isKeyDown(EKEY_CODE keyCode)
+       virtual bool isKeyDown(const KeyPress &keyCode)
        {
                return keydown[keyCode];
        }
-       virtual bool wasKeyDown(EKEY_CODE keyCode)
+       virtual bool wasKeyDown(const KeyPress &keyCode)
        {
                return false;
        }
@@ -839,8 +847,7 @@ public:
                        if(counter1 < 0.0)
                        {
                                counter1 = 0.1*Rand(1, 40);
-                               keydown[getKeySetting("keymap_jump")] =
-                                               !keydown[getKeySetting("keymap_jump")];
+                               keydown.toggle(getKeySetting("keymap_jump"));
                        }
                }
                {
@@ -849,8 +856,7 @@ public:
                        if(counter1 < 0.0)
                        {
                                counter1 = 0.1*Rand(1, 40);
-                               keydown[getKeySetting("keymap_special1")] =
-                                               !keydown[getKeySetting("keymap_special1")];
+                               keydown.toggle(getKeySetting("keymap_special1"));
                        }
                }
                {
@@ -859,8 +865,7 @@ public:
                        if(counter1 < 0.0)
                        {
                                counter1 = 0.1*Rand(1, 40);
-                               keydown[getKeySetting("keymap_forward")] =
-                                               !keydown[getKeySetting("keymap_forward")];
+                               keydown.toggle(getKeySetting("keymap_forward"));
                        }
                }
                {
@@ -869,8 +874,7 @@ public:
                        if(counter1 < 0.0)
                        {
                                counter1 = 0.1*Rand(1, 40);
-                               keydown[getKeySetting("keymap_left")] =
-                                               !keydown[getKeySetting("keymap_left")];
+                               keydown.toggle(getKeySetting("keymap_left"));
                        }
                }
                {
@@ -916,7 +920,7 @@ public:
                return (myrand()%(max-min+1))+min;
        }
 private:
-       bool keydown[KEY_KEY_CODES_COUNT];
+       KeyList keydown;
        v2s32 mousepos;
        v2s32 mousespeed;
        bool leftdown;
@@ -1155,9 +1159,7 @@ int main(int argc, char *argv[])
        // Create user data directory
        fs::CreateDir(porting::path_userdata);
 
-       setlocale(LC_MESSAGES, "");
-       bindtextdomain("minetest", (porting::path_userdata+"/locale").c_str());
-       textdomain("minetest");
+       init_gettext((porting::path_data+"/../locale").c_str());
        
        // Initialize debug streams
 #ifdef RUN_IN_PLACE
@@ -1178,7 +1180,7 @@ int main(int argc, char *argv[])
        BEGIN_DEBUG_EXCEPTION_HANDLER
 
        // Print startup message
-       dstream<<DTIME<<"minetest-c55"
+       dstream<<DTIME<<PROJECT_NAME
                        " with SER_FMT_VER_HIGHEST="<<(int)SER_FMT_VER_HIGHEST
                        <<", "<<BUILD_INFO
                        <<std::endl;
@@ -1294,7 +1296,7 @@ int main(int argc, char *argv[])
                g_timegetter = new SimpleTimeGetter();
                
                // Create server
-               Server server(map_dir.c_str());
+               Server server(map_dir.c_str(), configpath);
                server.start(port);
                
                // Run server
@@ -1371,9 +1373,6 @@ int main(int argc, char *argv[])
        if (device == 0)
                return 1; // could not create selected driver.
        
-       // Set device in game parameters
-       device = device;
-
        // Set the window caption
        device->setWindowCaption(L"Minetest [Main Menu]");
        
@@ -1575,6 +1574,8 @@ int main(int argc, char *argv[])
 
                                password = translatePassword(playername, menudata.password);
 
+                               //dstream<<"Main: password hash: '"<<password<<"'"<<std::endl;
+
                                address = wide_to_narrow(menudata.address);
                                int newport = stoi(wide_to_narrow(menudata.port));
                                if(newport != 0)
@@ -1633,7 +1634,8 @@ int main(int argc, char *argv[])
                                password,
                                address,
                                port,
-                               error_message
+                               error_message,
+                               configpath
                        );
 
                } //try