Implementar PNG_SHAPE y sistema de física mejorado
Nuevas Características:
- PNG_SHAPE (tecla O): Logo JAILGAMES desde PNG 1-bit
- Extrusión 2D con detección de bordes/relleno configurable
- Rotación "legible": 90% frente, 10% volteretas aleatorias
- 15 capas de extrusión con relleno completo (22K+ puntos 3D)
- Fix: Z forzado a máximo cuando está de frente (brillante)
- Excluido de DEMO/DEMO_LITE (logo especial)
- Sistema de texturas dinámicas
- Carga automática desde data/balls/*.png
- normal.png siempre primero, resto alfabético
- Tecla N cicla entre todas las texturas encontradas
- Display dinámico del nombre (uppercase)
- Física mejorada para figuras 3D
- Constantes SHAPE separadas de ROTOBALL
- SHAPE_SPRING_K=800 (+167% rigidez vs ROTOBALL)
- SHAPE_DAMPING_NEAR=150 (+88% absorción)
- Pelotas mucho más "pegadas" durante rotaciones
- applyRotoBallForce() acepta parámetros personalizados
Archivos:
- NEW: source/shapes/png_shape.{h,cpp}
- NEW: data/shapes/jailgames.png
- NEW: data/balls/{normal,small,tiny}.png
- MOD: defines.h (constantes PNG + SHAPE physics)
- MOD: engine.cpp (carga dinámica texturas + física SHAPE)
- MOD: ball.{h,cpp} (parámetros física configurables)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
25
ROADMAP.md
25
ROADMAP.md
@@ -22,7 +22,9 @@
|
||||
|
||||
### Sistemas de Presentación
|
||||
- ✅ Transiciones LERP entre temas (0.5s suaves)
|
||||
- ✅ Hot-swap de sprites con tecla N (ball.png ↔ ball_small.png)
|
||||
- ✅ Carga dinámica de texturas desde data/balls/
|
||||
- ✅ Hot-swap de sprites con tecla N (cicla entre todas las texturas)
|
||||
- ✅ PNG_SHAPE (O) - Logo "JAILGAMES" con rotación legible
|
||||
|
||||
---
|
||||
|
||||
@@ -127,6 +129,13 @@
|
||||
- [ ] Campos magnéticos (atracción/repulsión)
|
||||
- [ ] Turbulencia
|
||||
|
||||
### Shapes PNG
|
||||
- [ ] **Voxelización 3D para PNG_SHAPE** (Enfoque B)
|
||||
- Actualmente: Extrusión 2D simple (píxeles → capas Z)
|
||||
- Futuro: Voxelización real con detección de interior/exterior
|
||||
- Permite formas 3D más complejas desde imágenes
|
||||
- Rotación volumétrica en vez de extrusión plana
|
||||
|
||||
### Interactividad
|
||||
- [ ] Mouse: click para aplicar fuerzas
|
||||
- [ ] Mouse: drag para crear campos
|
||||
@@ -136,6 +145,20 @@
|
||||
|
||||
## Historial de Cambios
|
||||
|
||||
### 2025-10-04 (Sesión 5) - PNG Shape + Texturas Dinámicas
|
||||
- ✅ **PNG_SHAPE implementado** - Tecla O para activar logo "JAILGAMES"
|
||||
- ✅ Carga de PNG 1-bit con stb_image
|
||||
- ✅ Extrusión 2D (Enfoque A) - píxeles → capas Z
|
||||
- ✅ Detección de bordes vs relleno completo (configurable)
|
||||
- ✅ Tamaño 80% pantalla (como otras figuras)
|
||||
- ✅ Rotación "legible" - De frente con volteretas ocasionales (3-8s idle)
|
||||
- ✅ Excluido de DEMO/DEMO_LITE (logo especial)
|
||||
- ✅ **Sistema de texturas dinámicas** - Carga automática desde data/balls/
|
||||
- ✅ Tecla N cicla entre todas las texturas PNG encontradas
|
||||
- ✅ Orden alfabético con normal.png primero por defecto
|
||||
- ✅ Display dinámico del nombre de textura (uppercase)
|
||||
- 📝 Preparado para voxelización 3D (Enfoque B) en futuro
|
||||
|
||||
### 2025-10-04 (Sesión 4) - Modo DEMO
|
||||
- ✅ **Implementado Modo DEMO (auto-play)** - Tecla D para toggle
|
||||
- ✅ Sistema de acciones aleatorias cada 3-8 segundos (configurable)
|
||||
|
||||
Reference in New Issue
Block a user