From 8529a2c934ff1543621418a8d0cd54bea0123462 Mon Sep 17 00:00:00 2001 From: En Yi Date: Sat, 11 Nov 2023 13:04:24 +0800 Subject: [PATCH] Use unsigned int for rres Id as per the struct --- engine/rres.c | 10 +++++----- engine/rres.h | 8 ++++---- res/rres_packer.c | 2 +- scenes/player_ent.c | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/engine/rres.c b/engine/rres.c index bb05176..480d279 100644 --- a/engine/rres.c +++ b/engine/rres.c @@ -42,7 +42,7 @@ static rresResourceChunkData rresLoadResourceChunkData(rresResourceChunkInfo inf // Module Functions Definition //---------------------------------------------------------------------------------- // Load one resource chunk for provided id -rresResourceChunk rresLoadResourceChunk(const char *fileName, int rresId) +rresResourceChunk rresLoadResourceChunk(const char *fileName, unsigned int rresId) { rresResourceChunk chunk = { 0 }; @@ -139,7 +139,7 @@ void rresUnloadResourceChunk(rresResourceChunk chunk) // Load resource from file by id // NOTE: All resources conected to base id are loaded -rresResourceMulti rresLoadResourceMulti(const char *fileName, int rresId) +rresResourceMulti rresLoadResourceMulti(const char *fileName, unsigned int rresId) { rresResourceMulti rres = { 0 }; @@ -252,7 +252,7 @@ void rresUnloadResourceMulti(rresResourceMulti multi) } // Load resource chunk info for provided id -RRESAPI rresResourceChunkInfo rresLoadResourceChunkInfo(const char *fileName, int rresId) +RRESAPI rresResourceChunkInfo rresLoadResourceChunkInfo(const char *fileName, unsigned int rresId) { rresResourceChunkInfo info = { 0 }; @@ -443,9 +443,9 @@ unsigned int rresGetDataType(const unsigned char *fourCC) // Get resource identifier from filename // WARNING: It requires the central directory previously loaded -int rresGetResourceId(rresCentralDir dir, const char *fileName) +unsigned int rresGetResourceId(rresCentralDir dir, const char *fileName) { - int id = 0; + unsigned int id = 0; for (unsigned int i = 0, len = 0; i < dir.count; i++) { diff --git a/engine/rres.h b/engine/rres.h index 865f7f8..25b689d 100644 --- a/engine/rres.h +++ b/engine/rres.h @@ -485,22 +485,22 @@ extern "C" { // Prevents name mangling of functions #endif // Load only one resource chunk (first resource id found) -RRESAPI rresResourceChunk rresLoadResourceChunk(const char *fileName, int rresId); // Load one resource chunk for provided id +RRESAPI rresResourceChunk rresLoadResourceChunk(const char *fileName, unsigned int rresId); // Load one resource chunk for provided id RRESAPI void rresUnloadResourceChunk(rresResourceChunk chunk); // Unload resource chunk from memory // Load multi resource chunks for a specified rresId -RRESAPI rresResourceMulti rresLoadResourceMulti(const char *fileName, int rresId); // Load resource for provided id (multiple resource chunks) +RRESAPI rresResourceMulti rresLoadResourceMulti(const char *fileName, unsigned int rresId); // Load resource for provided id (multiple resource chunks) RRESAPI void rresUnloadResourceMulti(rresResourceMulti multi); // Unload resource from memory (multiple resource chunks) // Load resource(s) chunk info from file -RRESAPI rresResourceChunkInfo rresLoadResourceChunkInfo(const char *fileName, int rresId); // Load resource chunk info for provided id +RRESAPI rresResourceChunkInfo rresLoadResourceChunkInfo(const char *fileName, unsigned int rresId); // Load resource chunk info for provided id RRESAPI rresResourceChunkInfo *rresLoadResourceChunkInfoAll(const char *fileName, unsigned int *chunkCount); // Load all resource chunks info RRESAPI rresCentralDir rresLoadCentralDirectory(const char *fileName); // Load central directory resource chunk from file RRESAPI void rresUnloadCentralDirectory(rresCentralDir dir); // Unload central directory resource chunk RRESAPI unsigned int rresGetDataType(const unsigned char *fourCC); // Get rresResourceDataType from FourCC code -RRESAPI int rresGetResourceId(rresCentralDir dir, const char *fileName); // Get resource id for a provided filename +RRESAPI unsigned int rresGetResourceId(rresCentralDir dir, const char *fileName); // Get resource id for a provided filename // NOTE: It requires CDIR available in the file (it's optinal by design) RRESAPI unsigned int rresComputeCRC32(unsigned char *data, int len); // Compute CRC32 for provided data diff --git a/res/rres_packer.c b/res/rres_packer.c index 252388e..a289efc 100644 --- a/res/rres_packer.c +++ b/res/rres_packer.c @@ -14,7 +14,7 @@ static unsigned char *LoadDataBuffer(rresResourceChunkData data, unsigned int ra unsigned char *buffer = (unsigned char *)RRES_CALLOC((data.propCount + 1)*sizeof(unsigned int) + rawSize, 1); memcpy(buffer, &data.propCount, sizeof(unsigned int)); - for (int i = 0; i < data.propCount; i++) memcpy(buffer + (i + 1)*sizeof(unsigned int), &data.props[i], sizeof(unsigned int)); + for (unsigned int i = 0; i < data.propCount; i++) memcpy(buffer + (i + 1)*sizeof(unsigned int), &data.props[i], sizeof(unsigned int)); memcpy(buffer + (data.propCount + 1)*sizeof(unsigned int), data.raw, rawSize); return buffer; diff --git a/scenes/player_ent.c b/scenes/player_ent.c index 719deb7..827607a 100644 --- a/scenes/player_ent.c +++ b/scenes/player_ent.c @@ -195,7 +195,7 @@ bool init_player_creation_rres(const char* rres_fname, const char* file, Assets_ return false; } - int res_id = rresGetResourceId(rres_file.dir, file); + unsigned int res_id = rresGetResourceId(rres_file.dir, file); rresResourceChunk chunk = rresLoadResourceChunk(rres_file.fname, res_id); bool okay = false;