magic numbers: moving_sprite.cpp i game_logo.cpp
This commit is contained in:
63
deltatime_cleanup_plan.md
Normal file
63
deltatime_cleanup_plan.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# Plan de Limpieza Post-Migración DeltaTime
|
||||
|
||||
## Estado Actual
|
||||
✅ Migración básica completada: bullet.cpp, item.cpp, moving_sprite.cpp, game_logo.cpp
|
||||
✅ Magic numbers convertidos a constantes en game_logo.cpp
|
||||
|
||||
## Tareas Pendientes
|
||||
|
||||
### 1. Eliminar Contadores Frame-Based
|
||||
- [ ] Buscar todos los contadores que usen lógica frame-based
|
||||
- [ ] Convertir a timers basados en deltaTime
|
||||
- [ ] Eliminar variables como `counter_`, `frame_counter_`, etc.
|
||||
- [ ] Patrón: `if (counter-- <= 0)` → `if (timer >= DURATION_MS)`
|
||||
|
||||
### 2. Revisar Inicializaciones de Aceleraciones MovingSprite
|
||||
- [ ] Buscar todas las llamadas a `setAccelX()`, `setAccelY()`
|
||||
- [ ] Buscar asignaciones directas a `ax_`, `ay_`
|
||||
- [ ] Convertir de `pixels/frame²` a `pixels/ms²`
|
||||
- [ ] Factor de conversión: `valor_original / (16.67)²`
|
||||
|
||||
### 3. Problema Detectado: Demo - Creación Incorrecta de Globos
|
||||
- [ ] Investigar cómo se crean los globos en modo demo
|
||||
- [ ] Verificar si usan timing frame-based obsoleto
|
||||
- [ ] Corregir la lógica de creación para deltaTime
|
||||
|
||||
### 4. Búsqueda de Patrones Problemáticos
|
||||
- [ ] Buscar `frameFactor` residual
|
||||
- [ ] Buscar `1000.0f / 60.0f` hardcodeado
|
||||
- [ ] Buscar `16.67f` hardcodeado
|
||||
- [ ] Buscar comentarios con "frame" o "60fps"
|
||||
|
||||
### 5. Archivos Prioritarios a Revisar
|
||||
- [ ] **player.cpp** - puede tener aceleraciones
|
||||
- [ ] **balloon.cpp** - contadores de estado
|
||||
- [ ] **stage.cpp** - timers de nivel
|
||||
- [ ] **credits.cpp** - efectos de texto
|
||||
- [ ] **tabe.cpp** - movimiento del protagonista
|
||||
- [ ] **sections/*.cpp** - transiciones y efectos
|
||||
|
||||
### 6. Validación Final
|
||||
- [ ] Compilar sin warnings
|
||||
- [ ] Probar gameplay normal
|
||||
- [ ] Probar modo demo
|
||||
- [ ] Verificar que no hay saltos de velocidad
|
||||
- [ ] Confirmar que el timing es consistente en diferentes framerates
|
||||
|
||||
## Comandos Útiles de Búsqueda
|
||||
```bash
|
||||
# Buscar contadores frame-based
|
||||
rg "counter.*--|\+\+.*counter|counter.*\+\+|--.*counter"
|
||||
|
||||
# Buscar inicializaciones de aceleración
|
||||
rg "setAccel|\.ax.*=|\.ay.*="
|
||||
|
||||
# Buscar hardcoded framerates
|
||||
rg "60\.0|16\.67|1000\.0.*60"
|
||||
```
|
||||
|
||||
## Notas
|
||||
- Mantener consistencia: velocidades en `pixels/ms`, aceleraciones en `pixels/ms²`
|
||||
- Documentar las conversiones en comentarios
|
||||
- Crear constantes para valores repetidos
|
||||
- Evitar números mágicos
|
||||
Reference in New Issue
Block a user