mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Isolate irrlicht references and use a singleton (#6041)
* Add Device3D class which will contain IrrlichtDevice interface move getSupportedVideoDrivers to Device3D Add Device3D singleton & use it in various places Rename Device3D to Rendering engine & add helper functions to various device pointers More singleton work RenderingEngine owns draw_load_screen move draw functions to RenderingEngine Reduce IrrlichtDevice exposure and guienvironment RenderingEngine: Expose get_timer_time() to remove device from guiEngine Make irrlichtdevice & scene manager less exposed * Code style fixes * Move porting::getVideoDriverName, getVideoDriverFriendlyName, getDisplayDensity, getDisplaySize to RenderingEngine Fix XORG_USED macro -> RenderingEngine + create_engine_device from RenderingEngine constructor directly * enum paralax => enum parallax
This commit is contained in:
parent
a8650e785d
commit
b3a36f7378
50 changed files with 1568 additions and 1567 deletions
|
@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#include "joystick_controller.h"
|
||||
#include <list>
|
||||
#include "keycode.h"
|
||||
#include "renderingengine.h"
|
||||
|
||||
#ifdef HAVE_TOUCHSCREENGUI
|
||||
#include "touchscreengui.h"
|
||||
|
@ -219,8 +220,7 @@ public:
|
|||
class RealInputHandler : public InputHandler
|
||||
{
|
||||
public:
|
||||
RealInputHandler(IrrlichtDevice *device, MyEventReceiver *receiver)
|
||||
: m_device(device), m_receiver(receiver)
|
||||
RealInputHandler(MyEventReceiver *receiver) : m_receiver(receiver)
|
||||
{
|
||||
m_receiver->joystick = &joystick;
|
||||
}
|
||||
|
@ -239,16 +239,20 @@ public:
|
|||
virtual void dontListenForKeys() { m_receiver->dontListenForKeys(); }
|
||||
virtual v2s32 getMousePos()
|
||||
{
|
||||
if (m_device->getCursorControl()) {
|
||||
return m_device->getCursorControl()->getPosition();
|
||||
if (RenderingEngine::get_raw_device()->getCursorControl()) {
|
||||
return RenderingEngine::get_raw_device()
|
||||
->getCursorControl()
|
||||
->getPosition();
|
||||
} else {
|
||||
return m_mousepos;
|
||||
}
|
||||
}
|
||||
virtual void setMousePos(s32 x, s32 y)
|
||||
{
|
||||
if (m_device->getCursorControl()) {
|
||||
m_device->getCursorControl()->setPosition(x, y);
|
||||
if (RenderingEngine::get_raw_device()->getCursorControl()) {
|
||||
RenderingEngine::get_raw_device()
|
||||
->getCursorControl()
|
||||
->setPosition(x, y);
|
||||
} else {
|
||||
m_mousepos = v2s32(x, y);
|
||||
}
|
||||
|
@ -276,7 +280,6 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
IrrlichtDevice *m_device = nullptr;
|
||||
MyEventReceiver *m_receiver = nullptr;
|
||||
v2s32 m_mousepos;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue