diff options
| author | victorfisac <[email protected]> | 2017-03-30 02:46:19 +0200 |
|---|---|---|
| committer | victorfisac <[email protected]> | 2017-03-30 02:46:19 +0200 |
| commit | 0d06c946f2a6b7ce0eb374159333872392a707d9 (patch) | |
| tree | ac7321f9ef1d4ea8221aa01089e660ff477e2326 /src/models.c | |
| parent | b2f0c7ca8b8e9484560a45c4547794fa62cf484f (diff) | |
| parent | 954a24545ffd65f55893bf02c3c8d530a03f099a (diff) | |
| download | raylib-0d06c946f2a6b7ce0eb374159333872392a707d9.tar.gz raylib-0d06c946f2a6b7ce0eb374159333872392a707d9.zip | |
Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop
Diffstat (limited to 'src/models.c')
| -rw-r--r-- | src/models.c | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/src/models.c b/src/models.c index 67e1693c..47220af8 100644 --- a/src/models.c +++ b/src/models.c @@ -4,7 +4,7 @@ * * CONFIGURATION: * -* #define SUPPORT_FILEFORMAT_OBJ / SUPPORT_LOAD_OBJ +* #define SUPPORT_FILEFORMAT_OBJ * Selected desired fileformats to be supported for loading. * * #define SUPPORT_FILEFORMAT_MTL @@ -32,6 +32,12 @@ * **********************************************************************************************/ +// Default configuration flags (supported features) +//------------------------------------------------- +#define SUPPORT_FILEFORMAT_OBJ +#define SUPPORT_FILEFORMAT_MTL +//------------------------------------------------- + #include "raylib.h" #if defined(PLATFORM_ANDROID) @@ -63,8 +69,12 @@ //---------------------------------------------------------------------------------- // Module specific Functions Declaration //---------------------------------------------------------------------------------- +#if defined(SUPPORT_FILEFORMAT_OBJ) static Mesh LoadOBJ(const char *fileName); // Load OBJ mesh data +#endif +#if defined(SUPPORT_FILEFORMAT_MTL) static Material LoadMTL(const char *fileName); // Load MTL material data +#endif static Mesh GenMeshHeightmap(Image image, Vector3 size); static Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize); @@ -582,8 +592,11 @@ Mesh LoadMesh(const char *fileName) { Mesh mesh = { 0 }; - if (strcmp(GetExtension(fileName), "obj") == 0) mesh = LoadOBJ(fileName); - else TraceLog(WARNING, "[%s] Mesh extension not recognized, it can't be loaded", fileName); +#if defined(SUPPORT_FILEFORMAT_OBJ) + if (IsFileExtension(fileName, ".obj")) mesh = LoadOBJ(fileName); +#else + TraceLog(WARNING, "[%s] Mesh fileformat not supported, it can't be loaded", fileName); +#endif if (mesh.vertexCount == 0) TraceLog(WARNING, "Mesh could not be loaded"); else rlglLoadMesh(&mesh, false); // Upload vertex data to GPU (static mesh) @@ -692,8 +705,11 @@ Material LoadMaterial(const char *fileName) { Material material = { 0 }; - if (strcmp(GetExtension(fileName), "mtl") == 0) material = LoadMTL(fileName); - else TraceLog(WARNING, "[%s] Material extension not recognized, it can't be loaded", fileName); +#if defined(SUPPORT_FILEFORMAT_MTL) + if (IsFileExtension(fileName, ".mtl")) material = LoadMTL(fileName); +#else + TraceLog(WARNING, "[%s] Material fileformat not supported, it can't be loaded", fileName); +#endif return material; } @@ -1590,6 +1606,7 @@ BoundingBox CalculateBoundingBox(Mesh mesh) // Module specific Functions Definition //---------------------------------------------------------------------------------- +#if defined(SUPPORT_FILEFORMAT_OBJ) // Load OBJ mesh data static Mesh LoadOBJ(const char *fileName) { @@ -1838,7 +1855,9 @@ static Mesh LoadOBJ(const char *fileName) return mesh; } +#endif +#if defined(SUPPORT_FILEFORMAT_MTL) // Load MTL material data (specs: http://paulbourke.net/dataformats/mtl/) // NOTE: Texture map parameters are not supported static Material LoadMTL(const char *fileName) @@ -2002,3 +2021,4 @@ static Material LoadMTL(const char *fileName) return material; } +#endif |
