From a6ba8fe15aa7e71f82b48378f53e962e9fad2f59 Mon Sep 17 00:00:00 2001 From: JackCarterSmith Date: Sun, 22 Jan 2023 01:00:44 +0100 Subject: [PATCH] Fix HOB deallocation Removed logging in library by default --- RSPModelLib/src/RSPModel.c | 2 -- RSPModelLib/src/hob_parser.c | 11 +++++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/RSPModelLib/src/RSPModel.c b/RSPModelLib/src/RSPModel.c index 38d7295..f3098e2 100644 --- a/RSPModelLib/src/RSPModel.c +++ b/RSPModelLib/src/RSPModel.c @@ -71,8 +71,6 @@ void RSPModel_freeHOB( T_RSPMODEL_HOB* hobStruct ) { } free(hobStruct->objects); } - - free(hobStruct); } diff --git a/RSPModelLib/src/hob_parser.c b/RSPModelLib/src/hob_parser.c index e050cc1..5c8f60a 100644 --- a/RSPModelLib/src/hob_parser.c +++ b/RSPModelLib/src/hob_parser.c @@ -108,9 +108,9 @@ static unsigned short ExtractObjects(T_RSPMODEL_HOB* pHobStruct, const MEMFILE p // Retrieve object count from the header pHobStruct->obj_count = RSP_ModelLib_getObjectsCount(pMemfile); - printf("[INFO] - Object(s) quantity: %d\n", pHobStruct->obj_count); + if (pParams->verbose_mode) printf("[INFO] - Object(s) quantity: %d\n", pHobStruct->obj_count); if (pHobStruct->obj_count <= 0) { - printf("[INFO] Can't process empty file!\n"); + if (pParams->verbose_mode) printf("[INFO] Can't process empty file!\n"); return RSPLIB_ERROR_GENERIC; } @@ -125,8 +125,7 @@ static unsigned short ExtractObjects(T_RSPMODEL_HOB* pHobStruct, const MEMFILE p memcpy(pHobStruct->objects[i].name, ((T_HOBFILE_OBJ_DESCRIPTOR *)(pMemfile + sizeof(T_HOBFILE_HEADER) + sizeof(T_HOBFILE_OBJ_DESCRIPTOR) * i))->object_name, 16); - if (pParams->verbose_mode) printf("\n"); - printf("[INFO] - Process %s object...\n", pHobStruct->objects[i].name); + if (pParams->verbose_mode) printf("\n[INFO] - Process %s object...\n", pHobStruct->objects[i].name); // Get offsets @@ -159,8 +158,8 @@ static unsigned short ExtractObjects(T_RSPMODEL_HOB* pHobStruct, const MEMFILE p * Seem "object" are independant structure like xwing, turret, etc. * Facegroup is more like part of previous object, like wing-left, turret-barrel, etc. */ - if (pHobStruct->objects[i].object_part_count != pHobStruct->objects[i].face_group_count && (pParams->verbose_mode)) - printf("[DBG] > Object parts / facegroup count are different!\n"); + if (pHobStruct->objects[i].object_part_count != pHobStruct->objects[i].face_group_count) + if (pParams->verbose_mode) printf("[DBG] > Object parts / facegroup count are different!\n"); // Get facegroup datas ExtractObjParts(&pHobStruct->objects[i], pMemfile, pParams); -- 2.39.5