found out why its not working:
[10:35:57, R:\elc.gl2\engine\glslprogram.cpp:1836] Error: R:\elc.gl2\engine\glslprogram.cpp(1836): Throw in function void eternal_lands::GlslProgram::do_build(const StringType&, const StringType&)
Dynamic exception type: eternal_lands::OpenGlException
std::exception::what: std::exception
[eternal_lands::errinfo_message_*] = Fragment shader(s) linked, vertex shader(s) failed to link.
[eternal_lands::errinfo_item_name_*] = mesh_solid
[eternal_lands::errinfo_vertex_shader_*] = #version 120
varying vec2 world_uv;
varying vec3 vertex_color;
varying vec3 world_normal;
varying vec3 world_position;
uniform vec4 light_positions[8];
uniform vec4 light_colors[8];
uniform ivec3 dynamic_light_count;
uniform vec4 ambient;
uniform mat4 projection_view_matrix;
uniform mat4x3 world_matrix;
attribute vec2 texture_coordinate_0;
attribute vec3 normal;
attribute vec4 position;
void main ()
{
vec3 tmpvar_1;
vec3 tmpvar_2;
int tmpvar_3;
vec4 tmpvar_4;
tmpvar_4.w = 1.0;
tmpvar_4.xyz = position.xyz;
vec3 tmpvar_5;
tmpvar_5 = (world_matrix * tmpvar_4);
world_position = tmpvar_5;
mat3 tmpvar_6;
tmpvar_6[0] = world_matrix[0];
tmpvar_6[1] = world_matrix[1];
tmpvar_6[2] = world_matrix[2];
vec3 tmpvar_7;
tmpvar_7 = normalize ((tmpvar_6 * normal));
world_normal = tmpvar_7;
vec4 tmpvar_8;
tmpvar_8.w = 1.0;
tmpvar_8.xyz = tmpvar_5;
gl_Position = (projection_view_matrix * tmpvar_8);
tmpvar_2 = tmpvar_7;
tmpvar_1 = ambient.xyz;
tmpvar_3 = 4;
while (true) {
if ((tmpvar_3 >= dynamic_light_count.z)) {
break;
};
vec4 tmpvar_9;
tmpvar_9 = light_colors[tmpvar_3];
vec4 tmpvar_10;
tmpvar_10 = light_positions[tmpvar_3];
vec3 tmpvar_11;
tmpvar_11 = (tmpvar_10.xyz - (world_position * tmpvar_9.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_9.xyz * max (0.0, (1.0 - (dot (tmpvar_11, tmpvar_11) * tmpvar_10.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_11)))));
tmpvar_3 = (tmpvar_3 + 1);
};
vertex_color = tmpvar_1;
world_uv = texture_coordinate_0;
}
etc..
In normal client he is using vertex shader looks like its the one handling the animations just in the test client it wont take so thats why i cant see any animation
[eternal_lands::errinfo_parameter_name_*] = mesh_solid
[eternal_lands::errinfo_fragment_shader_*] = #version 120
varying vec2 world_uv;
varying vec3 vertex_color;
varying vec3 world_normal;
varying vec3 world_position;
uniform vec4 light_positions[8];
uniform vec4 light_colors[8];
uniform sampler2D diffuse_sampler_0;
void main ()
{
vec3 tmpvar_1;
vec3 tmpvar_2;
tmpvar_2 = normalize (world_normal);
vec4 tmpvar_3;
tmpvar_3 = light_colors[0];
vec4 tmpvar_4;
tmpvar_4 = light_positions[0];
vec3 tmpvar_5;
tmpvar_5 = (tmpvar_4.xyz - (world_position * tmpvar_3.w));
tmpvar_1 = (vertex_color + ((tmpvar_3.xyz * max (0.0, (1.0 - (dot (tmpvar_5, tmpvar_5) * tmpvar_4.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_5)))));
vec4 tmpvar_6;
tmpvar_6 = light_colors[1];
vec4 tmpvar_7;
tmpvar_7 = light_positions[1];
vec3 tmpvar_8;
tmpvar_8 = (tmpvar_7.xyz - (world_position * tmpvar_6.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_6.xyz * max (0.0, (1.0 - (dot (tmpvar_8, tmpvar_8) * tmpvar_7.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_8)))));
vec4 tmpvar_9;
tmpvar_9 = light_colors[2];
vec4 tmpvar_10;
tmpvar_10 = light_positions[2];
vec3 tmpvar_11;
tmpvar_11 = (tmpvar_10.xyz - (world_position * tmpvar_9.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_9.xyz * max (0.0, (1.0 - (dot (tmpvar_11, tmpvar_11) * tmpvar_10.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_11)))));
vec4 tmpvar_12;
tmpvar_12 = light_colors[3];
vec4 tmpvar_13;
tmpvar_13 = light_positions[3];
vec3 tmpvar_14;
tmpvar_14 = (tmpvar_13.xyz - (world_position * tmpvar_12.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_12.xyz * max (0.0, (1.0 - (dot (tmpvar_14, tmpvar_14) * tmpvar_13.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_14)))));
gl_FragColor.xyz = (tmpvar_1 * texture2D (diffuse_sampler_0, world_uv).xyz);
gl_FragColor.w = 1.0;
}
[10:35:58, R:\elc.gl2\engine\glslprogram.cpp:1836] Error: R:\elc.gl2\engine\glslprogram.cpp(1836): Throw in function void eternal_lands::GlslProgram::do_build(const StringType&, const StringType&)
Dynamic exception type: eternal_lands::OpenGlException
std::exception::what: std::exception
[eternal_lands::errinfo_message_*] = Fragment shader(s) linked, vertex shader(s) failed to link.
[eternal_lands::errinfo_item_name_*] = mesh_transparent
[eternal_lands::errinfo_vertex_shader_*] = #version 120
varying vec2 world_uv;
varying vec3 vertex_color;
varying vec3 world_normal;
varying vec3 world_position;
uniform vec4 light_positions[8];
uniform vec4 light_colors[8];
uniform ivec3 dynamic_light_count;
uniform vec4 ambient;
uniform mat4 projection_view_matrix;
uniform mat4x3 world_matrix;
attribute vec2 texture_coordinate_0;
attribute vec3 normal;
attribute vec4 position;
void main ()
{
vec3 tmpvar_1;
vec3 tmpvar_2;
int tmpvar_3;
vec4 tmpvar_4;
tmpvar_4.w = 1.0;
tmpvar_4.xyz = position.xyz;
vec3 tmpvar_5;
tmpvar_5 = (world_matrix * tmpvar_4);
world_position = tmpvar_5;
mat3 tmpvar_6;
tmpvar_6[0] = world_matrix[0];
tmpvar_6[1] = world_matrix[1];
tmpvar_6[2] = world_matrix[2];
vec3 tmpvar_7;
tmpvar_7 = normalize ((tmpvar_6 * normal));
world_normal = tmpvar_7;
vec4 tmpvar_8;
tmpvar_8.w = 1.0;
tmpvar_8.xyz = tmpvar_5;
gl_Position = (projection_view_matrix * tmpvar_8);
tmpvar_2 = tmpvar_7;
tmpvar_1 = ambient.xyz;
tmpvar_3 = 4;
while (true) {
if ((tmpvar_3 >= dynamic_light_count.z)) {
break;
};
vec4 tmpvar_9;
tmpvar_9 = light_colors[tmpvar_3];
vec4 tmpvar_10;
tmpvar_10 = light_positions[tmpvar_3];
vec3 tmpvar_11;
tmpvar_11 = (tmpvar_10.xyz - (world_position * tmpvar_9.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_9.xyz * max (0.0, (1.0 - (dot (tmpvar_11, tmpvar_11) * tmpvar_10.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_11)))));
tmpvar_3 = (tmpvar_3 + 1);
};
vertex_color = tmpvar_1;
world_uv = texture_coordinate_0;
}
[eternal_lands::errinfo_parameter_name_*] = mesh_transparent
[eternal_lands::errinfo_fragment_shader_*] = #version 120
varying vec2 world_uv;
varying vec3 vertex_color;
varying vec3 world_normal;
varying vec3 world_position;
uniform vec4 light_positions[8];
uniform vec4 light_colors[8];
uniform sampler2D diffuse_sampler_0;
void main ()
{
vec3 tmpvar_1;
vec3 tmpvar_2;
tmpvar_2 = normalize (world_normal);
vec4 tmpvar_3;
tmpvar_3 = texture2D (diffuse_sampler_0, world_uv);
if ((tmpvar_3.w < 0.5)) {
discard;
};
vec4 tmpvar_4;
tmpvar_4 = light_colors[0];
vec4 tmpvar_5;
tmpvar_5 = light_positions[0];
vec3 tmpvar_6;
tmpvar_6 = (tmpvar_5.xyz - (world_position * tmpvar_4.w));
tmpvar_1 = (vertex_color + ((tmpvar_4.xyz * max (0.0, (1.0 - (dot (tmpvar_6, tmpvar_6) * tmpvar_5.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_6)))));
vec4 tmpvar_7;
tmpvar_7 = light_colors[1];
vec4 tmpvar_8;
tmpvar_8 = light_positions[1];
vec3 tmpvar_9;
tmpvar_9 = (tmpvar_8.xyz - (world_position * tmpvar_7.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_7.xyz * max (0.0, (1.0 - (dot (tmpvar_9, tmpvar_9) * tmpvar_8.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_9)))));
vec4 tmpvar_10;
tmpvar_10 = light_colors[2];
vec4 tmpvar_11;
tmpvar_11 = light_positions[2];
vec3 tmpvar_12;
tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_10.xyz * max (0.0, (1.0 - (dot (tmpvar_12, tmpvar_12) * tmpvar_11.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_12)))));
vec4 tmpvar_13;
tmpvar_13 = light_colors[3];
vec4 tmpvar_14;
tmpvar_14 = light_positions[3];
vec3 tmpvar_15;
tmpvar_15 = (tmpvar_14.xyz - (world_position * tmpvar_13.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_13.xyz * max (0.0, (1.0 - (dot (tmpvar_15, tmpvar_15) * tmpvar_14.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_15)))));
gl_FragColor.xyz = (tmpvar_1 * tmpvar_3.xyz);
gl_FragColor.w = 1.0;
}
[10:35:59, R:\elc.gl2\manufacture.c:277] Error: load_recipes() read failed for file [recipes_goatmoon.dat]
[10:35:59, R:\elc.gl2\manufacture.c:144] Error: load_recipe_names() Can't open file "recipes_goatmoon.names": No such file or directory
[10:36:01, R:\elc.gl2\engine\glslprogram.cpp:1836] Error: R:\elc.gl2\engine\glslprogram.cpp(1836): Throw in function void eternal_lands::GlslProgram::do_build(const StringType&, const StringType&)
Dynamic exception type: eternal_lands::OpenGlException
std::exception::what: std::exception
[eternal_lands::errinfo_message_*] = Fragment shader(s) linked, vertex shader(s) failed to link.
[eternal_lands::errinfo_item_name_*] = animated_mesh_solid
[eternal_lands::errinfo_vertex_shader_*] = #version 120
varying vec2 world_uv;
varying vec3 vertex_color;
varying vec3 world_normal;
varying vec3 world_position;
uniform vec4 light_positions[8];
uniform vec4 light_colors[8];
uniform ivec3 dynamic_light_count;
uniform vec4 ambient;
uniform mat4 projection_view_matrix;
uniform vec4 bones[216];
uniform mat4x3 world_matrix;
attribute vec2 texture_coordinate_0;
attribute vec3 normal;
attribute vec4 position;
attribute vec4 bone_weight;
attribute vec4 bone_index;
void main ()
{
vec3 tmpvar_1;
vec3 tmpvar_2;
int tmpvar_3;
vec3 tmpvar_4;
vec3 tmpvar_5;
vec4 tmpvar_6;
tmpvar_6.w = 1.0;
tmpvar_6.xyz = position.xyz;
tmpvar_5 = vec3(0.0, 0.0, 0.0);
tmpvar_4 = vec3(0.0, 0.0, 0.0);
int tmpvar_7;
tmpvar_7 = int(bone_index.x);
tmpvar_5.x = (dot (bones[(tmpvar_7 * 3)], tmpvar_6) * bone_weight.x);
tmpvar_5.y = (dot (bones[((tmpvar_7 * 3) + 1)], tmpvar_6) * bone_weight.x);
tmpvar_5.z = (dot (bones[((tmpvar_7 * 3) + 2)], tmpvar_6) * bone_weight.x);
tmpvar_4.x = (dot (bones[(tmpvar_7 * 3)].xyz, normal) * bone_weight.x);
tmpvar_4.y = (dot (bones[((tmpvar_7 * 3) + 1)].xyz, normal) * bone_weight.x);
tmpvar_4.z = (dot (bones[((tmpvar_7 * 3) + 2)].xyz, normal) * bone_weight.x);
if ((bone_weight.y <= 0.0)) {
} else {
int tmpvar_8;
tmpvar_8 = int(bone_index.y);
tmpvar_5.x = (tmpvar_5.x + (dot (bones[(tmpvar_8 * 3)], tmpvar_6) * bone_weight.y));
tmpvar_5.y = (tmpvar_5.y + (dot (bones[((tmpvar_8 * 3) + 1)], tmpvar_6) * bone_weight.y));
tmpvar_5.z = (tmpvar_5.z + (dot (bones[((tmpvar_8 * 3) + 2)], tmpvar_6) * bone_weight.y));
tmpvar_4.x = (tmpvar_4.x + (dot (bones[(tmpvar_8 * 3)].xyz, normal) * bone_weight.y));
tmpvar_4.y = (tmpvar_4.y + (dot (bones[((tmpvar_8 * 3) + 1)].xyz, normal) * bone_weight.y));
tmpvar_4.z = (tmpvar_4.z + (dot (bones[((tmpvar_8 * 3) + 2)].xyz, normal) * bone_weight.y));
if ((bone_weight.z <= 0.0)) {
} else {
int tmpvar_9;
tmpvar_9 = int(bone_index.z);
tmpvar_5.x = (tmpvar_5.x + (dot (bones[(tmpvar_9 * 3)], tmpvar_6) * bone_weight.z));
tmpvar_5.y = (tmpvar_5.y + (dot (bones[((tmpvar_9 * 3) + 1)], tmpvar_6) * bone_weight.z));
tmpvar_5.z = (tmpvar_5.z + (dot (bones[((tmpvar_9 * 3) + 2)], tmpvar_6) * bone_weight.z));
tmpvar_4.x = (tmpvar_4.x + (dot (bones[(tmpvar_9 * 3)].xyz, normal) * bone_weight.z));
tmpvar_4.y = (tmpvar_4.y + (dot (bones[((tmpvar_9 * 3) + 1)].xyz, normal) * bone_weight.z));
tmpvar_4.z = (tmpvar_4.z + (dot (bones[((tmpvar_9 * 3) + 2)].xyz, normal) * bone_weight.z));
if ((bone_weight.w <= 0.0)) {
} else {
int tmpvar_10;
tmpvar_10 = int(bone_index.w);
tmpvar_5.x = (tmpvar_5.x + (dot (bones[(tmpvar_10 * 3)], tmpvar_6) * bone_weight.w));
tmpvar_5.y = (tmpvar_5.y + (dot (bones[((tmpvar_10 * 3) + 1)], tmpvar_6) * bone_weight.w));
tmpvar_5.z = (tmpvar_5.z + (dot (bones[((tmpvar_10 * 3) + 2)], tmpvar_6) * bone_weight.w));
tmpvar_4.x = (tmpvar_4.x + (dot (bones[(tmpvar_10 * 3)].xyz, normal) * bone_weight.w));
tmpvar_4.y = (tmpvar_4.y + (dot (bones[((tmpvar_10 * 3) + 1)].xyz, normal) * bone_weight.w));
tmpvar_4.z = (tmpvar_4.z + (dot (bones[((tmpvar_10 * 3) + 2)].xyz, normal) * bone_weight.w));
if ((bone_weight.w <= 0.0)) {
};
};
};
};
vec4 tmpvar_11;
tmpvar_11.w = 1.0;
tmpvar_11.xyz = tmpvar_5;
vec3 tmpvar_12;
tmpvar_12 = (world_matrix * tmpvar_11);
world_position = tmpvar_12;
mat3 tmpvar_13;
tmpvar_13[0] = world_matrix[0];
tmpvar_13[1] = world_matrix[1];
tmpvar_13[2] = world_matrix[2];
vec3 tmpvar_14;
tmpvar_14 = normalize ((tmpvar_13 * normalize (tmpvar_4)));
world_normal = tmpvar_14;
vec4 tmpvar_15;
tmpvar_15.w = 1.0;
tmpvar_15.xyz = tmpvar_12;
gl_Position = (projection_view_matrix * tmpvar_15);
tmpvar_2 = tmpvar_14;
tmpvar_1 = ambient.xyz;
tmpvar_3 = 4;
while (true) {
if ((tmpvar_3 >= dynamic_light_count.z)) {
break;
};
vec4 tmpvar_16;
tmpvar_16 = light_colors[tmpvar_3];
vec4 tmpvar_17;
tmpvar_17 = light_positions[tmpvar_3];
vec3 tmpvar_18;
tmpvar_18 = (tmpvar_17.xyz - (world_position * tmpvar_16.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_16.xyz * max (0.0, (1.0 - (dot (tmpvar_18, tmpvar_18) * tmpvar_17.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_18)))));
tmpvar_3 = (tmpvar_3 + 1);
};
vertex_color = tmpvar_1;
world_uv = texture_coordinate_0;
}
[eternal_lands::errinfo_parameter_name_*] = animated_mesh_solid
[eternal_lands::errinfo_fragment_shader_*] = #version 120
varying vec2 world_uv;
varying vec3 vertex_color;
varying vec3 world_normal;
varying vec3 world_position;
uniform vec4 light_positions[8];
uniform vec4 light_colors[8];
uniform sampler2D diffuse_sampler_0;
void main ()
{
vec3 tmpvar_1;
vec3 tmpvar_2;
tmpvar_2 = normalize (world_normal);
vec4 tmpvar_3;
tmpvar_3 = light_colors[0];
vec4 tmpvar_4;
tmpvar_4 = light_positions[0];
vec3 tmpvar_5;
tmpvar_5 = (tmpvar_4.xyz - (world_position * tmpvar_3.w));
tmpvar_1 = (vertex_color + ((tmpvar_3.xyz * max (0.0, (1.0 - (dot (tmpvar_5, tmpvar_5) * tmpvar_4.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_5)))));
vec4 tmpvar_6;
tmpvar_6 = light_colors[1];
vec4 tmpvar_7;
tmpvar_7 = light_positions[1];
vec3 tmpvar_8;
tmpvar_8 = (tmpvar_7.xyz - (world_position * tmpvar_6.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_6.xyz * max (0.0, (1.0 - (dot (tmpvar_8, tmpvar_8) * tmpvar_7.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_8)))));
vec4 tmpvar_9;
tmpvar_9 = light_colors[2];
vec4 tmpvar_10;
tmpvar_10 = light_positions[2];
vec3 tmpvar_11;
tmpvar_11 = (tmpvar_10.xyz - (world_position * tmpvar_9.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_9.xyz * max (0.0, (1.0 - (dot (tmpvar_11, tmpvar_11) * tmpvar_10.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_11)))));
vec4 tmpvar_12;
tmpvar_12 = light_colors[3];
vec4 tmpvar_13;
tmpvar_13 = light_positions[3];
vec3 tmpvar_14;
tmpvar_14 = (tmpvar_13.xyz - (world_position * tmpvar_12.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_12.xyz * max (0.0, (1.0 - (dot (tmpvar_14, tmpvar_14) * tmpvar_13.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_14)))));
gl_FragColor.xyz = (tmpvar_1 * texture2D (diffuse_sampler_0, world_uv).xyz);
gl_FragColor.w = 1.0;
}
[10:36:04, R:\elc.gl2\engine\glslprogram.cpp:1836] Error: R:\elc.gl2\engine\glslprogram.cpp(1836): Throw in function void eternal_lands::GlslProgram::do_build(const StringType&, const StringType&)
Dynamic exception type: eternal_lands::OpenGlException
std::exception::what: std::exception
[eternal_lands::errinfo_message_*] = Fragment shader(s) linked, vertex shader(s) failed to link.
[eternal_lands::errinfo_item_name_*] = animated_mesh_transparent
[eternal_lands::errinfo_vertex_shader_*] = #version 120
varying vec2 world_uv;
varying vec3 vertex_color;
varying vec3 world_normal;
varying vec3 world_position;
uniform vec4 light_positions[8];
uniform vec4 light_colors[8];
uniform ivec3 dynamic_light_count;
uniform vec4 ambient;
uniform mat4 projection_view_matrix;
uniform vec4 bones[216];
uniform mat4x3 world_matrix;
attribute vec2 texture_coordinate_0;
attribute vec3 normal;
attribute vec4 position;
attribute vec4 bone_weight;
attribute vec4 bone_index;
void main ()
{
vec3 tmpvar_1;
vec3 tmpvar_2;
int tmpvar_3;
vec3 tmpvar_4;
vec3 tmpvar_5;
vec4 tmpvar_6;
tmpvar_6.w = 1.0;
tmpvar_6.xyz = position.xyz;
tmpvar_5 = vec3(0.0, 0.0, 0.0);
tmpvar_4 = vec3(0.0, 0.0, 0.0);
int tmpvar_7;
tmpvar_7 = int(bone_index.x);
tmpvar_5.x = (dot (bones[(tmpvar_7 * 3)], tmpvar_6) * bone_weight.x);
tmpvar_5.y = (dot (bones[((tmpvar_7 * 3) + 1)], tmpvar_6) * bone_weight.x);
tmpvar_5.z = (dot (bones[((tmpvar_7 * 3) + 2)], tmpvar_6) * bone_weight.x);
tmpvar_4.x = (dot (bones[(tmpvar_7 * 3)].xyz, normal) * bone_weight.x);
tmpvar_4.y = (dot (bones[((tmpvar_7 * 3) + 1)].xyz, normal) * bone_weight.x);
tmpvar_4.z = (dot (bones[((tmpvar_7 * 3) + 2)].xyz, normal) * bone_weight.x);
if ((bone_weight.y <= 0.0)) {
} else {
int tmpvar_8;
tmpvar_8 = int(bone_index.y);
tmpvar_5.x = (tmpvar_5.x + (dot (bones[(tmpvar_8 * 3)], tmpvar_6) * bone_weight.y));
tmpvar_5.y = (tmpvar_5.y + (dot (bones[((tmpvar_8 * 3) + 1)], tmpvar_6) * bone_weight.y));
tmpvar_5.z = (tmpvar_5.z + (dot (bones[((tmpvar_8 * 3) + 2)], tmpvar_6) * bone_weight.y));
tmpvar_4.x = (tmpvar_4.x + (dot (bones[(tmpvar_8 * 3)].xyz, normal) * bone_weight.y));
tmpvar_4.y = (tmpvar_4.y + (dot (bones[((tmpvar_8 * 3) + 1)].xyz, normal) * bone_weight.y));
tmpvar_4.z = (tmpvar_4.z + (dot (bones[((tmpvar_8 * 3) + 2)].xyz, normal) * bone_weight.y));
if ((bone_weight.z <= 0.0)) {
} else {
int tmpvar_9;
tmpvar_9 = int(bone_index.z);
tmpvar_5.x = (tmpvar_5.x + (dot (bones[(tmpvar_9 * 3)], tmpvar_6) * bone_weight.z));
tmpvar_5.y = (tmpvar_5.y + (dot (bones[((tmpvar_9 * 3) + 1)], tmpvar_6) * bone_weight.z));
tmpvar_5.z = (tmpvar_5.z + (dot (bones[((tmpvar_9 * 3) + 2)], tmpvar_6) * bone_weight.z));
tmpvar_4.x = (tmpvar_4.x + (dot (bones[(tmpvar_9 * 3)].xyz, normal) * bone_weight.z));
tmpvar_4.y = (tmpvar_4.y + (dot (bones[((tmpvar_9 * 3) + 1)].xyz, normal) * bone_weight.z));
tmpvar_4.z = (tmpvar_4.z + (dot (bones[((tmpvar_9 * 3) + 2)].xyz, normal) * bone_weight.z));
if ((bone_weight.w <= 0.0)) {
} else {
int tmpvar_10;
tmpvar_10 = int(bone_index.w);
tmpvar_5.x = (tmpvar_5.x + (dot (bones[(tmpvar_10 * 3)], tmpvar_6) * bone_weight.w));
tmpvar_5.y = (tmpvar_5.y + (dot (bones[((tmpvar_10 * 3) + 1)], tmpvar_6) * bone_weight.w));
tmpvar_5.z = (tmpvar_5.z + (dot (bones[((tmpvar_10 * 3) + 2)], tmpvar_6) * bone_weight.w));
tmpvar_4.x = (tmpvar_4.x + (dot (bones[(tmpvar_10 * 3)].xyz, normal) * bone_weight.w));
tmpvar_4.y = (tmpvar_4.y + (dot (bones[((tmpvar_10 * 3) + 1)].xyz, normal) * bone_weight.w));
tmpvar_4.z = (tmpvar_4.z + (dot (bones[((tmpvar_10 * 3) + 2)].xyz, normal) * bone_weight.w));
if ((bone_weight.w <= 0.0)) {
};
};
};
};
vec4 tmpvar_11;
tmpvar_11.w = 1.0;
tmpvar_11.xyz = tmpvar_5;
vec3 tmpvar_12;
tmpvar_12 = (world_matrix * tmpvar_11);
world_position = tmpvar_12;
mat3 tmpvar_13;
tmpvar_13[0] = world_matrix[0];
tmpvar_13[1] = world_matrix[1];
tmpvar_13[2] = world_matrix[2];
vec3 tmpvar_14;
tmpvar_14 = normalize ((tmpvar_13 * normalize (tmpvar_4)));
world_normal = tmpvar_14;
vec4 tmpvar_15;
tmpvar_15.w = 1.0;
tmpvar_15.xyz = tmpvar_12;
gl_Position = (projection_view_matrix * tmpvar_15);
tmpvar_2 = tmpvar_14;
tmpvar_1 = ambient.xyz;
tmpvar_3 = 4;
while (true) {
if ((tmpvar_3 >= dynamic_light_count.z)) {
break;
};
vec4 tmpvar_16;
tmpvar_16 = light_colors[tmpvar_3];
vec4 tmpvar_17;
tmpvar_17 = light_positions[tmpvar_3];
vec3 tmpvar_18;
tmpvar_18 = (tmpvar_17.xyz - (world_position * tmpvar_16.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_16.xyz * max (0.0, (1.0 - (dot (tmpvar_18, tmpvar_18) * tmpvar_17.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_18)))));
tmpvar_3 = (tmpvar_3 + 1);
};
vertex_color = tmpvar_1;
world_uv = texture_coordinate_0;
}
[eternal_lands::errinfo_parameter_name_*] = animated_mesh_transparent
[eternal_lands::errinfo_fragment_shader_*] = #version 120
varying vec2 world_uv;
varying vec3 vertex_color;
varying vec3 world_normal;
varying vec3 world_position;
uniform vec4 light_positions[8];
uniform vec4 light_colors[8];
uniform sampler2D diffuse_sampler_0;
void main ()
{
vec3 tmpvar_1;
vec3 tmpvar_2;
tmpvar_2 = normalize (world_normal);
vec4 tmpvar_3;
tmpvar_3 = texture2D (diffuse_sampler_0, world_uv);
if ((tmpvar_3.w < 0.5)) {
discard;
};
vec4 tmpvar_4;
tmpvar_4 = light_colors[0];
vec4 tmpvar_5;
tmpvar_5 = light_positions[0];
vec3 tmpvar_6;
tmpvar_6 = (tmpvar_5.xyz - (world_position * tmpvar_4.w));
tmpvar_1 = (vertex_color + ((tmpvar_4.xyz * max (0.0, (1.0 - (dot (tmpvar_6, tmpvar_6) * tmpvar_5.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_6)))));
vec4 tmpvar_7;
tmpvar_7 = light_colors[1];
vec4 tmpvar_8;
tmpvar_8 = light_positions[1];
vec3 tmpvar_9;
tmpvar_9 = (tmpvar_8.xyz - (world_position * tmpvar_7.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_7.xyz * max (0.0, (1.0 - (dot (tmpvar_9, tmpvar_9) * tmpvar_8.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_9)))));
vec4 tmpvar_10;
tmpvar_10 = light_colors[2];
vec4 tmpvar_11;
tmpvar_11 = light_positions[2];
vec3 tmpvar_12;
tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_10.xyz * max (0.0, (1.0 - (dot (tmpvar_12, tmpvar_12) * tmpvar_11.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_12)))));
vec4 tmpvar_13;
tmpvar_13 = light_colors[3];
vec4 tmpvar_14;
tmpvar_14 = light_positions[3];
vec3 tmpvar_15;
tmpvar_15 = (tmpvar_14.xyz - (world_position * tmpvar_13.w));
tmpvar_1 = (tmpvar_1 + ((tmpvar_13.xyz * max (0.0, (1.0 - (dot (tmpvar_15, tmpvar_15) * tmpvar_14.w)))) * max (0.0, dot (tmpvar_2, normalize (tmpvar_15)))));
gl_FragColor.xyz = (tmpvar_1 * tmpvar_3.xyz);
gl_FragColor.w = 1.0;
}
taken from new_main_440.log file