}\r
}\r
}\r
+ else if(n.d == CONTENT_SIGN_WALL)\r
+ {\r
+ v3s16 dir = unpackDir(n.dir);\r
+ v3f dir_f = v3f(dir.X, dir.Y, dir.Z);\r
+ dir_f *= BS/2 - BS/6 - BS/20;\r
+ v3f cpf = npf + dir_f;\r
+ f32 distance = (cpf - camera_position).getLength();\r
+\r
+ v3f vertices[4] =\r
+ {\r
+ v3f(BS*0.42,-BS*0.35,-BS*0.4),\r
+ v3f(BS*0.49, BS*0.35, BS*0.4),\r
+ };\r
+\r
+ for(s32 i=0; i<2; i++)\r
+ {\r
+ if(dir == v3s16(1,0,0))\r
+ vertices[i].rotateXZBy(0);\r
+ if(dir == v3s16(-1,0,0))\r
+ vertices[i].rotateXZBy(180);\r
+ if(dir == v3s16(0,0,1))\r
+ vertices[i].rotateXZBy(90);\r
+ if(dir == v3s16(0,0,-1))\r
+ vertices[i].rotateXZBy(-90);\r
+ if(dir == v3s16(0,-1,0))\r
+ vertices[i].rotateXYBy(-90);\r
+ if(dir == v3s16(0,1,0))\r
+ vertices[i].rotateXYBy(90);\r
+\r
+ vertices[i] += npf;\r
+ }\r
+\r
+ core::aabbox3d<f32> box;\r
+\r
+ box = core::aabbox3d<f32>(vertices[0]);\r
+ box.addInternalPoint(vertices[1]);\r
+\r
+ if(distance < mindistance)\r
+ {\r
+ if(box.intersectsWithLine(shootline))\r
+ {\r
+ nodefound = true;\r
+ nodepos = np;\r
+ neighbourpos = np;\r
+ mindistance = distance;\r
+ nodehilightbox = box;\r
+ }\r
+ }\r
+ }\r
/*\r
Regular blocks\r
*/\r
static float dig_time = 0.0;\r
static u16 dig_index = 0;\r
\r
- // Visualize selection\r
+ /*\r
+ Visualize selection\r
+ */\r
\r
hilightboxes.push_back(nodehilightbox);\r
\r
- // Handle digging\r
+ /*\r
+ TODO:\r
+ Check information text of node\r
+ */\r
+\r
+ /*\r
+ Handle digging\r
+ */\r
\r
if(g_input->getLeftReleased())\r
{\r