mirror of
https://github.com/moparisthebest/minetest
synced 2024-12-25 17:08:48 -05:00
Fixed a few problems in the ladder update, and changed the speed to account for gravity
This commit is contained in:
parent
1c59cff832
commit
8e67f4c4e6
@ -1134,7 +1134,7 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
|
|||||||
u16 indices[] = {0,1,2,2,3,0};
|
u16 indices[] = {0,1,2,2,3,0};
|
||||||
collector.append(material_rail, vertices, 4, indices, 6);
|
collector.append(material_rail, vertices, 4, indices, 6);
|
||||||
}
|
}
|
||||||
else if (n.d == CONTENT_LADDER) {
|
else if (n.getContent() == CONTENT_LADDER) {
|
||||||
u8 l = decode_light(n.getLightBlend(data->m_daynight_ratio));
|
u8 l = decode_light(n.getLightBlend(data->m_daynight_ratio));
|
||||||
video::SColor c(255,l,l,l);
|
video::SColor c(255,l,l,l);
|
||||||
|
|
||||||
@ -1149,7 +1149,7 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
|
|||||||
video::S3DVertex(BS/2-d,BS/2,-BS/2, 0,0,0, c, 0,0),
|
video::S3DVertex(BS/2-d,BS/2,-BS/2, 0,0,0, c, 0,0),
|
||||||
};
|
};
|
||||||
|
|
||||||
v3s16 dir = unpackDir(n.dir);
|
v3s16 dir = unpackDir(n.param2);
|
||||||
|
|
||||||
for(s32 i=0; i<4; i++)
|
for(s32 i=0; i<4; i++)
|
||||||
{
|
{
|
||||||
|
@ -541,7 +541,7 @@ void getPointedNode(Client *client, v3f player_position,
|
|||||||
|
|
||||||
else if(n.getContent() == CONTENT_LADDER)
|
else if(n.getContent() == CONTENT_LADDER)
|
||||||
{
|
{
|
||||||
v3s16 dir = unpackDir(n.dir);
|
v3s16 dir = unpackDir(n.param2);
|
||||||
v3f dir_f = v3f(dir.X, dir.Y, dir.Z);
|
v3f dir_f = v3f(dir.X, dir.Y, dir.Z);
|
||||||
dir_f *= BS/2 - BS/6 - BS/20;
|
dir_f *= BS/2 - BS/6 - BS/20;
|
||||||
v3f cpf = npf + dir_f;
|
v3f cpf = npf + dir_f;
|
||||||
|
@ -382,8 +382,8 @@ void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d,
|
|||||||
try {
|
try {
|
||||||
v3s16 pp = floatToInt(position + v3f(0,0.5*BS,0), BS);
|
v3s16 pp = floatToInt(position + v3f(0,0.5*BS,0), BS);
|
||||||
v3s16 pp2 = floatToInt(position + v3f(0,-0.2*BS,0), BS);
|
v3s16 pp2 = floatToInt(position + v3f(0,-0.2*BS,0), BS);
|
||||||
is_climbing = (content_features(map.getNode(pp).d).climbable ||
|
is_climbing = (content_features(map.getNode(pp).getContent()).climbable ||
|
||||||
content_features(map.getNode(pp2).d).climbable);
|
content_features(map.getNode(pp2).getContent()).climbable);
|
||||||
}
|
}
|
||||||
catch(InvalidPositionException &e)
|
catch(InvalidPositionException &e)
|
||||||
{
|
{
|
||||||
@ -832,7 +832,7 @@ void LocalPlayer::applyControl(float dtime)
|
|||||||
if (is_climbing) {
|
if (is_climbing) {
|
||||||
if (control.up || control.left || control.right || control.down) {
|
if (control.up || control.left || control.right || control.down) {
|
||||||
v3f speed = getSpeed();
|
v3f speed = getSpeed();
|
||||||
speed.Y = 2*BS;
|
speed.Y = 2.5*BS;
|
||||||
setSpeed(speed);
|
setSpeed(speed);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
Loading…
Reference in New Issue
Block a user