- //u8 li = decode_light(light);
-
- // If node at sp (tile0) is more solid
- if(mf == 1)
- {
- if(face_dir == v3s16(0,0,1))
- {
- // Going along X+, faces in Z+
- li0 = getSmoothLight(p_map_first+v3s16(0,0,1),
- vmanip, daynight_ratio);
- li1 = getSmoothLight(p_map+v3s16(1,0,1),
- vmanip, daynight_ratio);
- li2 = getSmoothLight(p_map+v3s16(1,1,1),
- vmanip, daynight_ratio);
- li3 = getSmoothLight(p_map_first+v3s16(0,1,1),
- vmanip, daynight_ratio);
- }
- else if(face_dir == v3s16(0,1,0))
- {
- // Going along X+, faces in Y+
- li0 = getSmoothLight(p_map_first+v3s16(0,1,1),
- vmanip, daynight_ratio);
- li1 = getSmoothLight(p_map+v3s16(1,1,1),
- vmanip, daynight_ratio);
- li2 = getSmoothLight(p_map+v3s16(1,1,0),
- vmanip, daynight_ratio);
- li3 = getSmoothLight(p_map_first+v3s16(0,1,0),
- vmanip, daynight_ratio);
- }
- else if(face_dir == v3s16(1,0,0))
- {
- // Going along Z+, faces in X+
- li0 = getSmoothLight(p_map_first+v3s16(1,0,1),
- vmanip, daynight_ratio);
- li1 = getSmoothLight(p_map+v3s16(1,0,0),
- vmanip, daynight_ratio);
- li2 = getSmoothLight(p_map+v3s16(1,1,0),
- vmanip, daynight_ratio);
- li3 = getSmoothLight(p_map_first+v3s16(1,1,1),
- vmanip, daynight_ratio);
- }
- else assert(0);
-
- //makeFastFace(tile0, li, li, li, li,
- makeFastFace(tile0, li0, li1, li2, li3,
- sp, face_dir, scale,
- posRelative_f, dest);
- }
- // If node at sp is less solid (mf == 2)
- else
- {
- // Offset to the actual solid block
- p_map += face_dir;
- p_map_first += face_dir;
-
- if(face_dir == v3s16(0,0,1))
- {
- // Going along X+, faces in Z-
- li0 = getSmoothLight(p_map+v3s16(1,0,0),
- vmanip, daynight_ratio);
- li1 = getSmoothLight(p_map_first+v3s16(0,0,0),
- vmanip, daynight_ratio);
- li2 = getSmoothLight(p_map_first+v3s16(0,1,0),
- vmanip, daynight_ratio);
- li3 = getSmoothLight(p_map+v3s16(1,1,0),
- vmanip, daynight_ratio);
- }
- else if(face_dir == v3s16(0,1,0))
- {
- // Going along X+, faces in Y-
- li0 = getSmoothLight(p_map_first+v3s16(0,0,0),
- vmanip, daynight_ratio);
- li1 = getSmoothLight(p_map+v3s16(1,0,0),
- vmanip, daynight_ratio);
- li2 = getSmoothLight(p_map+v3s16(1,0,1),
- vmanip, daynight_ratio);
- li3 = getSmoothLight(p_map_first+v3s16(0,0,1),
- vmanip, daynight_ratio);
- }
- else if(face_dir == v3s16(1,0,0))
- {
- // Going along Z+, faces in X-
- li0 = getSmoothLight(p_map_first+v3s16(0,0,0),
- vmanip, daynight_ratio);
- li1 = getSmoothLight(p_map+v3s16(0,0,1),
- vmanip, daynight_ratio);
- li2 = getSmoothLight(p_map+v3s16(0,1,1),
- vmanip, daynight_ratio);
- li3 = getSmoothLight(p_map_first+v3s16(0,1,0),
- vmanip, daynight_ratio);
- }
- else assert(0);
-
- //makeFastFace(tile1, li, li, li, li,
- makeFastFace(tile1, li0, li1, li2, li3,
- sp+face_dir_f, -face_dir, scale,
- posRelative_f, dest);
- }