Remove freezemelt (the remainder of proller nonsense)

This commit is contained in:
kwolekr 2015-01-04 03:30:10 -05:00
parent 8eb9cebdd0
commit 6fdb32361a
5 changed files with 16 additions and 36 deletions

View File

@ -155,7 +155,7 @@ void MapNode::rotateAlongYAxis(INodeDefManager *nodemgr, Rotation rot) {
u8 wmountface = (param2 & 7);
if (wmountface <= 1)
return;
Rotation oldrot = wallmounted_to_rot[wmountface - 2];
param2 &= ~7;
param2 |= rot_to_wallmounted[(oldrot - rot) & 3];
@ -439,28 +439,11 @@ u8 MapNode::addLevel(INodeDefManager *nodemgr, s8 add)
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)
{
if(!ser_ver_supported(version))
throw VersionMismatchException("ERROR: MapNode format not supported");
if(version == 0)
return 1;
else if(version <= 9)
@ -474,13 +457,13 @@ void MapNode::serialize(u8 *dest, u8 version)
{
if(!ser_ver_supported(version))
throw VersionMismatchException("ERROR: MapNode format not supported");
// Can't do this anymore; we have 16-bit dynamically allocated node IDs
// in memory; conversion just won't work in this direction.
if(version < 24)
throw SerializationError("MapNode::serialize: serialization to "
"version < 24 not possible");
writeU16(dest+0, param0);
writeU8(dest+2, param1);
writeU8(dest+3, param2);
@ -489,7 +472,7 @@ void MapNode::deSerialize(u8 *source, u8 version)
{
if(!ser_ver_supported(version))
throw VersionMismatchException("ERROR: MapNode format not supported");
if(version <= 21)
{
deSerialize_pre22(source, version);
@ -651,7 +634,7 @@ void MapNode::deSerialize_pre22(u8 *source, u8 version)
param2 &= 0x0f;
}
}
// Convert special values from old version to new
if(version <= 19)
{

View File

@ -62,11 +62,11 @@ typedef u16 content_t;
/*
Ignored node.
Unloaded chunks are considered to consist of this. Several other
methods return this when an error occurs. Also, during
map generation this means the node has not been set yet.
Doesn't create faces with anything and is considered being
out-of-map in the game map.
*/
@ -132,7 +132,7 @@ struct MapNode
- Uhh... well, most blocks have light or nothing in here.
*/
u8 param1;
/*
The second parameter. Initialized to 0.
E.g. direction for torches and flowing water.
@ -161,7 +161,7 @@ struct MapNode
&& param1 == other.param1
&& param2 == other.param2);
}
// To be used everywhere
content_t getContent() const
{
@ -187,7 +187,7 @@ struct MapNode
{
param2 = p;
}
void setLight(enum LightBank bank, u8 a_light, INodeDefManager *nodemgr);
u8 getLight(enum LightBank bank, INodeDefManager *nodemgr) const;
@ -223,7 +223,7 @@ struct MapNode
u8 getFaceDir(INodeDefManager *nodemgr) const;
u8 getWallMounted(INodeDefManager *nodemgr) const;
v3s16 getWallMountedDir(INodeDefManager *nodemgr) const;
void rotateAlongYAxis(INodeDefManager *nodemgr, Rotation rot);
/*
@ -241,12 +241,13 @@ struct MapNode
*/
std::vector<aabb3f> getCollisionBoxes(INodeDefManager *nodemgr) const;
/* Liquid helpers */
/*
Liquid helpers
*/
u8 getMaxLevel(INodeDefManager *nodemgr) const;
u8 getLevel(INodeDefManager *nodemgr) const;
u8 setLevel(INodeDefManager *nodemgr, s8 level = 1);
u8 addLevel(INodeDefManager *nodemgr, s8 add = 1);
void freezeMelt(INodeDefManager *nodemgr);
/*
Serialization functions
@ -255,7 +256,7 @@ struct MapNode
static u32 serializedLength(u8 version);
void serialize(u8 *dest, u8 version);
void deSerialize(u8 *source, u8 version);
// 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
// of all nodes).

View File

@ -227,7 +227,6 @@ void ContentFeatures::reset()
liquid_alternative_source = "";
liquid_viscosity = 0;
liquid_renewable = true;
freezemelt = "";
liquid_range = LIQUID_LEVEL_MAX+1;
drowning = 0;
light_source = 0;

View File

@ -234,8 +234,6 @@ struct ContentFeatures
u8 liquid_viscosity;
// Is liquid renewable (new liquid source will be created between 2 existing)
bool liquid_renewable;
// Ice for water, water for ice
std::string freezemelt;
// Number of flowing liquids surrounding source
u8 liquid_range;
u8 drowning;

View File

@ -414,7 +414,6 @@ ContentFeatures read_content_features(lua_State *L, int index)
f.leveled = getintfield_default(L, index, "leveled", f.leveled);
getboolfield(L, index, "liquid_renewable", f.liquid_renewable);
getstringfield(L, index, "freezemelt", f.freezemelt);
f.drowning = getintfield_default(L, index,
"drowning", f.drowning);
// Amount of light the node emits