Remove Irrlicht versioning

This commit is contained in:
sfan5 2024-03-27 12:00:39 +01:00
parent b487341c32
commit d53ef90a73
12 changed files with 2 additions and 133 deletions

@ -4,19 +4,6 @@
#pragma once #pragma once
//! Identifies the IrrlichtMt fork customized for the Minetest engine
#define IRRLICHT_VERSION_MT_REVISION 15
#define IRRLICHT_VERSION_MT "mt15"
//! Irrlicht SDK Version
#define IRRLICHT_VERSION_MAJOR 1
#define IRRLICHT_VERSION_MINOR 9
#define IRRLICHT_VERSION_REVISION 0
// This flag will be defined only in SVN, the official release code will have
// it undefined
#define IRRLICHT_VERSION_SVN alpha
#define IRRLICHT_SDK_VERSION "1.9.0" IRRLICHT_VERSION_MT
#ifdef _WIN32 #ifdef _WIN32
#define IRRCALLCONV __stdcall #define IRRCALLCONV __stdcall
#else #else

@ -194,12 +194,6 @@ public:
/** IrrlichtDevice::run() will always return false after closeDevice() was called. */ /** IrrlichtDevice::run() will always return false after closeDevice() was called. */
virtual void closeDevice() = 0; virtual void closeDevice() = 0;
//! Get the version of the engine.
/** The returned string
will look like this: "1.2.3" or this: "1.2".
\return String which contains the version. */
virtual const c8 *getVersion() const = 0;
//! Sets a new user event receiver which will receive events from the engine. //! Sets a new user event receiver which will receive events from the engine.
/** Return true in IEventReceiver::OnEvent to prevent the event from continuing along /** Return true in IEventReceiver::OnEvent to prevent the event from continuing along
the chain of event receivers. The path that an event takes through the system depends the chain of event receivers. The path that an event takes through the system depends

@ -10,7 +10,6 @@
#include "ILogger.h" #include "ILogger.h"
#include "position2d.h" #include "position2d.h"
#include "path.h" #include "path.h"
#include "IrrCompileConfig.h" // for IRRLICHT_SDK_VERSION
namespace irr namespace irr
{ {
@ -44,7 +43,6 @@ struct SIrrlichtCreationParameters
#else #else
LoggingLevel(ELL_INFORMATION), LoggingLevel(ELL_INFORMATION),
#endif #endif
SDK_version_do_not_use(IRRLICHT_SDK_VERSION),
PrivateData(0), PrivateData(0),
#ifdef IRR_MOBILE_PATHS #ifdef IRR_MOBILE_PATHS
OGLES2ShaderPath("media/Shaders/") OGLES2ShaderPath("media/Shaders/")
@ -54,37 +52,6 @@ struct SIrrlichtCreationParameters
{ {
} }
SIrrlichtCreationParameters(const SIrrlichtCreationParameters &other) :
SDK_version_do_not_use(IRRLICHT_SDK_VERSION)
{
*this = other;
}
SIrrlichtCreationParameters &operator=(const SIrrlichtCreationParameters &other)
{
DeviceType = other.DeviceType;
DriverType = other.DriverType;
WindowSize = other.WindowSize;
WindowPosition = other.WindowPosition;
Bits = other.Bits;
ZBufferBits = other.ZBufferBits;
Fullscreen = other.Fullscreen;
WindowMaximized = other.WindowMaximized;
WindowResizable = other.WindowResizable;
Stencilbuffer = other.Stencilbuffer;
Vsync = other.Vsync;
AntiAlias = other.AntiAlias;
WithAlphaChannel = other.WithAlphaChannel;
Doublebuffer = other.Doublebuffer;
Stereobuffer = other.Stereobuffer;
EventReceiver = other.EventReceiver;
WindowId = other.WindowId;
LoggingLevel = other.LoggingLevel;
PrivateData = other.PrivateData;
OGLES2ShaderPath = other.OGLES2ShaderPath;
return *this;
}
//! Type of the device. //! Type of the device.
/** This setting decides the windowing system used by the device, most device types are native /** This setting decides the windowing system used by the device, most device types are native
to a specific operating system and so may not be available. to a specific operating system and so may not be available.
@ -247,11 +214,6 @@ struct SIrrlichtCreationParameters
*/ */
ELOG_LEVEL LoggingLevel; ELOG_LEVEL LoggingLevel;
//! Don't use or change this parameter.
/** Always set it to IRRLICHT_SDK_VERSION, which is done by default.
This is needed for sdk version checks. */
const c8 *const SDK_version_do_not_use;
//! Define some private data storage. //! Define some private data storage.
/** Used when platform devices need access to OS specific data structures etc. /** Used when platform devices need access to OS specific data structures etc.
This is only used for Android at the moment in order to access the native This is only used for Android at the moment in order to access the native

@ -38,12 +38,6 @@ CIrrDeviceStub::CIrrDeviceStub(const SIrrlichtCreationParameters &params) :
os::Printer::Logger = Logger; os::Printer::Logger = Logger;
FileSystem = io::createFileSystem(); FileSystem = io::createFileSystem();
core::stringc s = "Irrlicht Engine version ";
s.append(getVersion());
os::Printer::log(s.c_str(), ELL_INFORMATION);
checkVersion(params.SDK_version_do_not_use);
} }
CIrrDeviceStub::~CIrrDeviceStub() CIrrDeviceStub::~CIrrDeviceStub()
@ -129,12 +123,6 @@ bool CIrrDeviceStub::setWindowIcon(const video::IImage *img)
return false; return false;
} }
//! Returns the version of the engine.
const char *CIrrDeviceStub::getVersion() const
{
return IRRLICHT_SDK_VERSION;
}
//! \return Returns a pointer to the mouse cursor control interface. //! \return Returns a pointer to the mouse cursor control interface.
gui::ICursorControl *CIrrDeviceStub::getCursorControl() gui::ICursorControl *CIrrDeviceStub::getCursorControl()
{ {
@ -147,24 +135,6 @@ video::IContextManager *CIrrDeviceStub::getContextManager()
return ContextManager; return ContextManager;
} }
//! checks version of sdk and prints warning if there might be a problem
bool CIrrDeviceStub::checkVersion(const char *version)
{
if (strcmp(getVersion(), version)) {
core::stringc w;
w = "Warning: The library version of the Irrlicht Engine (";
w += getVersion();
w += ") does not match the version the application was compiled with (";
w += version;
w += "). This may cause problems.";
os::Printer::log(w.c_str(), ELL_WARNING);
return false;
}
return true;
}
//! Compares to the last call of this function to return double and triple clicks. //! Compares to the last call of this function to return double and triple clicks.
u32 CIrrDeviceStub::checkSuccessiveClicks(s32 mouseX, s32 mouseY, EMOUSE_INPUT_EVENT inputEvent) u32 CIrrDeviceStub::checkSuccessiveClicks(s32 mouseX, s32 mouseY, EMOUSE_INPUT_EVENT inputEvent)
{ {

@ -70,9 +70,6 @@ public:
//! Sets the window icon. //! Sets the window icon.
bool setWindowIcon(const video::IImage *img) override; bool setWindowIcon(const video::IImage *img) override;
//! Returns the version of the engine.
const char *getVersion() const override;
//! send the event to the right receiver //! send the event to the right receiver
bool postEventFromUser(const SEvent &event) override; bool postEventFromUser(const SEvent &event) override;
@ -159,9 +156,6 @@ public:
protected: protected:
void createGUIAndScene(); void createGUIAndScene();
//! checks version of SDK and prints warning if there might be a problem
bool checkVersion(const char *version);
//! Compares to the last call of this function to return double and triple clicks. //! Compares to the last call of this function to return double and triple clicks.
/** Needed for win32 device event handling /** Needed for win32 device event handling
\return Returns only 1,2 or 3. A 4th click will start with 1 again. \return Returns only 1,2 or 3. A 4th click will start with 1 again.

@ -56,20 +56,6 @@ elseif(MSVC)
add_compile_options(/D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING) add_compile_options(/D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING)
endif() endif()
# Sanity-check version
include(CheckCXXSourceCompiles)
set(CMAKE_REQUIRED_INCLUDES ${PROJECT_SOURCE_DIR}/include)
unset(REVISION_SANITY_CHECK CACHE)
check_cxx_source_compiles("#include <IrrCompileConfig.h>\n\
#if IRRLICHT_VERSION_MT_REVISION != ${IRRLICHTMT_REVISION}\n\
#error\n\
#endif\n\
int main() {}" REVISION_SANITY_CHECK)
if(NOT REVISION_SANITY_CHECK)
message(FATAL_ERROR "IrrlichtMt revision number mismatches between CMake and headers.")
endif()
# Platform-independent configuration (hard-coded currently) # Platform-independent configuration (hard-coded currently)
add_definitions( add_definitions(
-DIRR_ENABLE_BUILTIN_FONT -DIRR_ENABLE_BUILTIN_FONT
@ -246,11 +232,12 @@ endif()
# Required libs # Required libs
include(CheckCXXSourceCompiles)
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
find_package(JPEG REQUIRED) find_package(JPEG REQUIRED)
find_package(PNG REQUIRED) find_package(PNG REQUIRED)
if(ENABLE_GLES1) if(ENABLE_GLES1)
# only tested on Android, probably works on Linux (is this needed anywhere else?) # only tested on Android, probably works on Linux (is this needed anywhere else?)
find_library(OPENGLES_LIBRARY NAMES GLESv1_CM REQUIRED) find_library(OPENGLES_LIBRARY NAMES GLESv1_CM REQUIRED)

@ -164,11 +164,7 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args)
while (m_rendering_engine->run() && !*kill && while (m_rendering_engine->run() && !*kill &&
!g_gamecallback->shutdown_requested) { !g_gamecallback->shutdown_requested) {
// Set the window caption // Set the window caption
#if IRRLICHT_VERSION_MT_REVISION >= 15
auto driver_name = m_rendering_engine->getVideoDriver()->getName(); auto driver_name = m_rendering_engine->getVideoDriver()->getName();
#else
auto driver_name = wide_to_utf8(m_rendering_engine->getVideoDriver()->getName());
#endif
std::string caption = std::string(PROJECT_NAME_C) + std::string caption = std::string(PROJECT_NAME_C) +
" " + g_version_hash + " " + g_version_hash +
" [" + gettext("Main Menu") + "]" + " [" + gettext("Main Menu") + "]" +

@ -1478,11 +1478,7 @@ bool Game::createClient(const GameStartData &start_data)
/* Set window caption /* Set window caption
*/ */
#if IRRLICHT_VERSION_MT_REVISION >= 15
auto driver_name = driver->getName(); auto driver_name = driver->getName();
#else
auto driver_name = wide_to_utf8(driver->getName());
#endif
std::string str = std::string(PROJECT_NAME_C) + std::string str = std::string(PROJECT_NAME_C) +
" " + g_version_hash + " ["; " " + g_version_hash + " [";
str += simple_singleplayer_mode ? gettext("Singleplayer") str += simple_singleplayer_mode ? gettext("Singleplayer")

