forked from Mirrorlandia_minetest/minetest
Remove freezemelt (the remainder of proller nonsense)
This commit is contained in:
parent
8eb9cebdd0
commit
6fdb32361a
@ -155,7 +155,7 @@ void MapNode::rotateAlongYAxis(INodeDefManager *nodemgr, Rotation rot) {
|
|||||||
u8 wmountface = (param2 & 7);
|
u8 wmountface = (param2 & 7);
|
||||||
if (wmountface <= 1)
|
if (wmountface <= 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Rotation oldrot = wallmounted_to_rot[wmountface - 2];
|
Rotation oldrot = wallmounted_to_rot[wmountface - 2];
|
||||||
param2 &= ~7;
|
param2 &= ~7;
|
||||||
param2 |= rot_to_wallmounted[(oldrot - rot) & 3];
|
param2 |= rot_to_wallmounted[(oldrot - rot) & 3];
|
||||||
@ -439,28 +439,11 @@ u8 MapNode::addLevel(INodeDefManager *nodemgr, s8 add)
|
|||||||
return setLevel(nodemgr, level);
|
return setLevel(nodemgr, level);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MapNode::freezeMelt(INodeDefManager *ndef) {
|
|
||||||
u8 level_was_max = this->getMaxLevel(ndef);
|
|
||||||
u8 level_was = this->getLevel(ndef);
|
|
||||||
this->setContent(ndef->getId(ndef->get(*this).freezemelt));
|
|
||||||
u8 level_now_max = this->getMaxLevel(ndef);
|
|
||||||
if (level_was_max && level_was_max != level_now_max) {
|
|
||||||
u8 want = (float)level_now_max / level_was_max * level_was;
|
|
||||||
if (!want)
|
|
||||||
want = 1;
|
|
||||||
if (want != level_was)
|
|
||||||
this->setLevel(ndef, want);
|
|
||||||
//errorstream<<"was="<<(int)level_was<<"/"<<(int)level_was_max<<" nowm="<<(int)want<<"/"<<(int)level_now_max<< " => "<<(int)this->getLevel(ndef)<< std::endl;
|
|
||||||
}
|
|
||||||
if (this->getMaxLevel(ndef) && !this->getLevel(ndef))
|
|
||||||
this->addLevel(ndef);
|
|
||||||
}
|
|
||||||
|
|
||||||
u32 MapNode::serializedLength(u8 version)
|
u32 MapNode::serializedLength(u8 version)
|
||||||
{
|
{
|
||||||
if(!ser_ver_supported(version))
|
if(!ser_ver_supported(version))
|
||||||
throw VersionMismatchException("ERROR: MapNode format not supported");
|
throw VersionMismatchException("ERROR: MapNode format not supported");
|
||||||
|
|
||||||
if(version == 0)
|
if(version == 0)
|
||||||
return 1;
|
return 1;
|
||||||
else if(version <= 9)
|
else if(version <= 9)
|
||||||
@ -474,13 +457,13 @@ void MapNode::serialize(u8 *dest, u8 version)
|
|||||||
{
|
{
|
||||||
if(!ser_ver_supported(version))
|
if(!ser_ver_supported(version))
|
||||||
throw VersionMismatchException("ERROR: MapNode format not supported");
|
throw VersionMismatchException("ERROR: MapNode format not supported");
|
||||||
|
|
||||||
// Can't do this anymore; we have 16-bit dynamically allocated node IDs
|
// Can't do this anymore; we have 16-bit dynamically allocated node IDs
|
||||||
// in memory; conversion just won't work in this direction.
|
// in memory; conversion just won't work in this direction.
|
||||||
if(version < 24)
|
if(version < 24)
|
||||||
throw SerializationError("MapNode::serialize: serialization to "
|
throw SerializationError("MapNode::serialize: serialization to "
|
||||||
"version < 24 not possible");
|
"version < 24 not possible");
|
||||||
|
|
||||||
writeU16(dest+0, param0);
|
writeU16(dest+0, param0);
|
||||||
writeU8(dest+2, param1);
|
writeU8(dest+2, param1);
|
||||||
writeU8(dest+3, param2);
|
writeU8(dest+3, param2);
|
||||||
@ -489,7 +472,7 @@ void MapNode::deSerialize(u8 *source, u8 version)
|
|||||||
{
|
{
|
||||||
if(!ser_ver_supported(version))
|
if(!ser_ver_supported(version))
|
||||||
throw VersionMismatchException("ERROR: MapNode format not supported");
|
throw VersionMismatchException("ERROR: MapNode format not supported");
|
||||||
|
|
||||||
if(version <= 21)
|
if(version <= 21)
|
||||||
{
|
{
|
||||||
deSerialize_pre22(source, version);
|
deSerialize_pre22(source, version);
|
||||||
@ -651,7 +634,7 @@ void MapNode::deSerialize_pre22(u8 *source, u8 version)
|
|||||||
param2 &= 0x0f;
|
param2 &= 0x0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert special values from old version to new
|
// Convert special values from old version to new
|
||||||
if(version <= 19)
|
if(version <= 19)
|
||||||
{
|
{
|
||||||
|
@ -62,11 +62,11 @@ typedef u16 content_t;
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
Ignored node.
|
Ignored node.
|
||||||
|
|
||||||
Unloaded chunks are considered to consist of this. Several other
|
Unloaded chunks are considered to consist of this. Several other
|
||||||
methods return this when an error occurs. Also, during
|
methods return this when an error occurs. Also, during
|
||||||
map generation this means the node has not been set yet.
|
map generation this means the node has not been set yet.
|
||||||
|
|
||||||
Doesn't create faces with anything and is considered being
|
Doesn't create faces with anything and is considered being
|
||||||
out-of-map in the game map.
|
out-of-map in the game map.
|
||||||
*/
|
*/
|
||||||
@ -132,7 +132,7 @@ struct MapNode
|
|||||||
- Uhh... well, most blocks have light or nothing in here.
|
- Uhh... well, most blocks have light or nothing in here.
|
||||||
*/
|
*/
|
||||||
u8 param1;
|
u8 param1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
The second parameter. Initialized to 0.
|
The second parameter. Initialized to 0.
|
||||||
E.g. direction for torches and flowing water.
|
E.g. direction for torches and flowing water.
|
||||||
@ -161,7 +161,7 @@ struct MapNode
|
|||||||
&& param1 == other.param1
|
&& param1 == other.param1
|
||||||
&& param2 == other.param2);
|
&& param2 == other.param2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// To be used everywhere
|
// To be used everywhere
|
||||||
content_t getContent() const
|
content_t getContent() const
|
||||||
{
|
{
|
||||||
@ -187,7 +187,7 @@ struct MapNode
|
|||||||
{
|
{
|
||||||
param2 = p;
|
param2 = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setLight(enum LightBank bank, u8 a_light, INodeDefManager *nodemgr);
|
void setLight(enum LightBank bank, u8 a_light, INodeDefManager *nodemgr);
|
||||||
u8 getLight(enum LightBank bank, INodeDefManager *nodemgr) const;
|
u8 getLight(enum LightBank bank, INodeDefManager *nodemgr) const;
|
||||||
|
|
||||||
@ -223,7 +223,7 @@ struct MapNode
|
|||||||
u8 getFaceDir(INodeDefManager *nodemgr) const;
|
u8 getFaceDir(INodeDefManager *nodemgr) const;
|
||||||
u8 getWallMounted(INodeDefManager *nodemgr) const;
|
u8 getWallMounted(INodeDefManager *nodemgr) const;
|
||||||
v3s16 getWallMountedDir(INodeDefManager *nodemgr) const;
|
v3s16 getWallMountedDir(INodeDefManager *nodemgr) const;
|
||||||
|
|
||||||
void rotateAlongYAxis(INodeDefManager *nodemgr, Rotation rot);
|
void rotateAlongYAxis(INodeDefManager *nodemgr, Rotation rot);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -241,12 +241,13 @@ struct MapNode
|
|||||||
*/
|
*/
|
||||||
std::vector<aabb3f> getCollisionBoxes(INodeDefManager *nodemgr) const;
|
std::vector<aabb3f> getCollisionBoxes(INodeDefManager *nodemgr) const;
|
||||||
|
|
||||||
/* Liquid helpers */
|
/*
|
||||||
|
Liquid helpers
|
||||||
|
*/
|
||||||
u8 getMaxLevel(INodeDefManager *nodemgr) const;
|
u8 getMaxLevel(INodeDefManager *nodemgr) const;
|
||||||
u8 getLevel(INodeDefManager *nodemgr) const;
|
u8 getLevel(INodeDefManager *nodemgr) const;
|
||||||
u8 setLevel(INodeDefManager *nodemgr, s8 level = 1);
|
u8 setLevel(INodeDefManager *nodemgr, s8 level = 1);
|
||||||
u8 addLevel(INodeDefManager *nodemgr, s8 add = 1);
|
u8 addLevel(INodeDefManager *nodemgr, s8 add = 1);
|
||||||
void freezeMelt(INodeDefManager *nodemgr);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Serialization functions
|
Serialization functions
|
||||||
@ -255,7 +256,7 @@ struct MapNode
|
|||||||
static u32 serializedLength(u8 version);
|
static u32 serializedLength(u8 version);
|
||||||
void serialize(u8 *dest, u8 version);
|
void serialize(u8 *dest, u8 version);
|
||||||
void deSerialize(u8 *source, u8 version);
|
void deSerialize(u8 *source, u8 version);
|
||||||
|
|
||||||
// Serializes or deserializes a list of nodes in bulk format (first the
|
// Serializes or deserializes a list of nodes in bulk format (first the
|
||||||
// content of all nodes, then the param1 of all nodes, then the param2
|
// content of all nodes, then the param1 of all nodes, then the param2
|
||||||
// of all nodes).
|
// of all nodes).
|
||||||
|
@ -227,7 +227,6 @@ void ContentFeatures::reset()
|
|||||||
liquid_alternative_source = "";
|
liquid_alternative_source = "";
|
||||||
liquid_viscosity = 0;
|
liquid_viscosity = 0;
|
||||||
liquid_renewable = true;
|
liquid_renewable = true;
|
||||||
freezemelt = "";
|
|
||||||
liquid_range = LIQUID_LEVEL_MAX+1;
|
liquid_range = LIQUID_LEVEL_MAX+1;
|
||||||
drowning = 0;
|
drowning = 0;
|
||||||
light_source = 0;
|
light_source = 0;
|
||||||
|
@ -234,8 +234,6 @@ struct ContentFeatures
|
|||||||
u8 liquid_viscosity;
|
u8 liquid_viscosity;
|
||||||
// Is liquid renewable (new liquid source will be created between 2 existing)
|
// Is liquid renewable (new liquid source will be created between 2 existing)
|
||||||
bool liquid_renewable;
|
bool liquid_renewable;
|
||||||
// Ice for water, water for ice
|
|
||||||
std::string freezemelt;
|
|
||||||
// Number of flowing liquids surrounding source
|
// Number of flowing liquids surrounding source
|
||||||
u8 liquid_range;
|
u8 liquid_range;
|
||||||
u8 drowning;
|
u8 drowning;
|
||||||
|
@ -414,7 +414,6 @@ ContentFeatures read_content_features(lua_State *L, int index)
|
|||||||
f.leveled = getintfield_default(L, index, "leveled", f.leveled);
|
f.leveled = getintfield_default(L, index, "leveled", f.leveled);
|
||||||
|
|
||||||
getboolfield(L, index, "liquid_renewable", f.liquid_renewable);
|
getboolfield(L, index, "liquid_renewable", f.liquid_renewable);
|
||||||
getstringfield(L, index, "freezemelt", f.freezemelt);
|
|
||||||
f.drowning = getintfield_default(L, index,
|
f.drowning = getintfield_default(L, index,
|
||||||
"drowning", f.drowning);
|
"drowning", f.drowning);
|
||||||
// Amount of light the node emits
|
// Amount of light the node emits
|
||||||
|
Loading…
Reference in New Issue
Block a user