From d44abdab17f6ad7a05ddc08d418af35e9cabddef Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Mon, 17 Jan 2011 21:15:31 +0200 Subject: minecraft-style water done (but no texture animation or sound) --- src/mapnode.h | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src/mapnode.h') diff --git a/src/mapnode.h b/src/mapnode.h index a759f807e..e3b921a66 100644 --- a/src/mapnode.h +++ b/src/mapnode.h @@ -108,7 +108,7 @@ inline bool sunlight_propagates_content(u8 m) inline u8 content_solidness(u8 m) { // As of now, every pseudo node like torches are added to this - if(m == CONTENT_AIR || m == CONTENT_TORCH) + if(m == CONTENT_AIR || m == CONTENT_TORCH || m == CONTENT_WATER) return 0; if(m == CONTENT_WATER || m == CONTENT_WATERSOURCE) return 1; @@ -121,12 +121,30 @@ inline bool content_walkable(u8 m) return (m != CONTENT_AIR && m != CONTENT_WATER && m != CONTENT_WATERSOURCE && m != CONTENT_TORCH); } -// A liquid resists fast movement inline bool content_liquid(u8 m) { return (m == CONTENT_WATER || m == CONTENT_WATERSOURCE); } +inline bool content_flowing_liquid(u8 m) +{ + return (m == CONTENT_WATER); +} + +inline bool content_liquid_source(u8 m) +{ + return (m == CONTENT_WATERSOURCE); +} + +// CONTENT_WATER || CONTENT_WATERSOURCE -> CONTENT_WATER +// CONTENT_LAVA || CONTENT_LAVASOURCE -> CONTENT_LAVA +inline u8 make_liquid_flowing(u8 m) +{ + if(m == CONTENT_WATER || m == CONTENT_WATERSOURCE) + return CONTENT_WATER; + assert(0); +} + // Pointable contents can be pointed to in the map inline bool content_pointable(u8 m) { @@ -349,6 +367,8 @@ struct MapNode union { + u8 param2; + /* Pressure for liquids */ -- cgit v1.2.3