diff options
author | Perttu Ahola <celeron55@gmail.com> | 2010-12-14 01:56:24 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2010-12-14 01:56:24 +0200 |
commit | 6129e31b96f31521a79f5dfd7968f0cf0decb200 (patch) | |
tree | a8369cc5d835e6fd762f7763a365a68160024e3f | |
parent | 47f76d8a5122767337f0c7b75c5c44a01c418141 (diff) | |
download | minetest-6129e31b96f31521a79f5dfd7968f0cf0decb200.tar.gz minetest-6129e31b96f31521a79f5dfd7968f0cf0decb200.tar.bz2 minetest-6129e31b96f31521a79f5dfd7968f0cf0decb200.zip |
better graphics, zlib to work on vc++
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | bin/zlibwapi.dll | bin | 0 -> 141312 bytes | |||
-rw-r--r-- | data/grass.png | bin | 910 -> 1683 bytes | |||
-rw-r--r-- | data/grass_footsteps.png | bin | 835 -> 1609 bytes | |||
-rw-r--r-- | data/mud_with_grass.png | bin | 1597 -> 1596 bytes | |||
-rw-r--r-- | data/skybox1.png | bin | 20306 -> 19476 bytes | |||
-rw-r--r-- | data/skybox1_source.png | bin | 0 -> 5477 bytes | |||
-rw-r--r-- | data/stone.png | bin | 847 -> 1609 bytes | |||
-rw-r--r-- | doc/README.txt | 7 | ||||
-rw-r--r-- | minetest.conf.example | 2 | ||||
-rw-r--r-- | minetest.vcproj | 12 | ||||
-rw-r--r-- | src/inventory.h | 24 | ||||
-rw-r--r-- | src/main.cpp | 5 | ||||
-rw-r--r-- | src/map.cpp | 7 | ||||
-rw-r--r-- | src/mapblock.cpp | 2 | ||||
-rw-r--r-- | src/mapnode.h | 25 | ||||
-rw-r--r-- | src/serialization.cpp | 3 | ||||
-rw-r--r-- | src/server.cpp | 16 |
18 files changed, 73 insertions, 32 deletions
@@ -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 Binary files differnew file mode 100644 index 000000000..b0d1cde51 --- /dev/null +++ b/bin/zlibwapi.dll diff --git a/data/grass.png b/data/grass.png Binary files differindex 56362053f..30ef38591 100644 --- a/data/grass.png +++ b/data/grass.png diff --git a/data/grass_footsteps.png b/data/grass_footsteps.png Binary files differindex 36573ada2..26bd236c5 100644 --- a/data/grass_footsteps.png +++ b/data/grass_footsteps.png diff --git a/data/mud_with_grass.png b/data/mud_with_grass.png Binary files differindex fe0d0af9b..60ae4eec2 100644 --- a/data/mud_with_grass.png +++ b/data/mud_with_grass.png diff --git a/data/skybox1.png b/data/skybox1.png Binary files differindex b774ed013..202e40eba 100644 --- a/data/skybox1.png +++ b/data/skybox1.png diff --git a/data/skybox1_source.png b/data/skybox1_source.png Binary files differnew file mode 100644 index 000000000..642e89ce4 --- /dev/null +++ b/data/skybox1_source.png diff --git a/data/stone.png b/data/stone.png Binary files differindex 7b578215a..daf2cceb8 100644 --- a/data/stone.png +++ b/data/stone.png 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=""C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include";"..\jthread\jthread-1.2.1\src";"..\irrlicht\irrlicht-1.7.1\include""
+ AdditionalIncludeDirectories=""C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include";"..\jthread\jthread-1.2.1\src";"..\irrlicht\irrlicht-1.7.1\include";"..\zlib\zlib-1.2.5""
PreprocessorDefinitions="WIN32;_HAS_ITERATOR_DEBUGGING=0,UNITTEST_DISABLE,_CRT_SECURE_NO_DEPRECATE"
BufferSecurityCheck="false"
EnableEnhancedInstructionSet="1"
@@ -135,7 +135,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalLibraryDirectories=""C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib";"..\jthread\jthread-1.2.1\Release";"..\irrlicht\irrlicht-1.7.1\lib\Win32-visualstudio""
+ AdditionalLibraryDirectories=""C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib";"..\jthread\jthread-1.2.1\Release";"..\irrlicht\irrlicht-1.7.1\lib\Win32-visualstudio";..\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 |