Generador de movelist.dat para Ikemen GO
=======================================
Version de prueba (30 ago 2026)

Requisitos
----------
  pip install -r requirements.txt

Excel
-----
Crea rutas.xlsx con UNA columna, una carpeta de personaje por fila:

  C:\Ikemen\chars\Kim
  C:\Ikemen\chars\Gohan
  C:\Ikemen\chars\SSJ_VegetaZ2
  C:\Ikemen\chars\TenShinHanZ2

Primera prueba (no escribe nada)
--------------------------------
  python generar_movelist.py --excel rutas.xlsx --dry-run

Generar de verdad
-----------------
  python generar_movelist.py --excel rutas.xlsx

Pisa movelist.dat ya existentes
-------------------------------
  python generar_movelist.py --excel rutas.xlsx --force

Por defecto, si la carpeta YA tiene movelist.dat, no la toca.
Los .def se copian a backups/ antes de anadir:
  movelist = movelist.dat

Que hace
--------
Modo clasico (.cmd con [Command] ~D,DF,F):
  Kim, Gohan CobraG6, la mayoria de chars Mugen.

Modo Z2 / HDBZ (NumExplod 9003xxxx en el .mfg):
  Vegeta Z2, TenShinHan Z2 y el resto del roster Team Z2.
  Mapea IDs a _QCB_F, _QCB_QCB, _DSF, _D_D, ^LP/^MP/^HP, ^K, ^2P...
  Lee tambien normals.cns / specials.cns / supers.cns para nombres.

Secciones
---------
  Throws, Unique Attacks, Special Moves, Hyper Moves
  Dudosos  = gris. Golpes sin onda clara (s.LP, charge, follow-ups).
             Revisalos a mano. No los copies ciegos al juego.

Dos TAB entre nombre y comando. Power como <#bebebe>(1000)</>

Probar un solo fichero
----------------------
  python probar_muestras.py
  (usa rutas de este entorno; en tu PC no encontrara los samples)

Notas
-----
- Un solo .cmd/.mfg por carpeta (o files/).
- Dudosos sirven para no perder uniques; borra s.LP/c.MK del dat final.
- Si un hyper Z2 sale con nombre "State 2200", falta el .cns en states/.
