summaryrefslogtreecommitdiff
path: root/src/client.cpp
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2010-12-21 02:25:47 +0200
committerPerttu Ahola <celeron55@gmail.com>2010-12-21 02:25:47 +0200
commit3b0bff2f743a3abf100368f94efafa7c2843a9b7 (patch)
treea81464f28cb929d221706e5790c753ed42cc8315 /src/client.cpp
parentd5a78c12530df800f8182f7012cd16237a7ebafe (diff)
downloadminetest-3b0bff2f743a3abf100368f94efafa7c2843a9b7.tar.gz
minetest-3b0bff2f743a3abf100368f94efafa7c2843a9b7.tar.bz2
minetest-3b0bff2f743a3abf100368f94efafa7c2843a9b7.zip
Cracking blocks while digging
Diffstat (limited to 'src/client.cpp')
-rw-r--r--src/client.cpp88
1 files changed, 16 insertions, 72 deletions
diff --git a/src/client.cpp b/src/client.cpp
index b612c9c44..4979829d1 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -398,45 +398,10 @@ void Client::step(float dtime)
}
}
-#if 0
- /*
- Clear old entries from fetchblock history
- */
- {
- JMutexAutoLock lock(m_fetchblock_mutex);
-
- core::list<v3s16> remove_queue;
- core::map<v3s16, float>::Iterator i;
- i = m_fetchblock_history.getIterator();
- for(; i.atEnd() == false; i++)
- {
- float value = i.getNode()->getValue();
- value += dtime;
- i.getNode()->setValue(value);
- if(value >= 60.0)
- remove_queue.push_back(i.getNode()->getKey());
- }
- core::list<v3s16>::Iterator j;
- j = remove_queue.begin();
- for(; j != remove_queue.end(); j++)
- {
- m_fetchblock_history.remove(*j);
- }
- }
-#endif
-
/*{
JMutexAutoLock lock(m_step_dtime_mutex);
m_step_dtime += dtime;
}*/
-
- /*
- BEGIN TEST CODE
- */
-
- /*
- END OF TEST CODE
- */
}
float Client::asyncStep()
@@ -975,7 +940,11 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
if(abs_to_delete.find(p) != NULL)
abs_to_delete.remove(p);
- // Update objects of block
+ /*
+ Update objects of block
+
+ NOTE: Be sure this is done in the main thread.
+ */
block->updateObjects(is, m_server_ser_ver,
m_device->getSceneManager());
}
@@ -1482,11 +1451,11 @@ void Client::addNodeFromInventory(v3s16 nodepos, u16 i)
}
#endif
-void Client::pressGround(u8 button, v3s16 nodepos_undersurface,
+void Client::groundAction(u8 action, v3s16 nodepos_undersurface,
v3s16 nodepos_oversurface, u16 item)
{
if(connectedAndInitialized() == false){
- dout_client<<DTIME<<"Client::pressGround() "
+ dout_client<<DTIME<<"Client::groundAction() "
"cancelled (not connected)"
<<std::endl;
return;
@@ -1507,7 +1476,7 @@ void Client::pressGround(u8 button, v3s16 nodepos_undersurface,
u8 datasize = 2 + 1 + 6 + 6 + 2;
SharedBuffer<u8> data(datasize);
writeU16(&data[0], TOSERVER_GROUND_ACTION);
- writeU8(&data[2], button);
+ writeU8(&data[2], action);
writeV3S16(&data[3], nodepos_undersurface);
writeV3S16(&data[9], nodepos_oversurface);
writeU16(&data[15], item);
@@ -1540,37 +1509,6 @@ void Client::clickObject(u8 button, v3s16 blockpos, s16 id, u16 item)
Send(0, data, true);
}
-void Client::stopDigging()
-{
- if(connectedAndInitialized() == false){
- dout_client<<DTIME<<"Client::release() "
- "cancelled (not connected)"
- <<std::endl;
- return;
- }
-
- /*
- length: 17
- [0] u16 command
- [2] u8 action
- [3] v3s16 nodepos_undersurface
- [9] v3s16 nodepos_abovesurface
- [15] u16 item
- actions:
- 0: start digging
- 1: place block
- 2: stop digging (all parameters ignored)
- */
- u8 datasize = 2 + 1 + 6 + 6 + 2;
- SharedBuffer<u8> data(datasize);
- writeU16(&data[0], TOSERVER_GROUND_ACTION);
- writeU8(&data[2], 2);
- writeV3S16(&data[3], v3s16(0,0,0));
- writeV3S16(&data[9], v3s16(0,0,0));
- writeU16(&data[15], 0);
- Send(0, data, true);
-}
-
void Client::sendSignText(v3s16 blockpos, s16 id, std::string text)
{
/*
@@ -1671,17 +1609,23 @@ MapNode Client::getNode(v3s16 p)
return m_env.getMap().getNode(p);
}
+/*void Client::getNode(v3s16 p, MapNode n)
+{
+ JMutexAutoLock envlock(m_env_mutex);
+ m_env.getMap().setNode(p, n);
+}*/
+
/*f32 Client::getGroundHeight(v2s16 p)
{
JMutexAutoLock envlock(m_env_mutex);
return m_env.getMap().getGroundHeight(p);
}*/
-bool Client::isNodeUnderground(v3s16 p)
+/*bool Client::isNodeUnderground(v3s16 p)
{
JMutexAutoLock envlock(m_env_mutex);
return m_env.getMap().isNodeUnderground(p);
-}
+}*/
/*Player * Client::getLocalPlayer()
{