Fix raillike bug (currently manifests itself on Android), and minor improvement to...
authorKodexky <kodexky@gmail.com>
Thu, 20 Nov 2014 05:40:26 +0000 (15:40 +1000)
committerCraig Robbins <kde.psych@gmail.com>
Thu, 20 Nov 2014 05:41:59 +0000 (15:41 +1000)
NB: Minor edits to patch made by Zeno- (int to short and minor formatting)

src/content_mapblock.cpp

index 2584c07790cf9b52e54c06860908262f39db14a3..378a344a40a4d69ec1069c9a00c412cf0768b1b4 100644 (file)
@@ -1621,17 +1621,18 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
                        video::SColor c = MapBlock_LightColor(255, l, f.light_source);
 
                        float d = (float)BS/64;
-                       
-                       char g=-1;
+                       float s = BS/2;
+
+                       short g = -1;
                        if (is_rail_x_plus_y[0] || is_rail_x_plus_y[1] || is_rail_z_plus_y[0] || is_rail_z_plus_y[1])
-                               g=1; //Object is at a slope
+                               g = 1; //Object is at a slope
 
                        video::S3DVertex vertices[4] =
                        {
-                                       video::S3DVertex(-BS/2,-BS/2+d,-BS/2, 0,0,0, c, 0,1),
-                                       video::S3DVertex(BS/2,-BS/2+d,-BS/2, 0,0,0, c, 1,1),
-                                       video::S3DVertex(BS/2,g*BS/2+d,BS/2, 0,0,0, c, 1,0),
-                                       video::S3DVertex(-BS/2,g*BS/2+d,BS/2, 0,0,0, c, 0,0),
+                                       video::S3DVertex(-s,  -s+d,-s,  0,0,0,  c,0,1),
+                                       video::S3DVertex( s,  -s+d,-s,  0,0,0,  c,1,1),
+                                       video::S3DVertex( s, g*s+d, s,  0,0,0,  c,1,0),
+                                       video::S3DVertex(-s, g*s+d, s,  0,0,0,  c,0,0),
                        };
 
                        for(s32 i=0; i<4; i++)