Precàrrega de tots els recursos al inici del joc
8.000.000 de cherrypickings que he anat fent pel codi
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
|
||||
#include "texture.h"
|
||||
#include "utils.h"
|
||||
#include <SDL2/SDL_error.h> // for SDL_GetError
|
||||
#include <SDL2/SDL_surface.h> // for SDL_CreateRGBSurfaceWithFormatFrom
|
||||
#include <fcntl.h> // for SEEK_END, SEEK_SET
|
||||
@@ -54,20 +55,20 @@ Texture::~Texture()
|
||||
}
|
||||
|
||||
// Carga una imagen desde un fichero
|
||||
bool Texture::loadFromFile(const std::string &path)
|
||||
bool Texture::loadFromFile(const std::string &file_path)
|
||||
{
|
||||
int req_format = STBI_rgb_alpha;
|
||||
int width, height, orig_format;
|
||||
unsigned char *data = stbi_load(path.c_str(), &width, &height, &orig_format, req_format);
|
||||
unsigned char *data = stbi_load(file_path.c_str(), &width, &height, &orig_format, req_format);
|
||||
if (!data)
|
||||
{
|
||||
std::cout << "Loading image failed: " << stbi_failure_reason() << std::endl;
|
||||
exit(1);
|
||||
std::cerr << "Error: Fichero no encontrado " << file_path << std::endl;
|
||||
throw std::runtime_error("Fichero no encontrado: " + file_path);
|
||||
}
|
||||
else
|
||||
{
|
||||
const std::string file_name = path.substr(path.find_last_of("\\/") + 1);
|
||||
std::cout << "Image loaded: " << file_name << std::endl;
|
||||
const std::string file_name = file_path.substr(file_path.find_last_of("\\/") + 1);
|
||||
printWithDots("Image : ", file_name, "[ LOADED ]");
|
||||
}
|
||||
|
||||
int depth, pitch;
|
||||
@@ -95,7 +96,7 @@ bool Texture::loadFromFile(const std::string &path)
|
||||
auto loadedSurface = SDL_CreateRGBSurfaceWithFormatFrom(static_cast<void *>(data), width, height, depth, pitch, pixel_format);
|
||||
if (loadedSurface == nullptr)
|
||||
{
|
||||
std::cout << "Unable to load image " << path << std::endl;
|
||||
std::cout << "Unable to load image " << file_path << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -103,7 +104,7 @@ bool Texture::loadFromFile(const std::string &path)
|
||||
newTexture = SDL_CreateTextureFromSurface(renderer_, loadedSurface);
|
||||
if (newTexture == nullptr)
|
||||
{
|
||||
std::cout << "Unable to create texture from " << path << "! SDL Error: " << SDL_GetError() << std::endl;
|
||||
std::cout << "Unable to create texture from " << file_path << "! SDL Error: " << SDL_GetError() << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user