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:
2025-10-05 09:50:19 +02:00
parent f5d6c993d3
commit 597f26461a
5 changed files with 511 additions and 19 deletions

View File

@@ -4,6 +4,7 @@
#include <SDL3/SDL_render.h> // Para SDL_Renderer, SDL_Texture
#include <string> // Para std::string
#include <vector> // Para std::vector
class Texture {
private:
@@ -17,6 +18,8 @@ class Texture {
public:
// Sistema de recursos empaquetados (inicializar desde main)
static void initResourceSystem(const std::string& packFilePath);
static std::vector<std::string> getPackResourceList();
static bool isPackLoaded();
// Inicializa las variables
explicit Texture(SDL_Renderer *renderer);