151 lines
3.5 KiB
Markdown
151 lines
3.5 KiB
Markdown
# 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. |