From 52a950db62ed2887bf7baf3ea71b7bf1c1e0b81b Mon Sep 17 00:00:00 2001 From: ejcoumans Date: Wed, 20 Sep 2006 03:19:27 +0000 Subject: [PATCH] added alternative paths, when files are not found --- Extras/GPUphysics/GPU_physics_demo.cpp | 8 ++++---- Extras/GPUphysics/shaderSupport.cpp | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Extras/GPUphysics/GPU_physics_demo.cpp b/Extras/GPUphysics/GPU_physics_demo.cpp index fa3f6b945..7fd766eac 100644 --- a/Extras/GPUphysics/GPU_physics_demo.cpp +++ b/Extras/GPUphysics/GPU_physics_demo.cpp @@ -431,11 +431,11 @@ void initCubeVBO () { //the filenames have additional path to make it easier for some platforms if ( noVertexTextureSupport ) - cubeShader = new GLSL_ShaderPair ( "CubeShader", "../../Extras/GPUphysics/cubeShaderNoTexture.vert", - "../../Extras/GPUphysics/cubeShader.frag" ) ; + cubeShader = new GLSL_ShaderPair ( "CubeShader", "cubeShaderNoTexture.vert", + "cubeShader.frag" ) ; else - cubeShader = new GLSL_ShaderPair ( "CubeShader", "../../Extras/GPUphysics/cubeShader.vert", - "../../Extras/GPUphysics/cubeShader.frag" ) ; + cubeShader = new GLSL_ShaderPair ( "CubeShader", "cubeShader.vert", + "cubeShader.frag" ) ; assert ( cubeShader -> compiledOK () ) ; } } diff --git a/Extras/GPUphysics/shaderSupport.cpp b/Extras/GPUphysics/shaderSupport.cpp index 083095a11..24e668cbb 100644 --- a/Extras/GPUphysics/shaderSupport.cpp +++ b/Extras/GPUphysics/shaderSupport.cpp @@ -51,6 +51,24 @@ static char *readShaderText ( const char *fname ) FILE *fd = fopen ( fname, "r" ) ; + if (!fd) + { + //some platforms might require different path, try two additional locations + char newname[256]; + sprintf(newname,"../../Extras/GPUphysics/%s",fname); + fd = fopen( newname ,"r"); + if (!fd) + { + sprintf("Extras/GPUphysics/%s",fname); + fd = fopen( newname,"r"); + } + } + + if (!fd) + { + printf("cannot open file %s\n",fname); + exit(1); + } int size = 0; /* File operations denied? ok, just close and return failure */