# Coffee Crisis Arcade Edition - Herramientas de Recursos Este directorio contiene herramientas para empaquetar los recursos del juego en un archivo único y ofuscado. ## 📁 Archivos - **`pack_resources.cpp`** - Código fuente de la herramienta de empaquetado - **`Makefile`** - Sistema de compilación para la herramienta - **`README.md`** - Esta documentación ## 🔧 Compilación ### Opción 1: Usar Makefile (Recomendado) ```bash cd tools/ make ``` ### Opción 2: Compilación manual ```bash 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 ```bash # Desde el directorio tools/ make create_pack # O manualmente: ./pack_resources ../data ../resources.pack ``` ### Crear pack de prueba ```bash # 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/ ├── font/ ✅ Empaquetado ├── gfx/ ✅ Empaquetado ├── lang/ ✅ Empaquetado ├── music/ ✅ Empaquetado ├── shaders/ ✅ Empaquetado └── sound/ ✅ Empaquetado ``` **NO se empaqueta:** - `config/` - Archivos de configuración (quedan accesibles) - Archivos de sistema ## 🔐 Características del pack - **Formato binario personalizado** con cabecera "CCAE" - **Encriptación XOR** simple para ofuscar contenido - **Checksums** para verificar integridad - **Compresión** por concatenación de archivos - **Tamaño típico:** ~10MB para todos los recursos ## 🚀 Integración en el juego El juego automáticamente detecta si existe `resources.pack`: 1. **Con pack:** Carga recursos del archivo empaquetado 2. **Sin pack:** Carga recursos desde `data/` (modo desarrollo) Para habilitar el sistema de packs, descomenta en `source/director.cpp:82`: ```cpp ResourceHelper::initializeResourceSystem("resources.pack"); ``` ## 📝 Ejemplo completo ```bash # 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" ```bash # Verificar que estás en el directorio correcto pwd # Debe mostrar .../coffee_crisis_arcade_edition/tools # Verificar que existe el directorio data ls ../data ``` ### Error de compilación ```bash # Limpiar y recompilar make clean make ``` ### El juego no encuentra los recursos ```bash # Verificar que resources.pack está en el directorio raíz del juego ls ../resources.pack # Verificar el tamaño del pack (debe ser ~10MB) ls -lh ../resources.pack ``` ## 📊 Información técnica - **Archivos empaquetados:** ~148 recursos - **Tamaño sin comprimir:** ~15MB de recursos individuales - **Tamaño empaquetado:** ~10MB (reducción del 33%) - **Tiempo de empaquetado:** < 1 segundo - **Compatibilidad:** Windows, Linux, macOS --- **Nota:** Los archivos de configuración en `config/` permanecen accesibles para permitir modificaciones por parte del usuario.