mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 09:15:29 +01:00 
			
		
		
		
	refacto: Hud: make driver, client, player, inventory, tsrc private & drop unused guienv
also fix c_content.h, on client it includes the src/client/hud.h instead of src/hud.h, which leads to wrong file dependency on the lua stack
This commit is contained in:
		@@ -1389,7 +1389,7 @@ bool Game::createClient(const GameStartData &start_data)
 | 
			
		||||
	player->hurt_tilt_timer = 0;
 | 
			
		||||
	player->hurt_tilt_strength = 0;
 | 
			
		||||
 | 
			
		||||
	hud = new Hud(guienv, client, player, &player->inventory);
 | 
			
		||||
	hud = new Hud(client, player, &player->inventory);
 | 
			
		||||
 | 
			
		||||
	mapper = client->getMinimap();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -45,11 +45,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 | 
			
		||||
#define OBJECT_CROSSHAIR_LINE_SIZE 8
 | 
			
		||||
#define CROSSHAIR_LINE_SIZE 10
 | 
			
		||||
 | 
			
		||||
Hud::Hud(gui::IGUIEnvironment *guienv, Client *client, LocalPlayer *player,
 | 
			
		||||
Hud::Hud(Client *client, LocalPlayer *player,
 | 
			
		||||
		Inventory *inventory)
 | 
			
		||||
{
 | 
			
		||||
	driver            = RenderingEngine::get_video_driver();
 | 
			
		||||
	this->guienv      = guienv;
 | 
			
		||||
	this->client      = client;
 | 
			
		||||
	this->player      = player;
 | 
			
		||||
	this->inventory   = inventory;
 | 
			
		||||
@@ -315,7 +314,7 @@ bool Hud::calculateScreenPos(const v3s16 &camera_offset, HudElement *e, v2s32 *p
 | 
			
		||||
{
 | 
			
		||||
	v3f w_pos = e->world_pos * BS;
 | 
			
		||||
	scene::ICameraSceneNode* camera =
 | 
			
		||||
		RenderingEngine::get_scene_manager()->getActiveCamera();
 | 
			
		||||
		client->getSceneManager()->getActiveCamera();
 | 
			
		||||
	w_pos -= intToFloat(camera_offset, BS);
 | 
			
		||||
	core::matrix4 trans = camera->getProjectionMatrix();
 | 
			
		||||
	trans *= camera->getViewMatrix();
 | 
			
		||||
@@ -475,7 +474,7 @@ void Hud::drawLuaElements(const v3s16 &camera_offset)
 | 
			
		||||
 | 
			
		||||
				// Angle according to camera view
 | 
			
		||||
				v3f fore(0.f, 0.f, 1.f);
 | 
			
		||||
				scene::ICameraSceneNode *cam = RenderingEngine::get_scene_manager()->getActiveCamera();
 | 
			
		||||
				scene::ICameraSceneNode *cam = client->getSceneManager()->getActiveCamera();
 | 
			
		||||
				cam->getAbsoluteTransformation().rotateVect(fore);
 | 
			
		||||
				int angle = - fore.getHorizontalAngle().Y;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -35,13 +35,6 @@ struct ItemStack;
 | 
			
		||||
class Hud
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
	video::IVideoDriver *driver;
 | 
			
		||||
	gui::IGUIEnvironment *guienv;
 | 
			
		||||
	Client *client;
 | 
			
		||||
	LocalPlayer *player;
 | 
			
		||||
	Inventory *inventory;
 | 
			
		||||
	ITextureSource *tsrc;
 | 
			
		||||
 | 
			
		||||
	video::SColor crosshair_argb;
 | 
			
		||||
	video::SColor selectionbox_argb;
 | 
			
		||||
 | 
			
		||||
@@ -54,7 +47,7 @@ public:
 | 
			
		||||
 | 
			
		||||
	bool pointing_at_object = false;
 | 
			
		||||
 | 
			
		||||
	Hud(gui::IGUIEnvironment *guienv, Client *client, LocalPlayer *player,
 | 
			
		||||
	Hud(Client *client, LocalPlayer *player,
 | 
			
		||||
			Inventory *inventory);
 | 
			
		||||
	~Hud();
 | 
			
		||||
 | 
			
		||||
@@ -105,6 +98,12 @@ private:
 | 
			
		||||
	void drawCompassRotate(HudElement *e, video::ITexture *texture,
 | 
			
		||||
			const core::rect<s32> &rect, int way);
 | 
			
		||||
 | 
			
		||||
	Client *client = nullptr;
 | 
			
		||||
	video::IVideoDriver *driver = nullptr;
 | 
			
		||||
	LocalPlayer *player = nullptr;
 | 
			
		||||
	Inventory *inventory = nullptr;
 | 
			
		||||
	ITextureSource *tsrc = nullptr;
 | 
			
		||||
 | 
			
		||||
	float m_hud_scaling; // cached minetest setting
 | 
			
		||||
	float m_scale_factor;
 | 
			
		||||
	v3s16 m_camera_offset;
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ extern "C" {
 | 
			
		||||
#include "itemgroup.h"
 | 
			
		||||
#include "itemdef.h"
 | 
			
		||||
#include "c_types.h"
 | 
			
		||||
#include "hud.h"
 | 
			
		||||
#include "../../hud.h"
 | 
			
		||||
 | 
			
		||||
namespace Json { class Value; }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user