From b9fe376f2acadfdabeb0f8add936fcbba3d99331 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Fri, 24 Oct 2025 23:21:27 +0200 Subject: [PATCH] eliminat el fallback a disc en les versions de release --- Makefile | 14 +++++++------- source/director.cpp | 15 +++++++++++++-- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 7facf3c..f3318a4 100644 --- a/Makefile +++ b/Makefile @@ -201,7 +201,7 @@ windows_release: # Compila windres release/coffee.rc -O coff -o $(RESOURCE_FILE) - $(CXX) $(APP_SOURCES) $(RESOURCE_FILE) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(WIN_RELEASE_FILE).exe" + $(CXX) $(APP_SOURCES) $(RESOURCE_FILE) $(INCLUDES) -DRELEASE_BUILD $(CXXFLAGS) $(LDFLAGS) -o "$(WIN_RELEASE_FILE).exe" strip -s -R .comment -R .gnu.version "$(WIN_RELEASE_FILE).exe" --strip-unneeded # Crea el fichero .zip @@ -252,7 +252,7 @@ macos_release: # Compila la versión para procesadores Intel ifdef ENABLE_MACOS_X86_64 - $(CXX) $(APP_SOURCES) $(INCLUDES) -DMACOS_BUNDLE $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target x86_64-apple-macos10.15 + $(CXX) $(APP_SOURCES) $(INCLUDES) -DMACOS_BUNDLE -DRELEASE_BUILD $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target x86_64-apple-macos10.15 # Firma la aplicación codesign --deep --force --sign - --timestamp=none "$(RELEASE_FOLDER)/$(APP_NAME).app" @@ -265,7 +265,7 @@ ifdef ENABLE_MACOS_X86_64 endif # Compila la versión para procesadores Apple Silicon - $(CXX) $(APP_SOURCES) $(INCLUDES) -DMACOS_BUNDLE -DSDL_DISABLE_IMMINTRIN_H $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target arm64-apple-macos11 + $(CXX) $(APP_SOURCES) $(INCLUDES) -DMACOS_BUNDLE -DRELEASE_BUILD -DSDL_DISABLE_IMMINTRIN_H $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/MacOS/$(TARGET_NAME)" -rpath @executable_path/../Frameworks/ -target arm64-apple-macos11 # Firma la aplicación codesign --deep --force --sign - --timestamp=none "$(RELEASE_FOLDER)/$(APP_NAME).app" @@ -306,7 +306,7 @@ linux_release: cp README.md "$(RELEASE_FOLDER)" # Compila - $(CXX) $(APP_SOURCES) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FILE)" + $(CXX) $(APP_SOURCES) $(INCLUDES) -DRELEASE_BUILD $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FILE)" strip -s -R .comment -R .gnu.version "$(RELEASE_FILE)" --strip-unneeded # Empaqueta ficheros @@ -338,7 +338,7 @@ linux_release_desktop: cp README.md "$(RELEASE_FOLDER)/$(TARGET_NAME)/" # Compila el ejecutable - $(CXX) $(APP_SOURCES) $(INCLUDES) $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(TARGET_NAME)/bin/$(TARGET_NAME)" + $(CXX) $(APP_SOURCES) $(INCLUDES) -DRELEASE_BUILD $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FOLDER)/$(TARGET_NAME)/bin/$(TARGET_NAME)" strip -s -R .comment -R .gnu.version "$(RELEASE_FOLDER)/$(TARGET_NAME)/bin/$(TARGET_NAME)" --strip-unneeded # Crea el archivo .desktop @@ -441,7 +441,7 @@ raspi_release: cp README.md "$(RELEASE_FOLDER)" # Compila - $(CXX) $(APP_SOURCES) $(INCLUDES) -DVERBOSE $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FILE)" + $(CXX) $(APP_SOURCES) $(INCLUDES) -DRELEASE_BUILD -DVERBOSE $(CXXFLAGS) $(LDFLAGS) -o "$(RELEASE_FILE)" strip -s -R .comment -R .gnu.version "$(RELEASE_FILE)" --strip-unneeded # Empaqueta ficheros @@ -467,7 +467,7 @@ anbernic: cp resources.pack "$(RELEASE_FOLDER)"_anbernic # Compila - $(CXX) $(APP_SOURCES) $(INCLUDES) -DANBERNIC -DNO_SHADERS -DARCADE -DVERBOSE $(CXXFLAGS) $(LDFLAGS) -o $(RELEASE_FOLDER)_anbernic/$(TARGET_NAME) + $(CXX) $(APP_SOURCES) $(INCLUDES) -DRELEASE_BUILD -DANBERNIC -DNO_SHADERS -DARCADE -DVERBOSE $(CXXFLAGS) $(LDFLAGS) -o $(RELEASE_FOLDER)_anbernic/$(TARGET_NAME) # Opción para deshabilitar audio (equivalente a la opción DISABLE_AUDIO de CMake) no_audio: diff --git a/source/director.cpp b/source/director.cpp index 79f7560..fdfbd72 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -81,11 +81,22 @@ void Director::init() { // Configuración inicial de parametros Asset::init(executable_path_); // Inicializa el sistema de gestión de archivos + // Determinar ruta del pack según la plataforma #ifdef MACOS_BUNDLE - ResourceHelper::initializeResourceSystem(executable_path_ + "../Resources/resources.pack"); + std::string pack_path = executable_path_ + "../Resources/resources.pack"; #else - ResourceHelper::initializeResourceSystem(executable_path_ + "resources.pack"); + std::string pack_path = executable_path_ + "resources.pack"; #endif + + // Inicializar sistema de recursos con o sin fallback según el tipo de build +#ifdef RELEASE_BUILD + // Release: Sin fallback - Solo resources.pack (estricto) + ResourceHelper::initializeResourceSystem(pack_path, false); +#else + // Desarrollo: Con fallback - Puede usar data/ si falta el pack (flexible) + ResourceHelper::initializeResourceSystem(pack_path, true); +#endif + loadAssets(); // Crea el índice de archivos Logger::section("INIT INPUT");