Add Client::getEnv() and remove some unnecessary wrappers
parent
81385682c8
commit
54917e3062
|
@ -1848,8 +1848,6 @@ void Client::sendPlayerItem(u16 item)
|
||||||
|
|
||||||
void Client::removeNode(v3s16 p)
|
void Client::removeNode(v3s16 p)
|
||||||
{
|
{
|
||||||
//JMutexAutoLock envlock(m_env_mutex); //bulk comment-out
|
|
||||||
|
|
||||||
core::map<v3s16, MapBlock*> modified_blocks;
|
core::map<v3s16, MapBlock*> modified_blocks;
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -1875,8 +1873,6 @@ void Client::removeNode(v3s16 p)
|
||||||
|
|
||||||
void Client::addNode(v3s16 p, MapNode n)
|
void Client::addNode(v3s16 p, MapNode n)
|
||||||
{
|
{
|
||||||
//JMutexAutoLock envlock(m_env_mutex); //bulk comment-out
|
|
||||||
|
|
||||||
TimeTaker timer1("Client::addNode()");
|
TimeTaker timer1("Client::addNode()");
|
||||||
|
|
||||||
core::map<v3s16, MapBlock*> modified_blocks;
|
core::map<v3s16, MapBlock*> modified_blocks;
|
||||||
|
@ -1889,8 +1885,6 @@ void Client::addNode(v3s16 p, MapNode n)
|
||||||
catch(InvalidPositionException &e)
|
catch(InvalidPositionException &e)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
//TimeTaker timer2("Client::addNode(): addUpdateMeshTaskWithEdge");
|
|
||||||
|
|
||||||
for(core::map<v3s16, MapBlock * >::Iterator
|
for(core::map<v3s16, MapBlock * >::Iterator
|
||||||
i = modified_blocks.getIterator();
|
i = modified_blocks.getIterator();
|
||||||
i.atEnd() == false; i++)
|
i.atEnd() == false; i++)
|
||||||
|
@ -1900,32 +1894,6 @@ void Client::addNode(v3s16 p, MapNode n)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Client::updateCamera(v3f pos, v3f dir, f32 fov)
|
|
||||||
{
|
|
||||||
m_env.getClientMap().updateCamera(pos, dir, fov);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Client::renderPostFx()
|
|
||||||
{
|
|
||||||
m_env.getClientMap().renderPostFx();
|
|
||||||
}
|
|
||||||
|
|
||||||
MapNode Client::getNode(v3s16 p)
|
|
||||||
{
|
|
||||||
//JMutexAutoLock envlock(m_env_mutex); //bulk comment-out
|
|
||||||
return m_env.getMap().getNode(p);
|
|
||||||
}
|
|
||||||
|
|
||||||
NodeMetadata* Client::getNodeMetadata(v3s16 p)
|
|
||||||
{
|
|
||||||
return m_env.getMap().getNodeMetadata(p);
|
|
||||||
}
|
|
||||||
|
|
||||||
LocalPlayer* Client::getLocalPlayer()
|
|
||||||
{
|
|
||||||
return m_env.getLocalPlayer();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Client::setPlayerControl(PlayerControl &control)
|
void Client::setPlayerControl(PlayerControl &control)
|
||||||
{
|
{
|
||||||
//JMutexAutoLock envlock(m_env_mutex); //bulk comment-out
|
//JMutexAutoLock envlock(m_env_mutex); //bulk comment-out
|
||||||
|
|
25
src/client.h
25
src/client.h
|
@ -42,6 +42,7 @@ class IWritableTextureSource;
|
||||||
class IWritableItemDefManager;
|
class IWritableItemDefManager;
|
||||||
class IWritableNodeDefManager;
|
class IWritableNodeDefManager;
|
||||||
//class IWritableCraftDefManager;
|
//class IWritableCraftDefManager;
|
||||||
|
class ClientEnvironment;
|
||||||
|
|
||||||
class ClientNotReadyException : public BaseException
|
class ClientNotReadyException : public BaseException
|
||||||
{
|
{
|
||||||
|
@ -197,19 +198,12 @@ public:
|
||||||
*/
|
*/
|
||||||
void step(float dtime);
|
void step(float dtime);
|
||||||
|
|
||||||
// Called from updater thread
|
|
||||||
// Returns dtime
|
|
||||||
//float asyncStep();
|
|
||||||
|
|
||||||
void ProcessData(u8 *data, u32 datasize, u16 sender_peer_id);
|
void ProcessData(u8 *data, u32 datasize, u16 sender_peer_id);
|
||||||
// Returns true if something was received
|
// Returns true if something was received
|
||||||
bool AsyncProcessPacket();
|
bool AsyncProcessPacket();
|
||||||
bool AsyncProcessData();
|
bool AsyncProcessData();
|
||||||
void Send(u16 channelnum, SharedBuffer<u8> data, bool reliable);
|
void Send(u16 channelnum, SharedBuffer<u8> data, bool reliable);
|
||||||
|
|
||||||
// Pops out a packet from the packet queue
|
|
||||||
//IncomingPacket getPacket();
|
|
||||||
|
|
||||||
void interact(u8 action, const PointedThing& pointed);
|
void interact(u8 action, const PointedThing& pointed);
|
||||||
|
|
||||||
void sendSignNodeText(v3s16 p, std::string text);
|
void sendSignNodeText(v3s16 p, std::string text);
|
||||||
|
@ -219,23 +213,14 @@ public:
|
||||||
const std::wstring newpassword);
|
const std::wstring newpassword);
|
||||||
void sendDamage(u8 damage);
|
void sendDamage(u8 damage);
|
||||||
void sendRespawn();
|
void sendRespawn();
|
||||||
|
|
||||||
|
ClientEnvironment& getEnv()
|
||||||
|
{ return m_env; }
|
||||||
|
|
||||||
// locks envlock
|
// Causes urgent mesh updates (unlike Map::add/removeNodeWithEvent)
|
||||||
void removeNode(v3s16 p);
|
void removeNode(v3s16 p);
|
||||||
// locks envlock
|
|
||||||
void addNode(v3s16 p, MapNode n);
|
void addNode(v3s16 p, MapNode n);
|
||||||
|
|
||||||
void updateCamera(v3f pos, v3f dir, f32 fov);
|
|
||||||
|
|
||||||
void renderPostFx();
|
|
||||||
|
|
||||||
// Returns InvalidPositionException if not found
|
|
||||||
MapNode getNode(v3s16 p);
|
|
||||||
// Wrapper to Map
|
|
||||||
NodeMetadata* getNodeMetadata(v3s16 p);
|
|
||||||
|
|
||||||
LocalPlayer* getLocalPlayer();
|
|
||||||
|
|
||||||
void setPlayerControl(PlayerControl &control);
|
void setPlayerControl(PlayerControl &control);
|
||||||
|
|
||||||
void selectPlayerItem(u16 item);
|
void selectPlayerItem(u16 item);
|
||||||
|
|
26
src/game.cpp
26
src/game.cpp
|
@ -284,6 +284,7 @@ PointedThing getPointedThing(Client *client, v3f player_position,
|
||||||
selected_object = NULL;
|
selected_object = NULL;
|
||||||
|
|
||||||
INodeDefManager *nodedef = client->getNodeDefManager();
|
INodeDefManager *nodedef = client->getNodeDefManager();
|
||||||
|
ClientMap &map = client->getEnv().getClientMap();
|
||||||
|
|
||||||
// First try to find a pointed at active object
|
// First try to find a pointed at active object
|
||||||
if(look_for_object)
|
if(look_for_object)
|
||||||
|
@ -337,7 +338,7 @@ PointedThing getPointedThing(Client *client, v3f player_position,
|
||||||
MapNode n;
|
MapNode n;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
n = client->getNode(v3s16(x,y,z));
|
n = map.getNode(v3s16(x,y,z));
|
||||||
}
|
}
|
||||||
catch(InvalidPositionException &e)
|
catch(InvalidPositionException &e)
|
||||||
{
|
{
|
||||||
|
@ -1818,7 +1819,7 @@ void the_game(
|
||||||
Update camera
|
Update camera
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LocalPlayer* player = client.getLocalPlayer();
|
LocalPlayer* player = client.getEnv().getLocalPlayer();
|
||||||
float full_punch_interval = playeritem_toolcap.full_punch_interval;
|
float full_punch_interval = playeritem_toolcap.full_punch_interval;
|
||||||
float tool_reload_ratio = time_from_last_punch / full_punch_interval;
|
float tool_reload_ratio = time_from_last_punch / full_punch_interval;
|
||||||
tool_reload_ratio = MYMIN(tool_reload_ratio, 1.0);
|
tool_reload_ratio = MYMIN(tool_reload_ratio, 1.0);
|
||||||
|
@ -1831,7 +1832,7 @@ void the_game(
|
||||||
f32 camera_fov = camera.getFovMax();
|
f32 camera_fov = camera.getFovMax();
|
||||||
|
|
||||||
if(!disable_camera_update){
|
if(!disable_camera_update){
|
||||||
client.updateCamera(camera_position,
|
client.getEnv().getClientMap().updateCamera(camera_position,
|
||||||
camera_direction, camera_fov);
|
camera_direction, camera_fov);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1929,15 +1930,13 @@ void the_game(
|
||||||
/*
|
/*
|
||||||
Check information text of node
|
Check information text of node
|
||||||
*/
|
*/
|
||||||
|
|
||||||
NodeMetadata *meta = client.getNodeMetadata(nodepos);
|
ClientMap &map = client.getEnv().getClientMap();
|
||||||
if(meta)
|
NodeMetadata *meta = map.getNodeMetadata(nodepos);
|
||||||
{
|
if(meta){
|
||||||
infotext = narrow_to_wide(meta->infoText());
|
infotext = narrow_to_wide(meta->infoText());
|
||||||
}
|
} else {
|
||||||
else
|
MapNode n = map.getNode(nodepos);
|
||||||
{
|
|
||||||
MapNode n = client.getNode(nodepos);
|
|
||||||
if(nodedef->get(n).tname_tiles[0] == "unknown_block.png"){
|
if(nodedef->get(n).tname_tiles[0] == "unknown_block.png"){
|
||||||
infotext = L"Unknown node: ";
|
infotext = L"Unknown node: ";
|
||||||
infotext += narrow_to_wide(nodedef->get(n).name);
|
infotext += narrow_to_wide(nodedef->get(n).name);
|
||||||
|
@ -1948,7 +1947,6 @@ void the_game(
|
||||||
Handle digging
|
Handle digging
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
if(nodig_delay_timer <= 0.0 && input->getLeftState())
|
if(nodig_delay_timer <= 0.0 && input->getLeftState())
|
||||||
{
|
{
|
||||||
if(!digging)
|
if(!digging)
|
||||||
|
@ -1958,7 +1956,7 @@ void the_game(
|
||||||
digging = true;
|
digging = true;
|
||||||
ldown_for_dig = true;
|
ldown_for_dig = true;
|
||||||
}
|
}
|
||||||
MapNode n = client.getNode(nodepos);
|
MapNode n = client.getEnv().getClientMap().getNode(nodepos);
|
||||||
|
|
||||||
// Get digging parameters
|
// Get digging parameters
|
||||||
DigParams params = getDigParams(nodedef->get(n).groups,
|
DigParams params = getDigParams(nodedef->get(n).groups,
|
||||||
|
@ -2501,7 +2499,7 @@ void the_game(
|
||||||
Post effects
|
Post effects
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
client.renderPostFx();
|
client.getEnv().getClientMap().renderPostFx();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue