Implementar sistema de release Windows completo + carga dinámica de recursos
SISTEMA DE RELEASE (Makefile): - Adaptado windows_release de Coffee Crisis a ViBe3 Physics - Comandos Unix-style (rm/cp/mkdir) compatibles con Git Bash/MSYS2 - Compresión ZIP via PowerShell Compress-Archive - LICENSE opcional (si no existe, continúa) - Genera: vibe3_physics-YYYY-MM-DD-win32-x64.zip CARGA DINÁMICA DE RECURSOS: - Añadido Texture::getPackResourceList() - Lista recursos del pack - Añadido Texture::isPackLoaded() - Verifica si pack está cargado - engine.cpp: Descubrimiento dinámico de texturas desde pack - Sin listas hardcodeadas - Usa ResourcePack::getResourceList() - Filtra recursos por patrón "balls/*.png" automáticamente ARQUITECTURA: - Descubrimiento de texturas híbrido: 1. Si existe data/balls/ → escanear disco 2. Si no existe + pack cargado → listar desde pack 3. Ordenar por tamaño (automático) TESTING CONFIRMADO: - ✅ Release con resources.pack funciona sin data/ - ✅ Carga 4 texturas desde pack dinámicamente - ✅ make windows_release genera ZIP válido - ✅ Ejecutable arranca correctamente desde release/ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
13
source/external/texture.cpp
vendored
13
source/external/texture.cpp
vendored
@@ -32,6 +32,19 @@ void Texture::initResourceSystem(const std::string& packFilePath) {
|
||||
}
|
||||
}
|
||||
|
||||
// Obtener lista de recursos disponibles en el pack
|
||||
std::vector<std::string> Texture::getPackResourceList() {
|
||||
if (g_resourcePack != nullptr) {
|
||||
return g_resourcePack->getResourceList();
|
||||
}
|
||||
return std::vector<std::string>(); // Vacío si no hay pack
|
||||
}
|
||||
|
||||
// Verificar si el pack está cargado
|
||||
bool Texture::isPackLoaded() {
|
||||
return g_resourcePack != nullptr;
|
||||
}
|
||||
|
||||
Texture::Texture(SDL_Renderer *renderer)
|
||||
: renderer_(renderer),
|
||||
texture_(nullptr),
|
||||
|
||||
Reference in New Issue
Block a user