From 647284533302bd4138306c83bb57e8bf7c2d828e Mon Sep 17 00:00:00 2001 From: JailDoctor Date: Fri, 20 Oct 2023 13:13:00 +0200 Subject: [PATCH] - Millors missatges d'error en jfile --- source/jfile.cpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/source/jfile.cpp b/source/jfile.cpp index 1b857a4..7b3f4db 100644 --- a/source/jfile.cpp +++ b/source/jfile.cpp @@ -225,8 +225,7 @@ namespace file // Si no trobem el recurs, petem el mame if (!found) { - // [TODO] Donar mes informació de quin recurs no havem trobat - perror("El recurs no s'ha trobat en l'arxiu de recursos"); + printf("ERROR FATAL: No s'ha trobat el recurs '%s' a l'arxiu de recursos '%s'\n", resourcename.c_str(), resource_filename.c_str()); exit(1); } @@ -237,8 +236,7 @@ namespace file f.open(resource_filename.c_str(), binary ? std::ios::binary : std::ios::in); if (!f.is_open()) // En el raruno cas de que a este altures pete al obrir el arxiu de recursos, petem el mame { - // [TODO] Donar mes informació de quin recurs no havem trobat - perror("No s'ha pogut obrir l'arxiu de recursos"); + printf("ERROR FATAL: No s'ha pogut obrir l'arxiu de recursos '%s'\n", resource_filename.c_str()); exit(1); } @@ -251,6 +249,11 @@ namespace file { // Si estem pillant els recursos de carpeta, simplement obrim el arxiu en questió i tornem el FILE* associat. f.open((resource_folder + resourcename), binary ? std::ios::binary : std::ios::in); + if (f.rdstate() & std::ios_base::failbit) + { + printf("ERROR FATAL: No s'ha pogut obrir l'arxiu '%s/%s'\n", resource_folder.c_str(), resourcename.c_str()); + exit(1); + } f.seekg(0, std::ios_base::end); if (filesize) *filesize = f.tellg(); f.seekg(0, std::ios_base::beg); @@ -293,8 +296,7 @@ namespace file // Si no trobem el recurs, petem el mame if (!found) { - // [TODO] Donar mes informació de quin recurs no havem trobat - perror("El recurs no s'ha trobat en l'arxiu de recursos"); + printf("ERROR FATAL: No s'ha trobat el recurs '%s' a l'arxiu de recursos '%s'\n", resourcename.c_str(), resource_filename.c_str()); exit(1); } @@ -305,8 +307,7 @@ namespace file f = fopen(resource_filename.c_str(), binary ? "rb" : "r"); if (!f) // En el raruno cas de que a este altures pete al obrir el arxiu de recursos, petem el mame { - // [TODO] Donar mes informació de quin recurs no havem trobat - perror("No s'ha pogut obrir l'arxiu de recursos"); + printf("ERROR FATAL: No s'ha pogut obrir l'arxiu de recursos '%s'\n", resource_filename.c_str()); exit(1); } @@ -319,6 +320,12 @@ namespace file { // Si estem pillant els recursos de carpeta, simplement obrim el arxiu en questió i tornem el FILE* associat. f = fopen((resource_folder + resourcename).c_str(), binary ? "rb" : "r"); + if(!f) + { + printf("ERROR FATAL: No s'ha pogut obrir l'arxiu '%s/%s'\n", resource_folder.c_str(), resourcename.c_str()); + exit(1); + } + fseek(f, 0, SEEK_END); if (filesize) *filesize = ftell(f); fseek(f, 0, SEEK_SET);