aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2010-12-14 01:56:24 +0200
committerPerttu Ahola <celeron55@gmail.com>2010-12-14 01:56:24 +0200
commit6129e31b96f31521a79f5dfd7968f0cf0decb200 (patch)
treea8369cc5d835e6fd762f7763a365a68160024e3f
parent47f76d8a5122767337f0c7b75c5c44a01c418141 (diff)
downloadminetest-6129e31b96f31521a79f5dfd7968f0cf0decb200.tar.gz
minetest-6129e31b96f31521a79f5dfd7968f0cf0decb200.tar.bz2
minetest-6129e31b96f31521a79f5dfd7968f0cf0decb200.zip
better graphics, zlib to work on vc++
-rw-r--r--Makefile2
-rw-r--r--bin/zlibwapi.dllbin0 -> 141312 bytes
-rw-r--r--data/grass.pngbin910 -> 1683 bytes
-rw-r--r--data/grass_footsteps.pngbin835 -> 1609 bytes
-rw-r--r--data/mud_with_grass.pngbin1597 -> 1596 bytes
-rw-r--r--data/skybox1.pngbin20306 -> 19476 bytes
-rw-r--r--data/skybox1_source.pngbin0 -> 5477 bytes
-rw-r--r--data/stone.pngbin847 -> 1609 bytes
-rw-r--r--doc/README.txt7
-rw-r--r--minetest.conf.example2
-rw-r--r--minetest.vcproj12
-rw-r--r--src/inventory.h24
-rw-r--r--src/main.cpp5
-rw-r--r--src/map.cpp7
-rw-r--r--src/mapblock.cpp2
-rw-r--r--src/mapnode.h25
-rw-r--r--src/serialization.cpp3
-rw-r--r--src/server.cpp16
18 files changed, 73 insertions, 32 deletions
diff --git a/Makefile b/Makefile
index 3985bdbc5..2bdc9c3f0 100644
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,7 @@ endif
# Target specific settings
-all_linux fast_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L$(IRRLICHTPATH)/lib/Linux -L$(JTHREADPATH)/src/.libs -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -ljthread
+all_linux fast_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L$(IRRLICHTPATH)/lib/Linux -L$(JTHREADPATH)/src/.libs -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -ljthread -lz
all_linux fast_linux clean_linux: SYSTEM=Linux
all_win32: LDFLAGS = -L$(IRRLICHTPATH)/lib/Win32-gcc -L$(JTHREADPATH)/Debug -lIrrlicht -lopengl32 -lm -ljthread
diff --git a/bin/zlibwapi.dll b/bin/zlibwapi.dll
new file mode 100644
index 000000000..b0d1cde51
--- /dev/null
+++ b/bin/zlibwapi.dll
Binary files differ
diff --git a/data/grass.png b/data/grass.png
index 56362053f..30ef38591 100644
--- a/data/grass.png
+++ b/data/grass.png
Binary files differ
diff --git a/data/grass_footsteps.png b/data/grass_footsteps.png
index 36573ada2..26bd236c5 100644
--- a/data/grass_footsteps.png
+++ b/data/grass_footsteps.png
Binary files differ
diff --git a/data/mud_with_grass.png b/data/mud_with_grass.png
index fe0d0af9b..60ae4eec2 100644
--- a/data/mud_with_grass.png
+++ b/data/mud_with_grass.png
Binary files differ
diff --git a/data/skybox1.png b/data/skybox1.png
index b774ed013..202e40eba 100644
--- a/data/skybox1.png
+++ b/data/skybox1.png
Binary files differ
diff --git a/data/skybox1_source.png b/data/skybox1_source.png
new file mode 100644
index 000000000..642e89ce4
--- /dev/null
+++ b/data/skybox1_source.png
Binary files differ
diff --git a/data/stone.png b/data/stone.png
index 7b578215a..daf2cceb8 100644
--- a/data/stone.png
+++ b/data/stone.png
Binary files differ
diff --git a/doc/README.txt b/doc/README.txt
index ea84a6bec..0cb31da38 100644
--- a/doc/README.txt
+++ b/doc/README.txt
@@ -53,10 +53,14 @@ Compiling on GNU/Linux:
http://downloads.sourceforge.net/irrlicht/irrlicht-1.7.2.zip
* JThread:
http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jthread
-- Neither of which can probably be found from your distro's repository.
+* zlib:
+ - Get the -dev package from your package manager.
+- Irrlicht and JThread are very likely not to be found from your distro's
+ repository.
- Compiling each of them should be fairly unproblematic, though.
Compiling on Windows:
+- You need Irrlicht, JThread and zlib, see above
- Be sure to
#define JMUTEX_CRITICALSECTION
in jmutex.h before compiling it. Otherwise mutexes will be very slow.
@@ -81,7 +85,6 @@ 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.
-
Irrlicht
---------------
diff --git a/minetest.conf.example b/minetest.conf.example
index 3a1226b1a..a193a8aac 100644
--- a/minetest.conf.example
+++ b/minetest.conf.example
@@ -14,7 +14,7 @@
#wanted_fps = 30
#fps_max = 60
#viewing_range_nodes_max = 300
-#viewing_range_nodes_min = 20
+#viewing_range_nodes_min = 50
#screenW =
#screenH =
#host_game =
diff --git a/minetest.vcproj b/minetest.vcproj
index 6ebfaee7f..774987a7a 100644
--- a/minetest.vcproj
+++ b/minetest.vcproj
@@ -117,7 +117,7 @@
FavorSizeOrSpeed="1"
OmitFramePointers="true"
WholeProgramOptimization="true"
- AdditionalIncludeDirectories="&quot;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include&quot;;&quot;..\jthread\jthread-1.2.1\src&quot;;&quot;..\irrlicht\irrlicht-1.7.1\include&quot;"
+ AdditionalIncludeDirectories="&quot;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include&quot;;&quot;..\jthread\jthread-1.2.1\src&quot;;&quot;..\irrlicht\irrlicht-1.7.1\include&quot;;&quot;..\zlib\zlib-1.2.5&quot;"
PreprocessorDefinitions="WIN32;_HAS_ITERATOR_DEBUGGING=0,UNITTEST_DISABLE,_CRT_SECURE_NO_DEPRECATE"
BufferSecurityCheck="false"
EnableEnhancedInstructionSet="1"
@@ -135,7 +135,7 @@
/>
<Tool
Name="VCLinkerTool"
- AdditionalLibraryDirectories="&quot;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib&quot;;&quot;..\jthread\jthread-1.2.1\Release&quot;;&quot;..\irrlicht\irrlicht-1.7.1\lib\Win32-visualstudio&quot;"
+ AdditionalLibraryDirectories="&quot;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib&quot;;&quot;..\jthread\jthread-1.2.1\Release&quot;;&quot;..\irrlicht\irrlicht-1.7.1\lib\Win32-visualstudio&quot;;..\zlib125dll\dll32"
IgnoreDefaultLibraryNames="libcmtd.lib"
GenerateDebugInformation="false"
LinkTimeCodeGeneration="1"
@@ -223,6 +223,10 @@
>
</File>
<File
+ RelativePath=".\src\mapnode.cpp"
+ >
+ </File>
+ <File
RelativePath=".\src\mapsector.cpp"
>
</File>
@@ -247,6 +251,10 @@
>
</File>
<File
+ RelativePath=".\src\tile.cpp"
+ >
+ </File>
+ <File
RelativePath=".\src\utility.cpp"
>
</File>
diff --git a/src/inventory.h b/src/inventory.h
index 1fab9d027..50f3247c3 100644
--- a/src/inventory.h
+++ b/src/inventory.h
@@ -59,9 +59,9 @@ private:
class MaterialItem : public InventoryItem
{
public:
- MaterialItem(u8 material, u16 count)
+ MaterialItem(u8 content, u16 count)
{
- m_material = material;
+ m_content = content;
m_count = count;
}
/*
@@ -76,18 +76,26 @@ public:
//os.imbue(std::locale("C"));
os<<getName();
os<<" ";
- os<<(unsigned int)m_material;
+ os<<(unsigned int)m_content;
os<<" ";
os<<m_count;
}
virtual InventoryItem* clone()
{
- return new MaterialItem(m_material, m_count);
+ return new MaterialItem(m_content, m_count);
}
video::ITexture * getImage()
{
- u16 tile = content_tile(m_material, v3s16(1,0,0));
- return g_tile_materials[tile].getTexture(0);
+ /*if(m_content == CONTENT_TORCH)
+ return g_texturecache.get("torch_on_floor");
+
+ u16 tile = content_tile(m_content, v3s16(1,0,0));
+ return g_tile_contents[tile].getTexture(0);*/
+
+ if(m_content >= USEFUL_CONTENT_COUNT)
+ return NULL;
+
+ return g_texturecache.get(g_content_inventory_textures[m_content]);
}
std::string getText()
{
@@ -100,7 +108,7 @@ public:
*/
u8 getMaterial()
{
- return m_material;
+ return m_content;
}
u16 getCount()
{
@@ -123,7 +131,7 @@ public:
m_count -= count;
}
private:
- u8 m_material;
+ u8 m_content;
u16 m_count;
};
diff --git a/src/main.cpp b/src/main.cpp
index 49973e99c..3424266ef 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -219,6 +219,7 @@ TODO: A mapper to map contents to tile names (for each side)
#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(lib, "jthread.lib")
+#pragma comment(lib, "zlibwapi.lib")
// This would get rid of the console window
//#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
#endif
@@ -310,7 +311,7 @@ void set_default_settings()
g_settings.set("wanted_fps", "30");
g_settings.set("fps_max", "60");
g_settings.set("viewing_range_nodes_max", "300");
- g_settings.set("viewing_range_nodes_min", "20");
+ g_settings.set("viewing_range_nodes_min", "50");
g_settings.set("screenW", "");
g_settings.set("screenH", "");
g_settings.set("host_game", "");
@@ -1934,7 +1935,7 @@ int main(int argc, char *argv[])
/*
Meta-objects
*/
- if(n.d == CONTENT_LIGHT)
+ if(n.d == CONTENT_TORCH)
{
v3s16 dir = unpackDir(n.dir);
v3f dir_f = v3f(dir.X, dir.Y, dir.Z);
diff --git a/src/map.cpp b/src/map.cpp
index 213404a07..b1e7da29a 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -1846,10 +1846,9 @@ MapBlock * ServerMap::emergeBlock(
//float min_slope = 0.45;
//float max_slope = 0.85;
- float min_slope = 0.70;
+ float min_slope = 0.60;
float max_slope = 1.20;
- float min_slope_depth = 4.0;
- //float min_slope_depth = 5.0;
+ float min_slope_depth = 5.0;
float max_slope_depth = 0;
if(slope < min_slope)
surface_depth = min_slope_depth;
@@ -2091,7 +2090,7 @@ MapBlock * ServerMap::emergeBlock(
p + v3s16(0,0,0), &changed_blocks_sector))
{
MapNode n;
- n.d = CONTENT_LIGHT;
+ n.d = CONTENT_TORCH;
sector->setNode(p, n);
objects_to_remove.push_back(p);
}
diff --git a/src/mapblock.cpp b/src/mapblock.cpp
index 6dd524edd..e2e36c8e3 100644
--- a/src/mapblock.cpp
+++ b/src/mapblock.cpp
@@ -551,7 +551,7 @@ void MapBlock::updateMesh()
MapNode &n = getNodeRef(x,y,z);
- if(n.d == CONTENT_LIGHT)
+ if(n.d == CONTENT_TORCH)
{
//scene::IMeshBuffer *buf = new scene::SMeshBuffer();
scene::SMeshBuffer *buf = new scene::SMeshBuffer();
diff --git a/src/mapnode.h b/src/mapnode.h
index b2c499f08..680884bcd 100644
--- a/src/mapnode.h
+++ b/src/mapnode.h
@@ -68,7 +68,7 @@ enum Content
CONTENT_STONE,
CONTENT_GRASS,
CONTENT_WATER,
- CONTENT_LIGHT,
+ CONTENT_TORCH,
CONTENT_TREE,
CONTENT_LEAVES,
CONTENT_GRASS_FOOTSTEPS,
@@ -81,6 +81,7 @@ enum Content
};
extern u16 g_content_tiles[USEFUL_CONTENT_COUNT][6];
+extern const char * g_content_inventory_textures[USEFUL_CONTENT_COUNT];
/*
If true, the material allows light propagation and brightness is stored
@@ -88,7 +89,7 @@ extern u16 g_content_tiles[USEFUL_CONTENT_COUNT][6];
*/
inline bool light_propagates_content(u8 m)
{
- return (m == CONTENT_AIR || m == CONTENT_LIGHT || m == CONTENT_WATER || m == CONTENT_OCEAN);
+ return (m == CONTENT_AIR || m == CONTENT_TORCH || m == CONTENT_WATER || m == CONTENT_OCEAN);
}
/*
@@ -96,7 +97,7 @@ inline bool light_propagates_content(u8 m)
*/
inline bool sunlight_propagates_content(u8 m)
{
- return (m == CONTENT_AIR || m == CONTENT_LIGHT);
+ return (m == CONTENT_AIR || m == CONTENT_TORCH);
}
/*
@@ -108,7 +109,8 @@ inline bool sunlight_propagates_content(u8 m)
*/
inline u8 content_solidness(u8 m)
{
- if(m == CONTENT_AIR)
+ // As of now, every pseudo node like torches are added to this
+ if(m == CONTENT_AIR || m == CONTENT_TORCH)
return 0;
if(m == CONTENT_WATER || m == CONTENT_OCEAN)
return 1;
@@ -118,7 +120,7 @@ inline u8 content_solidness(u8 m)
// Objects collide with walkable contents
inline bool content_walkable(u8 m)
{
- return (m != CONTENT_AIR && m != CONTENT_WATER && m != CONTENT_OCEAN && m != CONTENT_LIGHT);
+ return (m != CONTENT_AIR && m != CONTENT_WATER && m != CONTENT_OCEAN && m != CONTENT_TORCH);
}
// A liquid resists fast movement
@@ -158,6 +160,13 @@ inline bool is_ground_content(u8 m)
);
}
+/*inline bool content_has_faces(u8 c)
+{
+ return (m != CONTENT_IGNORE
+ && m != CONTENT_AIR
+ && m != CONTENT_TORCH);
+}*/
+
/*
Nodes make a face if contents differ and solidness differs.
Return value:
@@ -185,7 +194,7 @@ inline u8 face_contents(u8 m1, u8 m2)
inline bool liquid_replaces_content(u8 c)
{
- return (c == CONTENT_AIR || c == CONTENT_LIGHT);
+ return (c == CONTENT_AIR || c == CONTENT_TORCH);
}
/*
@@ -193,7 +202,7 @@ inline bool liquid_replaces_content(u8 c)
*/
inline bool content_directional(u8 c)
{
- return (c == CONTENT_LIGHT);
+ return (c == CONTENT_TORCH);
}
/*
@@ -336,7 +345,7 @@ struct MapNode
/*
Note that a block that isn't light_propagates() can be a light source.
*/
- if(d == CONTENT_LIGHT)
+ if(d == CONTENT_TORCH)
return LIGHT_MAX;
return 0;
diff --git a/src/serialization.cpp b/src/serialization.cpp
index eb80f3c60..c324ca0fd 100644
--- a/src/serialization.cpp
+++ b/src/serialization.cpp
@@ -19,6 +19,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "serialization.h"
#include "utility.h"
+#ifdef _WIN32
+ #define ZLIB_WINAPI
+#endif
#include "zlib.h"
/* report a zlib or i/o error */
diff --git a/src/server.cpp b/src/server.cpp
index 139731a9c..487ce2a98 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -1011,6 +1011,13 @@ void Server::AsyncRunStep()
Flow water
*/
{
+ float interval;
+
+ if(g_settings.getBool("endless_water") == false)
+ interval = 1.0;
+ else
+ interval = 0.25;
+
static float counter = 0.0;
counter += dtime;
if(counter >= 0.25 && m_flow_active_nodes.size() > 0)
@@ -1028,7 +1035,10 @@ void Server::AsyncRunStep()
v.m_disable_water_climb =
g_settings.getBool("disable_water_climb");
- v.flowWater(m_flow_active_nodes, 0, false, 50);
+ if(g_settings.getBool("endless_water") == false)
+ v.flowWater(m_flow_active_nodes, 0, false, 250);
+ else
+ v.flowWater(m_flow_active_nodes, 0, false, 50);
v.blitBack(modified_blocks);
@@ -1883,8 +1893,8 @@ void Server::SendBlockNoLock(u16 peer_id, MapBlock *block, u8 ver)
writeS16(&reply[6], p.Z);
memcpy(&reply[8], *blockdata, blockdata.getSize());
- dstream<<"Sending block ("<<p.X<<","<<p.Y<<","<<p.Z<<")"
- <<": \tpacket size: "<<replysize<<std::endl;
+ /*dstream<<"Sending block ("<<p.X<<","<<p.Y<<","<<p.Z<<")"
+ <<": \tpacket size: "<<replysize<<std::endl;*/
/*
Send packet