Browse Source

Restore Irrlicht 1.9 support

sfan5 4 years ago
parent
commit
3579dd2186

+ 6 - 0
misc/Info.plist

@@ -8,7 +8,13 @@
 	<string>minetest</string>
 	<key>CFBundleIconFile</key>
 	<string>minetest-icon.icns</string>
+	<key>CFBundleName</key>
+	<string>Minetest</string>
+	<key>CFBundleDisplayName</key>
+	<string>Minetest</string>
 	<key>CFBundleIdentifier</key>
 	<string>net.minetest.minetest</string>
+	<key>NSHighResolutionCapable</key>
+	<false/>
 </dict>
 </plist>

+ 4 - 0
src/client/render/interlaced.cpp

@@ -35,7 +35,11 @@ void RenderingCoreInterlaced::initMaterial()
 	IShaderSource *s = client->getShaderSource();
 	mat.UseMipMaps = false;
 	mat.ZBuffer = false;
+#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR > 8
+	mat.ZWriteEnable = video::EZW_OFF;
+#else
 	mat.ZWriteEnable = false;
+#endif
 	u32 shader = s->getShader("3d_interlaced_merge", TILE_MATERIAL_BASIC);
 	mat.MaterialType = s->getShaderInfo(shader).material;
 	for (int k = 0; k < 3; ++k) {

+ 2 - 0
src/client/renderingengine.cpp

@@ -325,9 +325,11 @@ static bool getWindowHandle(irr::video::IVideoDriver *driver, HWND &hWnd)
 	const video::SExposedVideoData exposedData = driver->getExposedVideoData();
 
 	switch (driver->getDriverType()) {
+#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 9
 	case video::EDT_DIRECT3D8:
 		hWnd = reinterpret_cast<HWND>(exposedData.D3D8.HWnd);
 		break;
+#endif
 	case video::EDT_DIRECT3D9:
 		hWnd = reinterpret_cast<HWND>(exposedData.D3D9.HWnd);
 		break;

+ 3 - 2
src/client/sky.cpp

@@ -39,12 +39,13 @@ static video::SMaterial baseMaterial()
 {
 	video::SMaterial mat;
 	mat.Lighting = false;
-#if ENABLE_GLES
+#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR > 8
 	mat.ZBuffer = video::ECFN_DISABLED;
+	mat.ZWriteEnable = video::EZW_OFF;
 #else
+	mat.ZWriteEnable = false;
 	mat.ZBuffer = video::ECFN_NEVER;
 #endif
-	mat.ZWriteEnable = false;
 	mat.AntiAliasing = 0;
 	mat.TextureLayer[0].TextureWrapU = video::ETC_CLAMP_TO_EDGE;
 	mat.TextureLayer[0].TextureWrapV = video::ETC_CLAMP_TO_EDGE;

+ 7 - 0
src/gui/guiButton.cpp

@@ -506,6 +506,13 @@ video::SColor GUIButton::getOverrideColor() const
 	return OverrideColor;
 }
 
+#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR > 8
+video::SColor GUIButton::getActiveColor() const
+{
+	return video::SColor(0,0,0,0); // unused?
+}
+#endif
+
 void GUIButton::enableOverrideColor(bool enable)
 {
 	OverrideColorEnabled = enable;

+ 23 - 12
src/gui/guiButton.h

@@ -69,6 +69,12 @@ using namespace irr;
 
 class ISimpleTextureSource;
 
+#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR <= 8)
+#define OVERRIDE_19
+#else
+#define OVERRIDE_19 override
+#endif
+
 class GUIButton : public gui::IGUIButton
 {
 public:
@@ -97,22 +103,27 @@ public:
 	virtual gui::IGUIFont* getActiveFont() const override;
 
 	//! Sets another color for the button text.
-	virtual void setOverrideColor(video::SColor color);
+	virtual void setOverrideColor(video::SColor color) OVERRIDE_19;
 
 	//! Gets the override color
-	virtual video::SColor getOverrideColor(void) const;
+	virtual video::SColor getOverrideColor(void) const OVERRIDE_19;
+
+	#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR > 8
+	//! Gets the currently used text color
+	virtual video::SColor getActiveColor() const override;
+	#endif
 
 	//! Sets if the button text should use the override color or the color in the gui skin.
-	virtual void enableOverrideColor(bool enable);
+	virtual void enableOverrideColor(bool enable) OVERRIDE_19;
 
 	//! Checks if an override color is enabled
-	virtual bool isOverrideColorEnabled(void) const;
+	virtual bool isOverrideColorEnabled(void) const OVERRIDE_19;
 
 	// PATCH
 	//! Sets an image which should be displayed on the button when it is in the given state.
 	virtual void setImage(gui::EGUI_BUTTON_IMAGE_STATE state,
 			video::ITexture* image=nullptr,
-			const core::rect<s32>& sourceRect=core::rect<s32>(0,0,0,0));
+			const core::rect<s32>& sourceRect=core::rect<s32>(0,0,0,0)) OVERRIDE_19;
 
 	//! Sets an image which should be displayed on the button when it is in normal state.
 	virtual void setImage(video::ITexture* image=nullptr) override;
@@ -141,7 +152,7 @@ public:
 	*/
 	virtual void setSprite(gui::EGUI_BUTTON_STATE state, s32 index,
 						   video::SColor color=video::SColor(255,255,255,255),
-						   bool loop=false, bool scale=false);
+						   bool loop=false, bool scale=false) OVERRIDE_19;
 
 #if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR <= 8)
 	void setSprite(gui::EGUI_BUTTON_STATE state, s32 index, video::SColor color, bool loop) override {
@@ -150,16 +161,16 @@ public:
 #endif
 
 	//! Get the sprite-index for the given state or -1 when no sprite is set
-	virtual s32 getSpriteIndex(gui::EGUI_BUTTON_STATE state) const;
+	virtual s32 getSpriteIndex(gui::EGUI_BUTTON_STATE state) const OVERRIDE_19;
 
 	//! Get the sprite color for the given state. Color is only used when a sprite is set.
-	virtual video::SColor getSpriteColor(gui::EGUI_BUTTON_STATE state) const;
+	virtual video::SColor getSpriteColor(gui::EGUI_BUTTON_STATE state) const OVERRIDE_19;
 
 	//! Returns if the sprite in the given state does loop
-	virtual bool getSpriteLoop(gui::EGUI_BUTTON_STATE state) const;
+	virtual bool getSpriteLoop(gui::EGUI_BUTTON_STATE state) const OVERRIDE_19;
 
 	//! Returns if the sprite in the given state is scaled
-	virtual bool getSpriteScale(gui::EGUI_BUTTON_STATE state) const;
+	virtual bool getSpriteScale(gui::EGUI_BUTTON_STATE state) const OVERRIDE_19;
 
 	//! Sets if the button should behave like a push button. Which means it
 	//! can be in two states: Normal or Pressed. With a click on the button,
@@ -199,13 +210,13 @@ public:
 	virtual bool isScalingImage() const override;
 
 	//! Get if the shift key was pressed in last EGET_BUTTON_CLICKED event
-	virtual bool getClickShiftState() const
+	virtual bool getClickShiftState() const OVERRIDE_19
 	{
 		return ClickShiftState;
 	}
 
 	//! Get if the control key was pressed in last EGET_BUTTON_CLICKED event
-	virtual bool getClickControlState() const
+	virtual bool getClickControlState() const OVERRIDE_19
 	{
 		return ClickControlState;
 	}

+ 6 - 0
src/irrlicht_changes/static_text.cpp

@@ -255,6 +255,12 @@ video::SColor StaticText::getOverrideColor() const
 	return ColoredText.getDefaultColor();
 }
 
+#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR > 8
+video::SColor StaticText::getActiveColor() const
+{
+	return getOverrideColor();
+}
+#endif
 
 //! Sets if the static text should use the overide color or the
 //! color in the gui skin.

+ 5 - 0
src/irrlicht_changes/static_text.h

@@ -140,6 +140,11 @@ namespace gui
 		virtual video::SColor getOverrideColor() const;
 		#endif
 
+		#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR > 8
+		//! Gets the currently used text color
+		virtual video::SColor getActiveColor() const;
+		#endif
+
 		//! Sets if the static text should use the overide color or the
 		//! color in the gui skin.
 		virtual void enableOverrideColor(bool enable);