# Autotracker local de Dragon Quest VIII (3DS)

Este complemento vigila en modo de solo lectura el archivo `honeySave.bin` del
emulador y comunica los objetos detectados al tracker web local.

## Uso

1. Coloca una copia obtenida legalmente del juego en la ruta indicada por los
   lanzadores del paquete.
2. Ejecuta `JUGAR_DRAGON_QUEST_8.bat`, `MODO_PC_SOBREMESA.bat` o
   `MODO_PORTATIL.bat`.
3. El lanzador inicia este puente y abre el tracker en
   `http://127.0.0.1:8765/`.

El runtime portable incluido en `runtime/python/` evita que el usuario tenga
que instalar Python.

## Qué detecta

- Objetos presentes en la bolsa general al guardar.
- Objetos de los inventarios personales del Héroe y Yangus, incluido el equipo,
  al guardar.
- Los objetos se traducen mediante el mapa local de IDs 3DS.
- El contador de Mini Medallas y los bits crudos del recetario se leen por
  ranura y se exponen en `/api/state`.
- Los logros persistentes validados de historia, Mini Medallas y Arena se
  comunican a la web. Los logros de combate condicionado, alquimia, Cameron y
  los flags todavía no demostrados permanecen manuales.

`El Primer Botín` también permanece manual: la prueba del Escudo de piel solo
identifica un cofre concreto y no demuestra que sea el primer cofre abierto.

El lector usa el perfil europeo/internacional de `honeySave.bin`: tres bloques
de `0x10C10` bytes. No utiliza los offsets de la edición japonesa.

## Ranura seguida en live

El panel **PARTIDA LIVE** de la web muestra las tres ranuras con el nombre del
héroe y el tiempo jugado. Solo una ranura escribe en el tracker en cada momento:

- las ranuras vacías aparecen deshabilitadas;
- la selección queda guardada para el próximo inicio;
- cada ranura y héroe mantiene un historial independiente;
- las marcas manuales de la web también se conservan por perfil al cambiar.

La opción de línea de comandos `--slot 1`, `--slot 2` o `--slot 3` permite
forzar la selección inicial. Sin esa opción se recupera la última elegida y, en
una instalación nueva, se utiliza la ranura 1.

No modifica el guardado, no usa RAM y no envía el archivo de partida a
Internet. El servidor escucha solo en `127.0.0.1`.

## Reinicio

El botón **REINICIAR** de la web borra el progreso de la web y del puente. Para
una partida nueva con otro nombre de héroe se crea automáticamente un perfil
independiente en la misma ranura.

Los logros que ya estaban cumplidos en el momento del reinicio quedan como
línea base y no reaparecen automáticamente. Un umbral nuevo alcanzado después
del reinicio sí se registra.
