"// written by Forest 'LordHavoc' Hale\n",
"// shadowmapping enhancements by Lee 'eihrul' Salzman\n",
"\n",
+"#ifdef USESKELETAL\n",
+"# ifdef GL_ARB_uniform_buffer_object\n",
+"# extension GL_ARB_uniform_buffer_object : enable\n",
+"# endif\n",
+"#endif\n",
+"\n",
+"#ifdef USESHADOWMAP2D\n",
+"# ifdef GL_EXT_gpu_shader4\n",
+"# extension GL_EXT_gpu_shader4 : enable\n",
+"# endif\n",
+"# ifdef GL_ARB_texture_gather\n",
+"# extension GL_ARB_texture_gather : enable\n",
+"# else\n",
+"# ifdef GL_AMD_texture_texture4\n",
+"# extension GL_AMD_texture_texture4 : enable\n",
+"# endif\n",
+"# endif\n",
+"#endif\n",
+"\n",
"#ifdef USECELSHADING\n",
"# define SHADEDIFFUSE myhalf diffuse = cast_myhalf(min(max(float(dot(surfacenormal, lightnormal)) * 2.0, 0.0), 1.0));\n",
"# ifdef USEEXACTSPECULARMATH\n",
"#endif\n",
"\n",
"#ifdef VERTEX_SHADER\n",
-"#ifdef USESKELETAL\n",
-"#ifdef GL_ARB_uniform_buffer_object\n",
-"#extension GL_ARB_uniform_buffer_object : enable\n",
-"#endif\n",
-"#endif\n",
"dp_attribute vec4 Attrib_Position; // vertex\n",
"dp_attribute vec4 Attrib_Color; // color\n",
"dp_attribute vec4 Attrib_TexCoord0; // material texcoords\n",
"# define USEEYEVECTOR\n",
"#endif\n",
"\n",
-"#ifdef USESHADOWMAP2D\n",
-"# ifdef GL_EXT_gpu_shader4\n",
-"# extension GL_EXT_gpu_shader4 : enable\n",
-"# endif\n",
-"# ifdef GL_ARB_texture_gather\n",
-"# extension GL_ARB_texture_gather : enable\n",
-"# else\n",
-"# ifdef GL_AMD_texture_texture4\n",
-"# extension GL_AMD_texture_texture4 : enable\n",
-"# endif\n",
-"# endif\n",
-"#endif\n",
-"\n",
"//#ifdef __GLSL_CG_DATA_TYPES\n",
"//# define myhalf half\n",
"//# define myhalf2 half2\n",