**Problema crítico:**
Error al ejecutar aplicación: "Pack inválido (magic incorrecto)"
**Causa raíz:**
El binario tools/pack_resources era OBSOLETO (de proyecto anterior):
- Binario: "Coffee Crisis Arcade Edition" (5 oct, 68 KB)
- Magic number generado: "CCAE" (43 43 41 45)
- Magic esperado por código: "VBE3" (56 42 45 33)
**Verificación:**
```bash
$ strings tools/pack_resources | grep -i coffee
Coffee Crisis Arcade Edition ← BINARIO ANTIGUO
CCAE_RESOURCES_2024
```
**Solución:**
1. Eliminado binario antiguo tools/pack_resources
2. Recompilado desde código actual (pack_resources.cpp)
3. Regenerado resources.pack con herramienta correcta
**Resultado:**
✅ Binario nuevo: "ViBe3 Physics - Resource Packer"
✅ Magic number correcto: 56 42 45 33 ("VBE3")
✅ Pack válido: 16 recursos, 3.7 MB
✅ Aplicación carga correctamente
**Nota:** El commit anterior (4d3ddec) añadió permisos +x al binario
antiguo, pero no lo recompiló. Este commit corrige el binario.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
ViBe3 Physics - Herramientas de Recursos
Este directorio contiene herramientas para empaquetar los recursos del proyecto en un archivo único y ofuscado.
📁 Archivos
pack_resources.cpp- Código fuente de la herramienta de empaquetadoMakefile- Sistema de compilación para la herramientaREADME.md- Esta documentación
🔧 Compilación
Opción 1: Usar Makefile (Recomendado)
cd tools/
make
Opción 2: Compilación manual
cd tools/
g++ -std=c++17 -I../ pack_resources.cpp ../source/resource_pack.cpp -o pack_resources
📦 Uso de la herramienta
Crear pack de recursos
# Desde el directorio tools/
make create_pack
# O manualmente:
./pack_resources ../data ../resources.pack
Crear pack de prueba
# Desde el directorio tools/
make test_pack
# O manualmente:
./pack_resources ../data test_resources.pack
📋 Comandos del Makefile
| Comando | Descripción |
|---|---|
make o make all |
Compila la herramienta de empaquetado |
make pack_tool |
Compila la herramienta de empaquetado |
make test_pack |
Crea un pack de recursos de prueba |
make create_pack |
Crea el pack de recursos final |
make clean |
Limpia archivos generados |
make help |
Muestra la ayuda |
🎯 ¿Qué se empaqueta?
La herramienta empaqueta solo el contenido del directorio data/:
data/
├── balls/ ✅ Empaquetado (texturas de sprites)
└── logos/ ✅ Empaquetado (PNG shapes)
NO se empaqueta:
- Archivos de sistema
- Config (ViBe3 no usa carpeta config)
🔐 Características del pack
- Formato binario personalizado con cabecera "VBE3"
- Encriptación XOR simple para ofuscar contenido
- Checksums para verificar integridad
- Compresión por concatenación de archivos
- Tamaño típico: ~500KB para todos los recursos
🚀 Integración en ViBe3
El proyecto automáticamente detecta si existe resources.pack:
- Con pack: Carga recursos del archivo empaquetado
- Sin pack: Carga recursos desde
data/(modo desarrollo)
El sistema usa fallback automático en source/external/texture.cpp
📝 Ejemplo completo
# 1. Ir al directorio tools
cd tools/
# 2. Compilar herramienta
make
# 3. Crear pack final
make create_pack
# 4. El juego ahora usará resources.pack automáticamente
🆘 Solución de problemas
Error: "No such file or directory"
# Verificar que estás en el directorio correcto
pwd # Debe mostrar .../vibe3_physics/tools
# Verificar que existe el directorio data
ls ../data
Error de compilación
# Limpiar y recompilar
make clean
make
El programa no encuentra los recursos
# Verificar que resources.pack está en el directorio raíz del proyecto
ls ../resources.pack
# Verificar el tamaño del pack (debe ser ~500KB)
ls -lh ../resources.pack
📊 Información técnica
- Archivos empaquetados: ~10-20 recursos (texturas PNG)
- Tamaño sin comprimir: ~500KB de recursos individuales
- Tamaño empaquetado: ~400KB (reducción ~20%)
- Tiempo de empaquetado: < 1 segundo
- Compatibilidad: Windows, Linux, macOS
Nota: ViBe3 Physics no usa archivos de configuración externos.