From 63611932ebae93620386b26cfa82f7c4552b22ff Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sun, 29 May 2011 21:11:16 +0300 Subject: player passwords and privileges in world/auth.txt --HG-- extra : rebase_source : 7260636295d9068fbeeddf4143c89f2b8a91446c --- src/client.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/client.cpp') diff --git a/src/client.cpp b/src/client.cpp index 5869dc77b..79bbd8021 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -610,6 +610,13 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id) // to be processed even if the serialisation format has // not been agreed yet, the same as TOCLIENT_INIT. m_access_denied = true; + m_access_denied_reason = L"Unknown"; + if(datasize >= 4) + { + std::string datastring((char*)&data[2], datasize-2); + std::istringstream is(datastring, std::ios_base::binary); + m_access_denied_reason = deSerializeWideString(is); + } return; } -- cgit v1.2.3 From 51cf464f7450ee31e3a986b521f90cc6195bb2fb Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Thu, 2 Jun 2011 00:01:11 +0300 Subject: Fixed the password crash on Windows --- src/client.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/client.cpp') diff --git a/src/client.cpp b/src/client.cpp index 79bbd8021..e494056f2 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -306,8 +306,14 @@ void Client::step(float dtime) SharedBuffer data(2+1+PLAYERNAME_SIZE+PASSWORD_SIZE); writeU16(&data[0], TOSERVER_INIT); writeU8(&data[2], SER_FMT_VER_HIGHEST); + memset((char*)&data[3], 0, PLAYERNAME_SIZE); snprintf((char*)&data[3], PLAYERNAME_SIZE, "%s", myplayer->getName()); + + /*dstream<<"Client: password hash is \""< Date: Sat, 18 Jun 2011 22:31:24 +0300 Subject: Modified the mesh update thread's sleep time to speed it up (it was way too high) --- src/client.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/client.cpp') diff --git a/src/client.cpp b/src/client.cpp index e494056f2..167dd0723 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -39,10 +39,12 @@ void * MeshUpdateThread::Thread() QueuedMeshUpdate *q = m_queue_in.pop(); if(q == NULL) { - sleep_ms(50); + sleep_ms(3); continue; } + ScopeProfiler sp(&g_profiler, "mesh make"); + scene::SMesh *mesh_new = NULL; mesh_new = makeMapBlockMesh(q->data); -- cgit v1.2.3 From 7538b4c6201675c566c98b21c8ecddb798a14943 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 25 Jun 2011 04:25:14 +0300 Subject: New map generator added (and SQLite, messed up the commits at that time...) (import from temporary git repo) --- src/client.cpp | 30 +++++------------------------- 1 file changed, 5 insertions(+), 25 deletions(-) (limited to 'src/client.cpp') diff --git a/src/client.cpp b/src/client.cpp index 167dd0723..abc056505 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -220,12 +220,12 @@ void Client::step(float dtime) g_settings.getFloat("client_delete_unused_sectors_timeout"); // Delete sector blocks - /*u32 num = m_env.getMap().deleteUnusedSectors + /*u32 num = m_env.getMap().unloadUnusedData (delete_unused_sectors_timeout, true, &deleted_blocks);*/ // Delete whole sectors - u32 num = m_env.getMap().deleteUnusedSectors + u32 num = m_env.getMap().unloadUnusedData (delete_unused_sectors_timeout, false, &deleted_blocks); @@ -722,7 +722,6 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id) */ //dstream<<"Updating"<deSerialize(istr, ser_version); - //block->setChangedFlag(); } catch(InvalidPositionException &e) { @@ -733,7 +732,6 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id) block = new MapBlock(&m_env.getMap(), p); block->deSerialize(istr, ser_version); sector->insertBlock(block); - //block->setChangedFlag(); //DEBUG /*NodeMod mod; @@ -744,27 +742,6 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id) block->setTempMod(v3s16(8,8,8), mod); block->setTempMod(v3s16(8,7,8), mod); block->setTempMod(v3s16(8,6,8), mod);*/ -#if 0 - /* - Add some coulds - Well, this is a dumb way to do it, they should just - be drawn as separate objects. But the looks of them - can be tested this way. - */ - if(p.Y == 3) - { - NodeMod mod; - mod.type = NODEMOD_CHANGECONTENT; - mod.param = CONTENT_CLOUD; - v3s16 p2; - p2.Y = 8; - for(p2.X=3; p2.X<=13; p2.X++) - for(p2.Z=3; p2.Z<=13; p2.Z++) - { - block->setTempMod(p2, mod); - } - } -#endif } } //envlock @@ -796,6 +773,9 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id) //m_env.getClientMap().updateMeshes(block->getPos(), getDayNightRatio()); + /* + Add it to mesh update queue and set it to be acknowledged after update. + */ addUpdateMeshTaskWithEdge(p, true); } else if(command == TOCLIENT_PLAYERPOS) -- cgit v1.2.3