From 9fce26bb068dc327735d0cdba35b8ef011a7b815 Mon Sep 17 00:00:00 2001 From: Laurentino Luna <81370009+catmanl@users.noreply.github.com> Date: Sun, 3 Oct 2021 07:11:20 -0300 Subject: [PATCH] Supress most warnings on rmodels.c (#2029) * Supress most warnings on rmodels.c NOTE: unused symbols have been deleted and the following report will show in what location they were previously. Unused symbols: - ArrayInt - vox_loader.h: line 84 - initArrayInt - vox_loader.h: line 168 - insertArrayInt - vox_loader.h: line 175 - freeArrayInt - vox_loader.h: line 186 - offsetX, offsetY, offsetZ - vox_loader.h: line 610 - chunkTotalChildSize - vox_loader.h: line 623 Other warnings: - initialization discards 'const' qualifier - vox_loader.h: line 572 - incompatible types for VoxVector3 and Vector3 - rmodels.c: line 5748 - incompatible types for VoxColor and Color - rmodels: line 5749 * Remove ToVector3 and ToColor functions and assign values directly --- src/external/vox_loader.h | 44 +++------------------------------------ src/rmodels.c | 14 +++++++++++-- 2 files changed, 15 insertions(+), 43 deletions(-) diff --git a/src/external/vox_loader.h b/src/external/vox_loader.h index 70d62720..f199a333 100644 --- a/src/external/vox_loader.h +++ b/src/external/vox_loader.h @@ -42,6 +42,7 @@ revision history: Removed Raylib dependencies Changed Vox_LoadFileName to Vox_LoadFromMemory 1.02 (2021-09-10) @raysan5: Reviewed some formating + 1.03 (2021-10-02) @catmanl: Reduce warnings on gcc */ @@ -80,11 +81,6 @@ typedef struct { float x, y, z; } VoxVector3; -typedef struct { - int* array; - int used, size; -} ArrayInt; - typedef struct { VoxVector3* array; int used, size; @@ -142,7 +138,7 @@ extern "C" { // Prevents name mangling of functions #endif // Functions -int Vox_LoadFromMemory(const unsigned char* pvoxData, unsigned int voxDataSize, VoxArray3D* pvoxarray); +int Vox_LoadFromMemory(unsigned char* pvoxData, unsigned int voxDataSize, VoxArray3D* pvoxarray); void Vox_FreeArrays(VoxArray3D* voxarray); #ifdef __cplusplus @@ -161,35 +157,6 @@ void Vox_FreeArrays(VoxArray3D* voxarray); #ifdef VOX_LOADER_IMPLEMENTATION -///////////////////////////////////////////////////////////////////////////////////////////// -// ArrayInt helper -///////////////////////////////////////////////////////////////////////////////////////////// - -static void initArrayInt(ArrayInt* a, int initialSize) -{ - a->array = VOX_MALLOC(initialSize * sizeof(int)); - a->used = 0; - a->size = initialSize; -} - -static void insertArrayInt(ArrayInt* a, int element) -{ - if (a->used == a->size) - { - a->size *= 2; - a->array = VOX_REALLOC(a->array, a->size * sizeof(int)); - } - - a->array[a->used++] = element; -} - -static void freeArrayInt(ArrayInt* a) -{ - VOX_FREE(a->array); - a->array = NULL; - a->used = a->size = 0; -} - ///////////////////////////////////////////////////////////////////////////////////////////// // ArrayUShort helper ///////////////////////////////////////////////////////////////////////////////////////////// @@ -560,7 +527,7 @@ static void Vox_Build_Voxel(VoxArray3D* pvoxArray, int x, int y, int z, int matI } // MagicaVoxel *.vox file format Loader -int Vox_LoadFromMemory(const unsigned char* pvoxData, unsigned int voxDataSize, VoxArray3D* pvoxarray) +int Vox_LoadFromMemory(unsigned char* pvoxData, unsigned int voxDataSize, VoxArray3D* pvoxarray) { ////////////////////////////////////////////////// //Read VOX file @@ -607,8 +574,6 @@ int Vox_LoadFromMemory(const unsigned char* pvoxData, unsigned int voxDataSize, unsigned long sizeX, sizeY, sizeZ; sizeX = sizeY = sizeZ = 0; unsigned long numVoxels = 0; - int offsetX, offsetY, offsetZ; - offsetX = offsetY = offsetZ = 0; while (fileDataPtr < endfileDataPtr) { @@ -620,9 +585,6 @@ int Vox_LoadFromMemory(const unsigned char* pvoxData, unsigned int voxDataSize, unsigned long chunkSize = *((unsigned long*)fileDataPtr); fileDataPtr += sizeof(unsigned long); - unsigned long chunkTotalChildSize = *((unsigned long*)fileDataPtr); - fileDataPtr += sizeof(unsigned long); - if (strcmp(szChunkName, "SIZE") == 0) { //(4 bytes x 3 : x, y, z ) diff --git a/src/rmodels.c b/src/rmodels.c index 8ccd26b5..11778901 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -5745,8 +5745,18 @@ static Model LoadVOX(const char *fileName) int verticesRemain = voxarray.vertices.used; int verticesMax = 65532; // 5461 voxels x 12 vertices per voxel -> 65532 (must be inf 65536) - Vector3 *pvertices = voxarray.vertices.array; // 6*4 = 12 vertices per voxel - Color *pcolors = voxarray.colors.array; + // 6*4 = 12 vertices per voxel + Vector3 *pvertices = { 0 }; + pvertices->x = voxarray.vertices.array->x; + pvertices->y = voxarray.vertices.array->y; + pvertices->z = voxarray.vertices.array->z; + + Color *pcolors = { 0 }; + pcolors->r = voxarray.colors.array->r; + pcolors->g = voxarray.colors.array->g; + pcolors->b = voxarray.colors.array->b; + pcolors->a = voxarray.colors.array->a; + unsigned short *pindices = voxarray.indices.array; // 5461*6*6 = 196596 indices max per mesh int size = 0;