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
This commit is contained in:
laurenloco 2021-10-02 13:29:12 -03:00
parent 9882796df0
commit 2ad866da0b
2 changed files with 26 additions and 43 deletions

View File

@ -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 )

View File

@ -123,6 +123,8 @@
//----------------------------------------------------------------------------------
// Module specific Functions Declaration
//----------------------------------------------------------------------------------
static Vector3 *ToVector3(VoxVector3 *array);
static Color *ToColor(VoxColor *array);
#if defined(SUPPORT_FILEFORMAT_OBJ)
static Model LoadOBJ(const char *fileName); // Load OBJ mesh data
#endif
@ -3679,6 +3681,25 @@ RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Ve
//----------------------------------------------------------------------------------
// Module specific Functions Definition
//----------------------------------------------------------------------------------
static Vector3 *ToVector3(VoxVector3 *array)
{
Vector3 *vec = { 0 };
vec->x = array->x;
vec->y = array->y;
vec->z = array->z;
return vec;
}
static Color *ToColor(VoxColor *array)
{
Color *color = { 0 };
color->r = array->r;
color->g = array->g;
color->b = array->b;
color->a = array->a;
return color;
}
#if defined(SUPPORT_FILEFORMAT_OBJ)
// Load OBJ mesh data
//
@ -5745,8 +5766,8 @@ 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;
Vector3 *pvertices = ToVector3(voxarray.vertices.array); // 6*4 = 12 vertices per voxel
Color *pcolors = ToColor(voxarray.colors.array);
unsigned short *pindices = voxarray.indices.array; // 5461*6*6 = 196596 indices max per mesh
int size = 0;