@ -368,7 +368,6 @@ ShaderSource::~ShaderSource()
{ {
MutexAutoLock lock(m_shaderinfo_cache_mutex); MutexAutoLock lock(m_shaderinfo_cache_mutex);
#if IRRLICHT_VERSION_MT_REVISION >= 15
// Delete materials // Delete materials
video::IGPUProgrammingServices *gpu = RenderingEngine::get_video_driver()-> video::IGPUProgrammingServices *gpu = RenderingEngine::get_video_driver()->
getGPUProgrammingServices(); getGPUProgrammingServices();
@ -377,7 +376,6 @@ ShaderSource::~ShaderSource()
gpu->deleteShaderMaterial(i.material); gpu->deleteShaderMaterial(i.material);
} }
m_shaderinfo_cache.clear(); m_shaderinfo_cache.clear();
#endif
} }
u32 ShaderSource::getShader(const std::string &name, u32 ShaderSource::getShader(const std::string &name,
@ -501,7 +499,6 @@ void ShaderSource::rebuildShaders()
{ {
MutexAutoLock lock(m_shaderinfo_cache_mutex); MutexAutoLock lock(m_shaderinfo_cache_mutex);
#if IRRLICHT_VERSION_MT_REVISION >= 15
// Delete materials // Delete materials
video::IGPUProgrammingServices *gpu = RenderingEngine::get_video_driver()-> video::IGPUProgrammingServices *gpu = RenderingEngine::get_video_driver()->
getGPUProgrammingServices(); getGPUProgrammingServices();
@ -511,7 +508,6 @@ void ShaderSource::rebuildShaders()
i.material = video::EMT_SOLID; // invalidate i.material = video::EMT_SOLID; // invalidate
} }
} }
#endif
// Recreate shaders // Recreate shaders
for (ShaderInfo &i : m_shaderinfo_cache) { for (ShaderInfo &i : m_shaderinfo_cache) {

@ -192,12 +192,7 @@ void ShadowRenderer::addNodeToShadowList(
{ {
m_shadow_node_array.emplace_back(node, shadowMode); m_shadow_node_array.emplace_back(node, shadowMode);
// node should never be ClientMap // node should never be ClientMap
#if IRRLICHT_VERSION_MT_REVISION >= 15
assert(!node->getName().has_value() || *node->getName() != "ClientMap"); assert(!node->getName().has_value() || *node->getName() != "ClientMap");
#else
// TODO: Remove this as soon as we require 1.9.0mt15
assert(strcmp(node->getName(), "ClientMap") != 0);
#endif
node->forEachMaterial([this] (auto &mat) { node->forEachMaterial([this] (auto &mat) {
mat.setTexture(TEXTURE_LAYER_SHADOW, shadowMapTextureFinal); mat.setTexture(TEXTURE_LAYER_SHADOW, shadowMapTextureFinal);
}); });

@ -425,9 +425,6 @@ static void print_version(std::ostream &os)
{ {
os << PROJECT_NAME_C " " << g_version_hash os << PROJECT_NAME_C " " << g_version_hash
<< " (" << porting::getPlatformName() << ")" << std::endl; << " (" << porting::getPlatformName() << ")" << std::endl;
#ifndef SERVER
os << "Using Irrlicht " IRRLICHT_SDK_VERSION << std::endl;
#endif
#if USE_LUAJIT #if USE_LUAJIT
os << "Using " << LUAJIT_VERSION << std::endl; os << "Using " << LUAJIT_VERSION << std::endl;
#else #else

@ -996,12 +996,7 @@ int ModApiMainMenu::l_get_active_driver(lua_State *L)
int ModApiMainMenu::l_get_active_renderer(lua_State *L) int ModApiMainMenu::l_get_active_renderer(lua_State *L)
{ {
#if IRRLICHT_VERSION_MT_REVISION >= 15
lua_pushstring(L, RenderingEngine::get_video_driver()->getName()); lua_pushstring(L, RenderingEngine::get_video_driver()->getName());
#else
auto tmp = wide_to_utf8(RenderingEngine::get_video_driver()->getName());
lua_pushstring(L, tmp.c_str());
#endif
return 1; return 1;
} }