mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 01:05:48 +01:00 
			
		
		
		
	Apply some minor code cleanups
This commit is contained in:
		@@ -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;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user