mirror of
https://github.com/minetest/minetest.git
synced 2025-03-06 20:48:40 +01:00
Apply some minor code cleanups
This commit is contained in:
parent
94239153b5
commit
e5f276ecee
8 changed files with 18 additions and 30 deletions
|
@ -1750,11 +1750,6 @@ void Client::addUpdateMeshTaskForNode(v3s16 nodepos, bool ack_to_server, bool ur
|
|||
addUpdateMeshTask(blockpos + v3s16(0, 0, -1), false, urgent);
|
||||
}
|
||||
|
||||
void Client::updateCameraOffset(v3s16 camera_offset)
|
||||
{
|
||||
m_mesh_update_manager->m_camera_offset = camera_offset;
|
||||
}
|
||||
|
||||
ClientEvent *Client::getClientEvent()
|
||||
{
|
||||
FATAL_ERROR_IF(m_client_event_queue.empty(),
|
||||
|
|
|
@ -300,8 +300,6 @@ public:
|
|||
void addUpdateMeshTaskWithEdge(v3s16 blockpos, bool ack_to_server=false, bool urgent=false);
|
||||
void addUpdateMeshTaskForNode(v3s16 nodepos, bool ack_to_server=false, bool urgent=false);
|
||||
|
||||
void updateCameraOffset(v3s16 camera_offset);
|
||||
|
||||
bool hasClientEvents() const { return !m_client_event_queue.empty(); }
|
||||
// Get event from queue. If queue is empty, it triggers an assertion failure.
|
||||
ClientEvent * getClientEvent();
|
||||
|
|
|
@ -2901,7 +2901,8 @@ void Game::updateChat(f32 dtime)
|
|||
|
||||
void Game::updateCamera(f32 dtime)
|
||||
{
|
||||
LocalPlayer *player = client->getEnv().getLocalPlayer();
|
||||
ClientEnvironment &env = client->getEnv();
|
||||
LocalPlayer *player = env.getLocalPlayer();
|
||||
|
||||
/*
|
||||
For interaction purposes, get info about the held item
|
||||
|
@ -2940,7 +2941,7 @@ void Game::updateCamera(f32 dtime)
|
|||
float full_punch_interval = playeritem_toolcap.full_punch_interval;
|
||||
float tool_reload_ratio = runData.time_from_last_punch / full_punch_interval;
|
||||
|
||||
tool_reload_ratio = MYMIN(tool_reload_ratio, 1.0);
|
||||
tool_reload_ratio = std::min(tool_reload_ratio, 1.0f);
|
||||
camera->update(player, dtime, tool_reload_ratio);
|
||||
camera->step(dtime);
|
||||
|
||||
|
@ -2953,13 +2954,12 @@ void Game::updateCamera(f32 dtime)
|
|||
v3f camera_position = camera->getPosition();
|
||||
v3f camera_direction = camera->getDirection();
|
||||
|
||||
client->getEnv().getClientMap().updateCamera(camera_position,
|
||||
auto &env = client->getEnv();
|
||||
env.getClientMap().updateCamera(camera_position,
|
||||
camera_direction, camera_fov, camera_offset, player->light_color);
|
||||
|
||||
if (m_camera_offset_changed) {
|
||||
client->updateCameraOffset(camera_offset);
|
||||
client->getEnv().updateCameraOffset(camera_offset);
|
||||
|
||||
env.updateCameraOffset(camera_offset);
|
||||
clouds->updateCameraOffset(camera_offset);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -608,7 +608,7 @@ void PartialMeshBuffer::draw(video::IVideoDriver *driver) const
|
|||
MapBlockMesh
|
||||
*/
|
||||
|
||||
MapBlockMesh::MapBlockMesh(Client *client, MeshMakeData *data, v3s16 camera_offset):
|
||||
MapBlockMesh::MapBlockMesh(Client *client, MeshMakeData *data):
|
||||
m_tsrc(client->getTextureSource()),
|
||||
m_shdrsrc(client->getShaderSource()),
|
||||
m_bounding_sphere_center((data->m_side_length * 0.5f - 0.5f) * BS),
|
||||
|
@ -692,7 +692,6 @@ MapBlockMesh::MapBlockMesh(Client *client, MeshMakeData *data, v3s16 camera_offs
|
|||
auto &info = m_animation_info[{layer, i}];
|
||||
info.tile = p.layer;
|
||||
info.frame = 0;
|
||||
info.frame_offset = 0;
|
||||
// Replace tile texture with the first animation frame
|
||||
p.layer.texture = (*p.layer.frames)[0].texture;
|
||||
}
|
||||
|
@ -815,8 +814,8 @@ bool MapBlockMesh::animate(bool faraway, float time, int crack,
|
|||
for (auto &it : m_animation_info) {
|
||||
const TileLayer &tile = it.second.tile;
|
||||
// Figure out current frame
|
||||
int frameno = (int)(time * 1000 / tile.animation_frame_length_ms
|
||||
+ it.second.frame_offset) % tile.animation_frame_count;
|
||||
int frameno = (int)(time * 1000 / tile.animation_frame_length_ms) %
|
||||
tile.animation_frame_count;
|
||||
// If frame doesn't change, skip
|
||||
if (frameno == it.second.frame)
|
||||
continue;
|
||||
|
|
|
@ -180,7 +180,7 @@ class MapBlockMesh
|
|||
{
|
||||
public:
|
||||
// Builds the mesh given
|
||||
MapBlockMesh(Client *client, MeshMakeData *data, v3s16 camera_offset);
|
||||
MapBlockMesh(Client *client, MeshMakeData *data);
|
||||
~MapBlockMesh();
|
||||
|
||||
// Main animation function, parameters:
|
||||
|
@ -248,7 +248,6 @@ public:
|
|||
private:
|
||||
struct AnimationInfo {
|
||||
int frame; // last animation frame
|
||||
int frame_offset;
|
||||
TileLayer tile;
|
||||
};
|
||||
|
||||
|
|
|
@ -202,8 +202,8 @@ void MeshUpdateQueue::fillDataFromMapBlocks(QueuedMeshUpdate *q)
|
|||
MeshUpdateWorkerThread
|
||||
*/
|
||||
|
||||
MeshUpdateWorkerThread::MeshUpdateWorkerThread(Client *client, MeshUpdateQueue *queue_in, MeshUpdateManager *manager, v3s16 *camera_offset) :
|
||||
UpdateThread("Mesh"), m_client(client), m_queue_in(queue_in), m_manager(manager), m_camera_offset(camera_offset)
|
||||
MeshUpdateWorkerThread::MeshUpdateWorkerThread(Client *client, MeshUpdateQueue *queue_in, MeshUpdateManager *manager) :
|
||||
UpdateThread("Mesh"), m_client(client), m_queue_in(queue_in), m_manager(manager)
|
||||
{
|
||||
m_generation_interval = g_settings->getU16("mesh_generation_interval");
|
||||
m_generation_interval = rangelim(m_generation_interval, 0, 50);
|
||||
|
@ -220,7 +220,7 @@ void MeshUpdateWorkerThread::doUpdate()
|
|||
|
||||
ScopeProfiler sp(g_profiler, "Client: Mesh making (sum)");
|
||||
|
||||
MapBlockMesh *mesh_new = new MapBlockMesh(m_client, q->data, *m_camera_offset);
|
||||
MapBlockMesh *mesh_new = new MapBlockMesh(m_client, q->data);
|
||||
|
||||
MeshUpdateResult r;
|
||||
r.p = q->p;
|
||||
|
@ -254,7 +254,7 @@ MeshUpdateManager::MeshUpdateManager(Client *client):
|
|||
infostream << "MeshUpdateManager: using " << number_of_threads << " threads" << std::endl;
|
||||
|
||||
for (int i = 0; i < number_of_threads; i++)
|
||||
m_workers.push_back(std::make_unique<MeshUpdateWorkerThread>(client, &m_queue_in, this, &m_camera_offset));
|
||||
m_workers.push_back(std::make_unique<MeshUpdateWorkerThread>(client, &m_queue_in, this));
|
||||
}
|
||||
|
||||
void MeshUpdateManager::updateBlock(Map *map, v3s16 p, bool ack_block_to_server,
|
||||
|
|
|
@ -93,7 +93,7 @@ class MeshUpdateManager;
|
|||
class MeshUpdateWorkerThread : public UpdateThread
|
||||
{
|
||||
public:
|
||||
MeshUpdateWorkerThread(Client *client, MeshUpdateQueue *queue_in, MeshUpdateManager *manager, v3s16 *camera_offset);
|
||||
MeshUpdateWorkerThread(Client *client, MeshUpdateQueue *queue_in, MeshUpdateManager *manager);
|
||||
|
||||
protected:
|
||||
virtual void doUpdate();
|
||||
|
@ -102,7 +102,6 @@ private:
|
|||
Client *m_client;
|
||||
MeshUpdateQueue *m_queue_in;
|
||||
MeshUpdateManager *m_manager;
|
||||
v3s16 *m_camera_offset;
|
||||
|
||||
// TODO: Add callback to update these when g_settings changes
|
||||
int m_generation_interval;
|
||||
|
@ -121,8 +120,6 @@ public:
|
|||
bool getNextResult(MeshUpdateResult &r);
|
||||
|
||||
|
||||
v3s16 m_camera_offset;
|
||||
|
||||
void start();
|
||||
void stop();
|
||||
void wait();
|
||||
|
|
|
@ -120,9 +120,6 @@ struct TileLayer
|
|||
MATERIAL_FLAG_TILEABLE_HORIZONTAL|
|
||||
MATERIAL_FLAG_TILEABLE_VERTICAL;
|
||||
|
||||
//! If true, the tile has its own color.
|
||||
bool has_color = false;
|
||||
|
||||
std::vector<FrameSpec> *frames = nullptr;
|
||||
|
||||
/*!
|
||||
|
@ -131,6 +128,9 @@ struct TileLayer
|
|||
*/
|
||||
video::SColor color = video::SColor(0, 0, 0, 0);
|
||||
|
||||
//! If true, the tile has its own color.
|
||||
bool has_color = false;
|
||||
|
||||
u8 scale = 1;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue