diff --git a/src/iirrlichtwrapper.h b/src/iirrlichtwrapper.h new file mode 100644 index 0000000000000000000000000000000000000000..47ae21ee9fffe3ca929cb73cc94eda05aa3e3db7 --- /dev/null +++ b/src/iirrlichtwrapper.h @@ -0,0 +1,55 @@ +/* +Minetest-c55 +Copyright (C) 2010 celeron55, Perttu Ahola <celeron55@gmail.com> + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#ifndef IIRRLICHTWRAPPER_HEADER +#define IIRRLICHTWRAPPER_HEADER + +#include "common_irrlicht.h" + +/* + IrrlichtWrapper prototype. + + Server supplies this as a dummy wrapper. +*/ + +class IIrrlichtWrapper +{ +public: + IIrrlichtWrapper() + { + } + virtual ~IIrrlichtWrapper() + { + } + + virtual u32 getTime() + { + return 0; + } + + virtual textureid_t getTextureId(const std::string &name){ return 0; } + virtual std::string getTextureName(textureid_t id){ return ""; } + virtual video::ITexture* getTexture(const std::string &name){ return NULL; } + virtual video::ITexture* getTexture(const TextureSpec &spec){ return NULL; } + +private: +}; + +#endif + diff --git a/src/irrlichtwrapper.h b/src/irrlichtwrapper.h index a695bd1e4e5fc9d1df1b2d6cdf5d2c7bac83e0cb..225ae34021fc8680e98d5a4137002f13377def42 100644 --- a/src/irrlichtwrapper.h +++ b/src/irrlichtwrapper.h @@ -25,6 +25,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "debug.h" #include "utility.h" #include "texture.h" +#include "iirrlichtwrapper.h" #include <jmutex.h> #include <jmutexautolock.h> @@ -125,7 +126,7 @@ class TextureCache Also caches texture specification strings to ids and textures. */ -class IrrlichtWrapper +class IrrlichtWrapper : public IIrrlichtWrapper { public: /* diff --git a/src/mapnode.cpp b/src/mapnode.cpp index d197454fee0b25098ec80a4958b53d6c99ff1ac3..b2d579d5d9e6356f0ed02bd54aeb09b4d56d548f 100644 --- a/src/mapnode.cpp +++ b/src/mapnode.cpp @@ -36,7 +36,7 @@ ContentFeatures & content_features(u8 i) return g_content_features[i]; } -void init_mapnode(IrrlichtWrapper *irrlicht) +void init_mapnode(IIrrlichtWrapper *irrlicht) { u8 i; ContentFeatures *f = NULL; diff --git a/src/mapnode.h b/src/mapnode.h index 0c52681be02df2d052ce8bfbb6d564c6d4fb59c5..07153f934649b1673f4f65e7487734e39e98c90f 100644 --- a/src/mapnode.h +++ b/src/mapnode.h @@ -27,7 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "exceptions.h" #include "serialization.h" #include "tile.h" -#include "irrlichtwrapper.h" +#include "iirrlichtwrapper.h" /* Initializes all kind of stuff in here. @@ -35,7 +35,7 @@ with this program; if not, write to the Free Software Foundation, Inc., irrlicht: Used for getting texture ids. */ -void init_mapnode(IrrlichtWrapper *irrlicht); +void init_mapnode(IIrrlichtWrapper *irrlicht); // Initializes g_content_inventory_texture_paths void init_content_inventory_texture_paths(); diff --git a/src/mineral.cpp b/src/mineral.cpp index 4f658db48de09ffd0a673081885111e35816ec8d..c333ae6f5d988c93addc249d1d2019b5faa5b223 100644 --- a/src/mineral.cpp +++ b/src/mineral.cpp @@ -19,7 +19,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "mineral.h" -#ifndef SERVER const char *mineral_filenames[MINERAL_COUNT] = { @@ -30,7 +29,7 @@ const char *mineral_filenames[MINERAL_COUNT] = textureid_t mineral_textures[MINERAL_COUNT] = {0}; -void init_mineral(IrrlichtWrapper *irrlicht) +void init_mineral(IIrrlichtWrapper *irrlicht) { for(u32 i=0; i<MINERAL_COUNT; i++) { @@ -48,6 +47,5 @@ textureid_t mineral_block_texture(u8 mineral) return mineral_textures[mineral]; } -#endif diff --git a/src/mineral.h b/src/mineral.h index 6c10c2256ef3160a52b51e0ca1f878befcf47c5a..c663d92757e63cd5f6114871eaa055feb47038e7 100644 --- a/src/mineral.h +++ b/src/mineral.h @@ -22,7 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "inventory.h" #include "texture.h" -#include "irrlichtwrapper.h" +#include "iirrlichtwrapper.h" /* Minerals @@ -31,10 +31,8 @@ with this program; if not, write to the Free Software Foundation, Inc., type param. */ -#ifndef SERVER // Caches textures -void init_mineral(IrrlichtWrapper *irrlicht); -#endif +void init_mineral(IIrrlichtWrapper *irrlicht); #define MINERAL_NONE 0 #define MINERAL_COAL 1 diff --git a/src/servermain.cpp b/src/servermain.cpp index d5be5b8acebe0ad355c75d0bc1408334e533ccd3..5409fcfb3988a4c5fca0cd80a1cefc8215cfac01 100644 --- a/src/servermain.cpp +++ b/src/servermain.cpp @@ -68,6 +68,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "porting.h" #include "materials.h" #include "config.h" +#include "mineral.h" /* Settings. @@ -255,7 +256,13 @@ int main(int argc, char *argv[]) { run_tests(); } + + // Initialize stuff + IIrrlichtWrapper irrlicht; // Dummy + init_mapnode(&irrlicht); + init_mineral(&irrlicht); + // Read map parameters from settings HMParams hm_params;