mirror of
				https://github.com/raysan5/raylib.git
				synced 2025-10-26 12:27:01 +00:00 
			
		
		
		
	Review all RL_CALLOC() calls
All data should be properly initialized by now
This commit is contained in:
		| @@ -100,8 +100,7 @@ int main(void) | ||||
|  | ||||
|     // De-Initialization | ||||
|     //-------------------------------------------------------------------------------------- | ||||
|     // TODO: Unload materials and shaders | ||||
|      | ||||
|     UnloadMaterial(model.materials[0]); // Unload material: shader and textures | ||||
|     UnloadModel(model);         // Unload model | ||||
|  | ||||
|     CloseWindow();              // Close window and OpenGL context | ||||
|   | ||||
							
								
								
									
										30
									
								
								src/models.c
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								src/models.c
									
									
									
									
									
								
							| @@ -829,7 +829,7 @@ Material *LoadMaterials(const char *fileName, int *materialCount) | ||||
| Material LoadMaterialDefault(void) | ||||
| { | ||||
|     Material material = { 0 }; | ||||
|     material.maps = (MaterialMap *)RL_CALLOC(MAX_MATERIAL_MAPS*sizeof(MaterialMap), 1); | ||||
|     material.maps = (MaterialMap *)RL_CALLOC(MAX_MATERIAL_MAPS, sizeof(MaterialMap)); | ||||
|  | ||||
|     material.shader = GetShaderDefault(); | ||||
|     material.maps[MAP_DIFFUSE].texture = GetTextureDefault();   // White texture (1x1 pixel) | ||||
| @@ -1181,7 +1181,7 @@ bool IsModelAnimationValid(Model model, ModelAnimation anim) | ||||
| Mesh GenMeshPoly(int sides, float radius) | ||||
| { | ||||
|     Mesh mesh = { 0 }; | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|     int vertexCount = sides*3; | ||||
|  | ||||
|     // Vertices definition | ||||
| @@ -1244,7 +1244,7 @@ Mesh GenMeshPoly(int sides, float radius) | ||||
| Mesh GenMeshPlane(float width, float length, int resX, int resZ) | ||||
| { | ||||
|     Mesh mesh = { 0 }; | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
| #define CUSTOM_MESH_GEN_PLANE | ||||
| #if defined(CUSTOM_MESH_GEN_PLANE) | ||||
| @@ -1347,7 +1347,7 @@ Mesh GenMeshPlane(float width, float length, int resX, int resZ) | ||||
|     mesh.vertices = (float *)RL_MALLOC(plane->ntriangles*3*3*sizeof(float)); | ||||
|     mesh.texcoords = (float *)RL_MALLOC(plane->ntriangles*3*2*sizeof(float)); | ||||
|     mesh.normals = (float *)RL_MALLOC(plane->ntriangles*3*3*sizeof(float)); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int)); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
|     mesh.vertexCount = plane->ntriangles*3; | ||||
|     mesh.triangleCount = plane->ntriangles; | ||||
| @@ -1379,7 +1379,7 @@ Mesh GenMeshPlane(float width, float length, int resX, int resZ) | ||||
| Mesh GenMeshCube(float width, float height, float length) | ||||
| { | ||||
|     Mesh mesh = { 0 }; | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
| #define CUSTOM_MESH_GEN_CUBE | ||||
| #if defined(CUSTOM_MESH_GEN_CUBE) | ||||
| @@ -1545,7 +1545,7 @@ par_shapes_mesh* par_shapes_create_icosahedron();       // 20 sides polyhedron | ||||
| RLAPI Mesh GenMeshSphere(float radius, int rings, int slices) | ||||
| { | ||||
|     Mesh mesh = { 0 }; | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
|     par_shapes_mesh *sphere = par_shapes_create_parametric_sphere(slices, rings); | ||||
|     par_shapes_scale(sphere, radius, radius, radius); | ||||
| @@ -1584,7 +1584,7 @@ RLAPI Mesh GenMeshSphere(float radius, int rings, int slices) | ||||
| RLAPI Mesh GenMeshHemiSphere(float radius, int rings, int slices) | ||||
| { | ||||
|     Mesh mesh = { 0 }; | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
|     par_shapes_mesh *sphere = par_shapes_create_hemisphere(slices, rings); | ||||
|     par_shapes_scale(sphere, radius, radius, radius); | ||||
| @@ -1623,7 +1623,7 @@ RLAPI Mesh GenMeshHemiSphere(float radius, int rings, int slices) | ||||
| Mesh GenMeshCylinder(float radius, float height, int slices) | ||||
| { | ||||
|     Mesh mesh = { 0 }; | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
|     // Instance a cylinder that sits on the Z=0 plane using the given tessellation | ||||
|     // levels across the UV domain.  Think of "slices" like a number of pizza | ||||
| @@ -1682,7 +1682,7 @@ Mesh GenMeshCylinder(float radius, float height, int slices) | ||||
| Mesh GenMeshTorus(float radius, float size, int radSeg, int sides) | ||||
| { | ||||
|     Mesh mesh = { 0 }; | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
|     if (radius > 1.0f) radius = 1.0f; | ||||
|     else if (radius < 0.1f) radius = 0.1f; | ||||
| @@ -1725,7 +1725,7 @@ Mesh GenMeshTorus(float radius, float size, int radSeg, int sides) | ||||
| Mesh GenMeshKnot(float radius, float size, int radSeg, int sides) | ||||
| { | ||||
|     Mesh mesh = { 0 }; | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
|     if (radius > 3.0f) radius = 3.0f; | ||||
|     else if (radius < 0.5f) radius = 0.5f; | ||||
| @@ -1769,7 +1769,7 @@ Mesh GenMeshHeightmap(Image heightmap, Vector3 size) | ||||
|     #define GRAY_VALUE(c) ((c.r+c.g+c.b)/3) | ||||
|  | ||||
|     Mesh mesh = { 0 }; | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
|     int mapX = heightmap.width; | ||||
|     int mapZ = heightmap.height; | ||||
| @@ -1878,7 +1878,7 @@ Mesh GenMeshHeightmap(Image heightmap, Vector3 size) | ||||
| Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize) | ||||
| { | ||||
|     Mesh mesh = { 0 }; | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|     mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
|     Color *cubicmapPixels = GetImageData(cubicmap); | ||||
|  | ||||
| @@ -2819,7 +2819,7 @@ static Model LoadOBJ(const char *fileName) | ||||
|             mesh.vertices = (float *)RL_MALLOC(mesh.vertexCount*3*sizeof(float)); | ||||
|             mesh.texcoords = (float *)RL_MALLOC(mesh.vertexCount*2*sizeof(float)); | ||||
|             mesh.normals = (float *)RL_MALLOC(mesh.vertexCount*3*sizeof(float)); | ||||
|             mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|             mesh.vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
|             int vCount = 0; | ||||
|             int vtCount = 0; | ||||
| @@ -3089,7 +3089,7 @@ static Model LoadIQM(const char *fileName) | ||||
|         model.meshes[i].animVertices = RL_MALLOC(sizeof(float)*model.meshes[i].vertexCount*3); | ||||
|         model.meshes[i].animNormals = RL_MALLOC(sizeof(float)*model.meshes[i].vertexCount*3); | ||||
|          | ||||
|         model.meshes[i].vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|         model.meshes[i].vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|     } | ||||
|  | ||||
|     // Triangles data processing | ||||
| @@ -3411,7 +3411,7 @@ static Model LoadGLTF(const char *fileName) | ||||
|         model.materials = RL_MALLOC(model.materialCount*sizeof(Material)); | ||||
|         model.meshMaterial = RL_MALLOC(model.meshCount*sizeof(int)); | ||||
|          | ||||
|         for (int i = 0; i < model.meshCount; i++) model.meshes[i].vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO*sizeof(unsigned int), 1); | ||||
|         for (int i = 0; i < model.meshCount; i++) model.meshes[i].vboId = (unsigned int *)RL_CALLOC(MAX_MESH_VBO, sizeof(unsigned int)); | ||||
|  | ||||
|         for (int i = 0; i < model.materialCount - 1; i++) | ||||
|         { | ||||
|   | ||||
| @@ -591,7 +591,7 @@ void SetMasterVolume(float volume) | ||||
| // Create a new audio buffer. Initially filled with silence | ||||
| AudioBuffer *InitAudioBuffer(ma_format format, ma_uint32 channels, ma_uint32 sampleRate, ma_uint32 bufferSizeInFrames, int usage) | ||||
| { | ||||
|     AudioBuffer *audioBuffer = (AudioBuffer *)RL_CALLOC(sizeof(*audioBuffer), 1); | ||||
|     AudioBuffer *audioBuffer = (AudioBuffer *)RL_CALLOC(1, sizeof(AudioBuffer)); | ||||
|     audioBuffer->buffer = RL_CALLOC((bufferSizeInFrames*channels*ma_get_bytes_per_sample(format)), 1); | ||||
|      | ||||
|     if (audioBuffer == NULL) | ||||
|   | ||||
| @@ -1539,7 +1539,7 @@ void rlglInit(int width, int height) | ||||
|  | ||||
|     // NOTE: We have to duplicate string because glGetString() returns a const string | ||||
|     int len = strlen(extensions) + 1; | ||||
|     char *extensionsDup = (char *)RL_CALLOC(len, 1); | ||||
|     char *extensionsDup = (char *)RL_CALLOC(len, sizeof(char)); | ||||
|     strcpy(extensionsDup, extensions); | ||||
|      | ||||
|     extList[numExt] = extensionsDup; | ||||
| @@ -2967,7 +2967,7 @@ char *LoadText(const char *fileName) | ||||
| Shader LoadShader(const char *vsFileName, const char *fsFileName) | ||||
| { | ||||
|     Shader shader = { 0 }; | ||||
|     shader.locs = (int *)RL_CALLOC(MAX_SHADER_LOCATIONS*sizeof(int), 1); | ||||
|     shader.locs = (int *)RL_CALLOC(MAX_SHADER_LOCATIONS, sizeof(int)); | ||||
|  | ||||
|     char *vShaderStr = NULL; | ||||
|     char *fShaderStr = NULL; | ||||
| @@ -2988,7 +2988,7 @@ Shader LoadShader(const char *vsFileName, const char *fsFileName) | ||||
| Shader LoadShaderCode(char *vsCode, char *fsCode) | ||||
| { | ||||
|     Shader shader = { 0 }; | ||||
|     shader.locs = (int *)RL_CALLOC(MAX_SHADER_LOCATIONS*sizeof(int), 1); | ||||
|     shader.locs = (int *)RL_CALLOC(MAX_SHADER_LOCATIONS, sizeof(int)); | ||||
|  | ||||
|     // NOTE: All locations must be reseted to -1 (no location) | ||||
|     for (int i = 0; i < MAX_SHADER_LOCATIONS; i++) shader.locs[i] = -1; | ||||
| @@ -3861,7 +3861,7 @@ static unsigned int LoadShaderProgram(unsigned int vShaderId, unsigned int fShad | ||||
| static Shader LoadShaderDefault(void) | ||||
| { | ||||
|     Shader shader = { 0 }; | ||||
|     shader.locs = (int *)RL_CALLOC(MAX_SHADER_LOCATIONS*sizeof(int), 1); | ||||
|     shader.locs = (int *)RL_CALLOC(MAX_SHADER_LOCATIONS, sizeof(int)); | ||||
|  | ||||
|     // NOTE: All locations must be reseted to -1 (no location) | ||||
|     for (int i = 0; i < MAX_SHADER_LOCATIONS; i++) shader.locs[i] = -1; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 raysan5
					raysan5