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:
@@ -89,7 +89,12 @@ class Ball {
|
||||
void setDepthScale(float scale);
|
||||
float getDepthScale() const { return depth_scale_; }
|
||||
|
||||
// Sistema de atracción física hacia esfera RotoBall
|
||||
// Sistema de atracción física hacia figuras 3D
|
||||
void enableRotoBallAttraction(bool enable);
|
||||
void applyRotoBallForce(float target_x, float target_y, float sphere_radius, float deltaTime);
|
||||
void applyRotoBallForce(float target_x, float target_y, float sphere_radius, float deltaTime,
|
||||
float spring_k = ROTOBALL_SPRING_K,
|
||||
float damping_base = ROTOBALL_DAMPING_BASE,
|
||||
float damping_near = ROTOBALL_DAMPING_NEAR,
|
||||
float near_threshold = ROTOBALL_NEAR_THRESHOLD,
|
||||
float max_force = ROTOBALL_MAX_FORCE);
|
||||
};
|
||||
Reference in New Issue
Block a user