From 8e67f4c4e617a8fcbb9176de1bf0b267acfc6e2f Mon Sep 17 00:00:00 2001 From: Mark Holmquist Date: Sat, 30 Jul 2011 17:26:13 -0700 Subject: [PATCH] Fixed a few problems in the ladder update, and changed the speed to account for gravity --- src/content_mapblock.cpp | 4 ++-- src/game.cpp | 2 +- src/player.cpp | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/content_mapblock.cpp b/src/content_mapblock.cpp index ceb6736..ed2cd76 100644 --- a/src/content_mapblock.cpp +++ b/src/content_mapblock.cpp @@ -1134,7 +1134,7 @@ void mapblock_mesh_generate_special(MeshMakeData *data, u16 indices[] = {0,1,2,2,3,0}; 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)); 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), }; - v3s16 dir = unpackDir(n.dir); + v3s16 dir = unpackDir(n.param2); for(s32 i=0; i<4; i++) { diff --git a/src/game.cpp b/src/game.cpp index d8ea45f..fb5d7cb 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -541,7 +541,7 @@ void getPointedNode(Client *client, v3f player_position, 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); dir_f *= BS/2 - BS/6 - BS/20; v3f cpf = npf + dir_f; diff --git a/src/player.cpp b/src/player.cpp index 3846cd8..270f795 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -382,8 +382,8 @@ void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d, try { v3s16 pp = floatToInt(position + v3f(0,0.5*BS,0), BS); v3s16 pp2 = floatToInt(position + v3f(0,-0.2*BS,0), BS); - is_climbing = (content_features(map.getNode(pp).d).climbable || - content_features(map.getNode(pp2).d).climbable); + is_climbing = (content_features(map.getNode(pp).getContent()).climbable || + content_features(map.getNode(pp2).getContent()).climbable); } catch(InvalidPositionException &e) { @@ -832,7 +832,7 @@ void LocalPlayer::applyControl(float dtime) if (is_climbing) { if (control.up || control.left || control.right || control.down) { v3f speed = getSpeed(); - speed.Y = 2*BS; + speed.Y = 2.5*BS; setSpeed(speed); } else {