diff options
author | Perttu Ahola <celeron55@gmail.com> | 2011-01-17 21:15:31 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2011-01-17 21:15:31 +0200 |
commit | d44abdab17f6ad7a05ddc08d418af35e9cabddef (patch) | |
tree | e20567656ca78a53bec39228f8feba54aa54475d /src/mapnode.h | |
parent | 0fa0e0752a28eeb43195f2288c018d5c0b24520b (diff) | |
download | minetest-d44abdab17f6ad7a05ddc08d418af35e9cabddef.tar.xz |
minecraft-style water done (but no texture animation or sound)
Diffstat (limited to 'src/mapnode.h')
-rw-r--r-- | src/mapnode.h | 24 |
1 files changed, 22 insertions, 2 deletions
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 */ |