Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
531f4188bc
@ -194,7 +194,7 @@ void main(void)
|
|||||||
|
|
||||||
vec4 col = vec4(color.rgb * gl_Color.rgb, 1.0);
|
vec4 col = vec4(color.rgb * gl_Color.rgb, 1.0);
|
||||||
|
|
||||||
#if MATERIAL_TYPE == TILE_MATERIAL_LIQUID_TRANSPARENT || MATERIAL_TYPE == TILE_MATERIAL_LIQUID_OPAQUE
|
#if MATERIAL_TYPE == TILE_MATERIAL_LIQUID_TRANSPARENT
|
||||||
float alpha = gl_Color.a;
|
float alpha = gl_Color.a;
|
||||||
if (fogDistance != 0.0) {
|
if (fogDistance != 0.0) {
|
||||||
float d = max(0.0, min(vPosition.z / fogDistance * 1.5 - 0.6, 1.0));
|
float d = max(0.0, min(vPosition.z / fogDistance * 1.5 - 0.6, 1.0));
|
||||||
|
@ -179,7 +179,12 @@ void OreSheet::generate(MMVManip *vm, int mapseed, u32 blockseed,
|
|||||||
MapNode n_ore(c_ore, 0, ore_param2);
|
MapNode n_ore(c_ore, 0, ore_param2);
|
||||||
|
|
||||||
u16 max_height = column_height_max;
|
u16 max_height = column_height_max;
|
||||||
int y_start = pr.range(nmin.Y + max_height, nmax.Y - max_height);
|
int y_start_min = nmin.Y + max_height;
|
||||||
|
int y_start_max = nmax.Y - max_height;
|
||||||
|
|
||||||
|
int y_start = y_start_min < y_start_max ?
|
||||||
|
pr.range(y_start_min, y_start_max) :
|
||||||
|
(y_start_min + y_start_max) / 2;
|
||||||
|
|
||||||
if (!noise) {
|
if (!noise) {
|
||||||
int sx = nmax.X - nmin.X + 1;
|
int sx = nmax.X - nmin.X + 1;
|
||||||
@ -204,10 +209,10 @@ void OreSheet::generate(MMVManip *vm, int mapseed, u32 blockseed,
|
|||||||
|
|
||||||
u16 height = pr.range(column_height_min, column_height_max);
|
u16 height = pr.range(column_height_min, column_height_max);
|
||||||
int ymidpoint = y_start + noiseval;
|
int ymidpoint = y_start + noiseval;
|
||||||
int y0 = ymidpoint - height * (1 - column_midpoint_factor);
|
int y0 = MYMAX(nmin.Y, ymidpoint - height * (1 - column_midpoint_factor));
|
||||||
int y1 = y0 + height;
|
int y1 = MYMIN(nmax.Y, y0 + height - 1);
|
||||||
|
|
||||||
for (int y = y0; y < y1; y++) {
|
for (int y = y0; y <= y1; y++) {
|
||||||
u32 i = vm->m_area.index(x, y, z);
|
u32 i = vm->m_area.index(x, y, z);
|
||||||
if (!vm->m_area.contains(i))
|
if (!vm->m_area.contains(i))
|
||||||
continue;
|
continue;
|
||||||
|
@ -762,14 +762,14 @@ void Server::handleCommand_GotBlocks(NetworkPacket* pkt)
|
|||||||
|
|
||||||
RemoteClient *client = getClient(pkt->getPeerId());
|
RemoteClient *client = getClient(pkt->getPeerId());
|
||||||
|
|
||||||
for (u16 i = 0; i < count; i++) {
|
if ((s16)pkt->getSize() < 1 + (int)count * 6) {
|
||||||
if ((s16)pkt->getSize() < 1 + (i + 1) * 6)
|
|
||||||
throw con::InvalidIncomingDataException
|
throw con::InvalidIncomingDataException
|
||||||
("GOTBLOCKS length is too short");
|
("GOTBLOCKS length is too short");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (u16 i = 0; i < count; i++) {
|
||||||
v3s16 p;
|
v3s16 p;
|
||||||
|
|
||||||
*pkt >> p;
|
*pkt >> p;
|
||||||
|
|
||||||
client->GotBlock(p);
|
client->GotBlock(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -865,13 +865,14 @@ void Server::handleCommand_DeletedBlocks(NetworkPacket* pkt)
|
|||||||
|
|
||||||
RemoteClient *client = getClient(pkt->getPeerId());
|
RemoteClient *client = getClient(pkt->getPeerId());
|
||||||
|
|
||||||
for (u16 i = 0; i < count; i++) {
|
if ((s16)pkt->getSize() < 1 + (int)count * 6) {
|
||||||
if ((s16)pkt->getSize() < 1 + (i + 1) * 6)
|
|
||||||
throw con::InvalidIncomingDataException
|
throw con::InvalidIncomingDataException
|
||||||
("DELETEDBLOCKS length is too short");
|
("DELETEDBLOCKS length is too short");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (u16 i = 0; i < count; i++) {
|
||||||
v3s16 p;
|
v3s16 p;
|
||||||
*pkt >> p;
|
*pkt >> p;
|
||||||
|
|
||||||
client->SetBlockNotSent(p);
|
client->SetBlockNotSent(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user