forked from Mirrorlandia_minetest/minetest
might work good on cmake+msvc now
This commit is contained in:
parent
95c88d258b
commit
a0e8f3afd3
@ -77,12 +77,13 @@ set(CPACK_PACKAGE_CONTACT "Perttu Ahola <celeron55@gmail.com>")
|
|||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
# For some reason these aren't copied otherwise
|
# For some reason these aren't copied otherwise
|
||||||
if(BUILD_CLIENT)
|
# NOTE: For some reason now it seems to work without these
|
||||||
install(FILES bin/minetest.exe DESTINATION bin)
|
#if(BUILD_CLIENT)
|
||||||
endif()
|
# install(FILES bin/minetest.exe DESTINATION bin)
|
||||||
if(BUILD_SERVER)
|
#endif()
|
||||||
install(FILES bin/minetestserver.exe DESTINATION bin)
|
#if(BUILD_SERVER)
|
||||||
endif()
|
# install(FILES bin/minetestserver.exe DESTINATION bin)
|
||||||
|
#endif()
|
||||||
|
|
||||||
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION_STRING}-win32")
|
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION_STRING}-win32")
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ endif()
|
|||||||
|
|
||||||
FIND_PATH(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
|
FIND_PATH(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
|
||||||
PATHS
|
PATHS
|
||||||
"${IRRLICHT_SOURCE_DIR_INCLUDE}"
|
${IRRLICHT_SOURCE_DIR_INCLUDE}
|
||||||
/usr/local/include/irrlicht
|
/usr/local/include/irrlicht
|
||||||
/usr/include/irrlicht
|
/usr/include/irrlicht
|
||||||
)
|
)
|
||||||
@ -31,7 +31,7 @@ FIND_PATH(IRRLICHT_INCLUDE_DIR NAMES irrlicht.h
|
|||||||
|
|
||||||
FIND_LIBRARY(IRRLICHT_LIBRARY NAMES libIrrlicht.a Irrlicht
|
FIND_LIBRARY(IRRLICHT_LIBRARY NAMES libIrrlicht.a Irrlicht
|
||||||
PATHS
|
PATHS
|
||||||
"${IRRLICHT_SOURCE_DIR_LIBS}"
|
${IRRLICHT_SOURCE_DIR_LIBS}
|
||||||
/usr/local/lib
|
/usr/local/lib
|
||||||
/usr/lib
|
/usr/lib
|
||||||
)
|
)
|
||||||
|
BIN
data/stone.png
BIN
data/stone.png
Binary file not shown.
Before Width: | Height: | Size: 951 B After Width: | Height: | Size: 1.5 KiB |
@ -1,7 +1,7 @@
|
|||||||
Minetest-c55
|
Minetest-c55
|
||||||
---------------
|
---------------
|
||||||
An InfiniMiner/Minecraft inspired game.
|
An InfiniMiner/Minecraft inspired game.
|
||||||
Copyright (c) 2010 Perttu Ahola <celeron55@gmail.com>
|
Copyright (c) 2010-2011 Perttu Ahola <celeron55@gmail.com>
|
||||||
|
|
||||||
This is a development version:
|
This is a development version:
|
||||||
------------------------------
|
------------------------------
|
||||||
@ -9,11 +9,6 @@ This is a development version:
|
|||||||
- Please report any bugs to me. That way I can fix them to the next release.
|
- Please report any bugs to me. That way I can fix them to the next release.
|
||||||
- debug.txt is useful when the game crashes.
|
- debug.txt is useful when the game crashes.
|
||||||
|
|
||||||
Public servers:
|
|
||||||
---------------
|
|
||||||
kray.dy.fi :30000 (friend's server)
|
|
||||||
celeron.55.lt :30000 (my own server)
|
|
||||||
|
|
||||||
Controls:
|
Controls:
|
||||||
---------
|
---------
|
||||||
- See the in-game pause menu
|
- See the in-game pause menu
|
||||||
@ -22,7 +17,7 @@ Map directory:
|
|||||||
--------------
|
--------------
|
||||||
- Map is stored in a directory, which can be removed to generate a new map.
|
- Map is stored in a directory, which can be removed to generate a new map.
|
||||||
- There is a command-line option for it: --map-dir
|
- There is a command-line option for it: --map-dir
|
||||||
- As default, it is located in:
|
- For a RUN_IN_PLACE build, it is located in:
|
||||||
../map
|
../map
|
||||||
- Otherwise something like this:
|
- Otherwise something like this:
|
||||||
Windows: C:\Documents and Settings\user\Application Data\minetest\map
|
Windows: C:\Documents and Settings\user\Application Data\minetest\map
|
||||||
@ -35,7 +30,7 @@ Configuration file:
|
|||||||
- Path to file can be passed as a parameter to the executable:
|
- Path to file can be passed as a parameter to the executable:
|
||||||
--config <path-to-file>
|
--config <path-to-file>
|
||||||
- Defaults:
|
- Defaults:
|
||||||
- If built with -DRUN_IN_PLACE:
|
- If built with -DRUN_IN_PLACE=1:
|
||||||
../minetest.conf
|
../minetest.conf
|
||||||
../../minetest.conf
|
../../minetest.conf
|
||||||
- Otherwise something like this:
|
- Otherwise something like this:
|
||||||
@ -73,21 +68,89 @@ $ ./minetest
|
|||||||
- Note that the Debug build is considerably slower
|
- Note that the Debug build is considerably slower
|
||||||
|
|
||||||
Compiling on Windows:
|
Compiling on Windows:
|
||||||
- NOTE: Seems that the CMake build system produces executables that don't work
|
---------------------
|
||||||
for many people. The old build system is still included, but it's not
|
|
||||||
documented anywhere.
|
- You need:
|
||||||
- You need CMake, Irrlicht, Zlib and Visual Studio or MinGW
|
* CMake:
|
||||||
- you can get zlibwapi.lib from a file called zlib125dll.zip
|
http://www.cmake.org/cmake/resources/software.html
|
||||||
- NOTE: Probably it will not work easily and you will need to fix some stuff.
|
* MinGW or Visual Studio
|
||||||
|
http://www.mingw.org/
|
||||||
|
http://msdn.microsoft.com/en-us/vstudio/default
|
||||||
|
* Irrlicht SDK 1.7:
|
||||||
|
http://irrlicht.sourceforge.net/downloads.html
|
||||||
|
* Zlib headers (zlib125.zip)
|
||||||
|
http://www.winimage.com/zLibDll/index.html
|
||||||
|
* Zlib library (zlibwapi.lib and zlibwapi.dll from zlib125dll.zip):
|
||||||
|
http://www.winimage.com/zLibDll/index.html
|
||||||
|
* And, of course, Minetest-c55:
|
||||||
|
http://celeron.55.lt/~celeron55/minetest/download
|
||||||
- Steps:
|
- Steps:
|
||||||
|
- Select a directory called DIR hereafter in which you will operate.
|
||||||
|
- Make sure you have CMake and a compiler installed.
|
||||||
|
- Download all the other stuff to DIR and extract them into there. All those
|
||||||
|
packages contain a nice base directory in them, which should end up being
|
||||||
|
the direct subdirectories of DIR.
|
||||||
|
- You will end up with a directory structure like this (+=dir, -=file):
|
||||||
|
-----------------
|
||||||
|
+ DIR
|
||||||
|
- zlib-1.2.5.tar.gz
|
||||||
|
- zlib125dll.zip
|
||||||
|
- irrlicht-1.7.1.zip
|
||||||
|
- 110214175330.zip (or whatever, this is the minetest source)
|
||||||
|
+ zlib-1.2.5
|
||||||
|
- zlib.h
|
||||||
|
+ win32
|
||||||
|
...
|
||||||
|
+ zlib125dll
|
||||||
|
- readme.txt
|
||||||
|
+ dll32
|
||||||
|
...
|
||||||
|
+ irrlicht-1.7.1
|
||||||
|
+ lib
|
||||||
|
+ include
|
||||||
|
...
|
||||||
|
+ minetest
|
||||||
|
+ src
|
||||||
|
+ doc
|
||||||
|
- CMakeLists.txt
|
||||||
|
...
|
||||||
|
-----------------
|
||||||
- Start up the CMake GUI
|
- Start up the CMake GUI
|
||||||
|
- Select "Browse Source..." and select DIR/minetest
|
||||||
|
- Now, if using MSVC:
|
||||||
|
- Select "Browse Build..." and select DIR/minetest-build
|
||||||
|
- Else if using MinGW:
|
||||||
|
- Select "Browse Build..." and select DIR/minetest
|
||||||
|
- Select "Configure"
|
||||||
- Select your compiler
|
- Select your compiler
|
||||||
- Hit "Configure"
|
- It will warn about missing stuff, ignore that at this point. (later don't)
|
||||||
- Set up some options and paths
|
- Make sure the configuration is as follows
|
||||||
|
(note that the versions may differ for you):
|
||||||
|
-----------------
|
||||||
|
BUILD_CLIENT [X]
|
||||||
|
BUILD_SERVER [ ]
|
||||||
|
CMAKE_BUILD_TYPE Release
|
||||||
|
CMAKE_INSTALL_PREFIX DIR/minetest-install
|
||||||
|
IRRLICHT_SOURCE_DIR DIR/irrlicht-1.7.1
|
||||||
|
RUN_IN_PLACE [X]
|
||||||
|
WARN_ALL [ ]
|
||||||
|
ZLIB_DLL DIR/zlib125dll/dll32/zlibwapi.dll
|
||||||
|
ZLIB_INCLUDE_DIR DIR/zlib-1.2.5
|
||||||
|
ZLIB_LIBRARIES DIR/zlib125dll/dll32/zlibwapi.lib
|
||||||
|
-----------------
|
||||||
- Hit "Configure"
|
- Hit "Configure"
|
||||||
- Hit "Generate"
|
- Hit "Generate"
|
||||||
- MSVC: Open the generated .sln and build it
|
If using MSVC:
|
||||||
MinGW: Browse to the build directory and run 'make'
|
- Open the generated minetest.sln
|
||||||
|
- Build the ALL_BUILD project
|
||||||
|
- Build the INSTALL project
|
||||||
|
- You should now have a working game executable in
|
||||||
|
DIR/minetest-install/bin/minetest.exe
|
||||||
|
- Additionally you may create a zip package by building the PACKAGE project.
|
||||||
|
If using MinGW:
|
||||||
|
- Using a command line, browse to the build directory and run 'make'
|
||||||
|
- You should now have a working game executable in
|
||||||
|
DIR/minetest/bin/minetest.exe
|
||||||
|
|
||||||
License of Minetest-c55
|
License of Minetest-c55
|
||||||
-----------------------
|
-----------------------
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
#new_style_water = true
|
#new_style_water = true
|
||||||
#new_style_leaves = true
|
#new_style_leaves = true
|
||||||
#frametime_graph = false
|
#frametime_graph = false
|
||||||
|
#enable_texture_atlas = true
|
||||||
|
#texture_path =
|
||||||
|
|
||||||
# Server side stuff
|
# Server side stuff
|
||||||
|
|
||||||
|
@ -5,7 +5,9 @@ if(RUN_IN_PLACE)
|
|||||||
add_definitions ( -DRUN_IN_PLACE )
|
add_definitions ( -DRUN_IN_PLACE )
|
||||||
endif(RUN_IN_PLACE)
|
endif(RUN_IN_PLACE)
|
||||||
|
|
||||||
set(USE_GPROF 0 CACHE BOOL "Use -pg flag for g++")
|
if(NOT MSVC)
|
||||||
|
set(USE_GPROF 0 CACHE BOOL "Use -pg flag for g++")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Use cmake_config.h
|
# Use cmake_config.h
|
||||||
add_definitions ( -DUSE_CMAKE_CONFIG_H )
|
add_definitions ( -DUSE_CMAKE_CONFIG_H )
|
||||||
@ -22,9 +24,9 @@ if(WIN32)
|
|||||||
set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5"
|
set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5"
|
||||||
CACHE PATH "Zlib include directory")
|
CACHE PATH "Zlib include directory")
|
||||||
set(ZLIB_LIBRARIES "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.lib"
|
set(ZLIB_LIBRARIES "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.lib"
|
||||||
CACHE PATH "Path to zlibwapi.lib")
|
CACHE FILEPATH "Path to zlibwapi.lib")
|
||||||
set(ZLIB_DLL "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.dll"
|
set(ZLIB_DLL "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.dll"
|
||||||
CACHE PATH "Path to zlibwapi.dll (for installation)")
|
CACHE FILEPATH "Path to zlibwapi.dll (for installation)")
|
||||||
else()
|
else()
|
||||||
# Unix probably
|
# Unix probably
|
||||||
if(BUILD_CLIENT)
|
if(BUILD_CLIENT)
|
||||||
@ -149,7 +151,7 @@ if(MSVC)
|
|||||||
|
|
||||||
if(BUILD_SERVER)
|
if(BUILD_SERVER)
|
||||||
set_target_properties(minetestserver PROPERTIES
|
set_target_properties(minetestserver PROPERTIES
|
||||||
COMPILE_FLAGS "/D SERVER")
|
COMPILE_DEFINITIONS "/D SERVER")
|
||||||
endif(BUILD_SERVER)
|
endif(BUILD_SERVER)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
@ -170,7 +172,7 @@ else()
|
|||||||
|
|
||||||
if(BUILD_SERVER)
|
if(BUILD_SERVER)
|
||||||
set_target_properties(minetestserver PROPERTIES
|
set_target_properties(minetestserver PROPERTIES
|
||||||
COMPILE_FLAGS "-DSERVER")
|
COMPILE_DEFINITIONS "-DSERVER")
|
||||||
endif(BUILD_SERVER)
|
endif(BUILD_SERVER)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
@ -42,6 +42,8 @@ void set_default_settings()
|
|||||||
g_settings.setDefault("new_style_water", "false");
|
g_settings.setDefault("new_style_water", "false");
|
||||||
g_settings.setDefault("new_style_leaves", "true");
|
g_settings.setDefault("new_style_leaves", "true");
|
||||||
g_settings.setDefault("frametime_graph", "false");
|
g_settings.setDefault("frametime_graph", "false");
|
||||||
|
g_settings.setDefault("enable_texture_atlas", "true");
|
||||||
|
g_settings.setDefault("texture_path", "");
|
||||||
|
|
||||||
g_settings.setDefault("free_move", "false");
|
g_settings.setDefault("free_move", "false");
|
||||||
g_settings.setDefault("continuous_forward", "false");
|
g_settings.setDefault("continuous_forward", "false");
|
||||||
|
27
src/tile.cpp
27
src/tile.cpp
@ -19,6 +19,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||||||
|
|
||||||
#include "tile.h"
|
#include "tile.h"
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
#include "main.h" // for g_settings
|
||||||
|
|
||||||
|
inline std::string getTexturePath(std::string filename)
|
||||||
|
{
|
||||||
|
std::string texture_path = g_settings.get("texture_path");
|
||||||
|
if(texture_path == "")
|
||||||
|
return porting::getDataPath(filename.c_str());
|
||||||
|
else
|
||||||
|
return texture_path + '/' + filename;
|
||||||
|
}
|
||||||
|
|
||||||
TextureSource::TextureSource(IrrlichtDevice *device):
|
TextureSource::TextureSource(IrrlichtDevice *device):
|
||||||
m_device(device),
|
m_device(device),
|
||||||
@ -36,7 +46,10 @@ TextureSource::TextureSource(IrrlichtDevice *device):
|
|||||||
m_name_to_id[""] = 0;
|
m_name_to_id[""] = 0;
|
||||||
|
|
||||||
// Build main texture atlas
|
// Build main texture atlas
|
||||||
buildMainAtlas();
|
if(g_settings.getBool("enable_texture_atlas"))
|
||||||
|
buildMainAtlas();
|
||||||
|
else
|
||||||
|
dstream<<"INFO: Not building texture atlas."<<std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
TextureSource::~TextureSource()
|
TextureSource::~TextureSource()
|
||||||
@ -412,7 +425,7 @@ void TextureSource::buildMainAtlas()
|
|||||||
std::string name = sourcelist[i];
|
std::string name = sourcelist[i];
|
||||||
|
|
||||||
/*video::IImage *img = driver->createImageFromFile(
|
/*video::IImage *img = driver->createImageFromFile(
|
||||||
porting::getDataPath(name.c_str()).c_str());
|
getTexturePath(name.c_str()).c_str());
|
||||||
if(img == NULL)
|
if(img == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -517,7 +530,7 @@ void TextureSource::buildMainAtlas()
|
|||||||
Write image to file so that it can be inspected
|
Write image to file so that it can be inspected
|
||||||
*/
|
*/
|
||||||
/*driver->writeImageToFile(atlas_img,
|
/*driver->writeImageToFile(atlas_img,
|
||||||
porting::getDataPath("main_atlas.png").c_str());*/
|
getTexturePath("main_atlas.png").c_str());*/
|
||||||
}
|
}
|
||||||
|
|
||||||
video::IImage* generate_image_from_scratch(std::string name,
|
video::IImage* generate_image_from_scratch(std::string name,
|
||||||
@ -596,7 +609,7 @@ bool generate_image(std::string part_of_name, video::IImage *& baseimg,
|
|||||||
if(part_of_name[0] != '[')
|
if(part_of_name[0] != '[')
|
||||||
{
|
{
|
||||||
// A normal texture; load it from a file
|
// A normal texture; load it from a file
|
||||||
std::string path = porting::getDataPath(part_of_name.c_str());
|
std::string path = getTexturePath(part_of_name.c_str());
|
||||||
dstream<<"INFO: getTextureIdDirect(): Loading path \""<<path
|
dstream<<"INFO: getTextureIdDirect(): Loading path \""<<path
|
||||||
<<"\""<<std::endl;
|
<<"\""<<std::endl;
|
||||||
|
|
||||||
@ -710,7 +723,7 @@ bool generate_image(std::string part_of_name, video::IImage *& baseimg,
|
|||||||
core::position2d<s32> pos_other(0, 16 * progression);
|
core::position2d<s32> pos_other(0, 16 * progression);
|
||||||
|
|
||||||
video::IImage *crackimage = driver->createImageFromFile(
|
video::IImage *crackimage = driver->createImageFromFile(
|
||||||
porting::getDataPath("crack.png").c_str());
|
getTexturePath("crack.png").c_str());
|
||||||
|
|
||||||
if(crackimage)
|
if(crackimage)
|
||||||
{
|
{
|
||||||
@ -755,7 +768,7 @@ bool generate_image(std::string part_of_name, video::IImage *& baseimg,
|
|||||||
<<"\" to combined ("<<x<<","<<y<<")"
|
<<"\" to combined ("<<x<<","<<y<<")"
|
||||||
<<std::endl;
|
<<std::endl;
|
||||||
video::IImage *img = driver->createImageFromFile(
|
video::IImage *img = driver->createImageFromFile(
|
||||||
porting::getDataPath(filename.c_str()).c_str());
|
getTexturePath(filename.c_str()).c_str());
|
||||||
if(img)
|
if(img)
|
||||||
{
|
{
|
||||||
core::dimension2d<u32> dim = img->getDimension();
|
core::dimension2d<u32> dim = img->getDimension();
|
||||||
@ -814,7 +827,7 @@ bool generate_image(std::string part_of_name, video::IImage *& baseimg,
|
|||||||
|
|
||||||
std::string filename = part_of_name.substr(9);
|
std::string filename = part_of_name.substr(9);
|
||||||
|
|
||||||
std::string path = porting::getDataPath(filename.c_str());
|
std::string path = getTexturePath(filename.c_str());
|
||||||
|
|
||||||
dstream<<"INFO: getTextureIdDirect(): Loading path \""<<path
|
dstream<<"INFO: getTextureIdDirect(): Loading path \""<<path
|
||||||
<<"\""<<std::endl;
|
<<"\""<<std::endl;
|
||||||
|
Loading…
Reference in New Issue
Block a user