Autor Tema: Nancy Drew Saga (Traducción) [En proceso]  (Leído 2309 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mmogas

  • Altair 8800
  • *
  • Mensajes: 34
  • País: 00
  • Fecha de registro: Octubre 26, 2025, 18:24:46 pm
    • Ver Perfil
Nancy Drew Saga (Traducción) [En proceso]
« en: Febrero 25, 2026, 21:53:10 pm »
Hola:

Me estoy planteando un nuevo reto: La traducción de la saga de Nancy Drew (clásicos soportados por SCUMMVM).

Por el momento estoy recopilando información de como descomprimir y manipular los ficheros del juego.

He localizado varias paginas muy útiles y herramientas como:

RavioliGameTools_v2.10
QuickBMS
GameExtractor
https://shimmerfairy.neocities.org/nd/ff_ciftree
Fuentes SCUMMVM

Pero aun así me falta información para avanzar.

Si alguien ha investigado antes sobre estos juegos y quiere ponerlo en común se lo agradecería.

Retos:
- Analisis de CifTree.DAT, *.CIF ,*.CAL , *.CAB
- Localizar fuentes
- Localizar y formato textos/subtítulos
- Localizar y formato imágenes (para editar)

Un saludo

Desconectado pakolmo

  • Webmasters
  • Sovereign
  • *****
  • Mensajes: 5111
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Enero 16, 2015, 02:57:33 am
    • Ver Perfil
    • Parches Amateurs Aventuras Gráficas
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #1 en: Febrero 26, 2026, 07:42:39 am »
Ni idea, pero asperet tradujo Nancy Drew: Secrets Can Kill (Remastered).

Desconectado walas74

  • Moderador Global
  • Intel Pentium III
  • *****
  • Mensajes: 830
  • País: co
  • Fecha de registro: Septiembre 22, 2007, 14:58:22 pm
    • Ver Perfil
    • Email
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #2 en: Febrero 26, 2026, 13:23:17 pm »
Alguna vez me planteé traducir Nancy Drew, pero la verdad no lo vi nada sencillo y suelen haber muchas imágenes para traducir.

Le he escrito a asperet al respecto a ver qué dice, pero puede ser que en el remastered hayan cambiado el motor que se use y la forma de traducir sea más sencilla, no sé...
« Última modificación: Febrero 26, 2026, 13:24:49 pm por walas74 »



Desconectado mmogas

  • Altair 8800
  • *
  • Mensajes: 34
  • País: 00
  • Fecha de registro: Octubre 26, 2025, 18:24:46 pm
    • Ver Perfil
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #3 en: Febrero 28, 2026, 19:50:38 pm »
Hola:

Por lo que he podido ver, en la versión de asperet de Nancy Drew: Secrets Can Kill (Remastered) el fichero CIFTREE.DAT se puede desempaquetar con RavioliExplorer y GameExtractor, mostrando ficheros con texto plano (p.e. SCK_CONVO_SCRIPT_SC) y otros con imágenes PNG.

Algunos ficheros CIFTREE.DAT  son desempaquetables con RavioliExplorer.  He podido extraer el CIFTREE.DAT de NANCY2, NANCY6 y NANCY7. (*) . Los otros no me ha dejado.

Voy a trabajar con los juegos instalados que poseen el CIFTREE.DAT. Así tendré una mejor visión de los archivos disponibles.

NANCY2 (*):
43 49 46 20 54 52 45 45 20 57 61 79 6E 65 53 69 6B 65 73 00 00 00 00 00 02 00 01 00 51 05 00 00
C   I   F        T   R  E   E        W  a  y   n   e   S   i    k   e   s
NANCY3:
43 49 46 20 54 52 45 45 20 57 61 79 6E 65 53 69 6B 65 73 00 00 00 00 00 02 00 01 00 B5 05 00 00
NANCY4:
43 49 46 20 54 52 45 45 20 57 61 79 6E 65 53 69 6B 65 73 00 00 00 00 00 02 00 01 00 69 06 00 00
NANCY5:
43 49 46 20 54 52 45 45 20 57 61 79 6E 65 53 69 6B 65 73 00 00 00 00 00 02 00 01 00 2C 07 00 00
NANCY6 (*):
43 49 46 20 54 52 45 45 20 57 61 79 6E 65 53 69 6B 65 73 00 00 00 00 00 02 00 01 00 95 08 00 00
NANCY7 (*):
43 49 46 20 54 52 45 45 20 57 61 79 6E 65 53 69 6B 65 73 00 00 00 00 00 02 00 01 00 F3 0A 00 00

Mi apuesta es que esos archivos CIFTREE.DAT contengan fuentes y los textos a traducir.

Voy a intentar varios algoritmos LZSS y analizar las fuentes de SCUMMVM por si veo como se gestionan esos ficheros.

Empezaré por NANCY6 ya tiene texto y voz a la vez desde el principio y la estructura de ficheros parece más clara.
« Última modificación: Marzo 02, 2026, 23:41:58 pm por mmogas »

Desconectado mmogas

  • Altair 8800
  • *
  • Mensajes: 34
  • País: 00
  • Fecha de registro: Octubre 26, 2025, 18:24:46 pm
    • Ver Perfil
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #4 en: Marzo 22, 2026, 14:18:59 pm »
Después de analizar el código fuente del motor de NANCY en SCUMMVM y el contenido hexadecimal de ficheros CIFTREE.DAT,  he descubierto los siguiente:

- Los juegos NANCY1 , NANCY2 , NANCY3 al 5 y NANCY6 y posteriores tienen estructuras del fichero CIFTREE.DAT diferentes (abajo la indico).
- El contenido de los ficheros de este contenedor se almacenan en formato PLAIN (valor 03) o COMPRESSED (02) [también ESPECIAL (04).
- Los datos están comprimidos por LZSS y ofuscados.
- En general se componen de:
 + Una cabecera HEADER de 0x32 bytes con información de la versión y del numero de ficheros ENTRY que contienen
 + Una zona de HASH (que no he analizado aun en detalle).
 + Zona con las ENTRY's que dan información de los como el contenido de los ficheros está almacenado en al zona de DATA.
 + Zona de DATA donde esta el contenido de los ficheros
 + Los ficheros almacenados como COMPRESSED son generalmente imágenes del juego
 + Entre los ficheros PLAIN he localizado ficheros de escena (S*.) que es donde se presenta información de la escena y los subtítulos en una estructura parecida a
Código: [Seleccionar]
"<i><c1>Nancy ..... text text text.<c0><n><o>" + Otro fichero PLAIN interesante es el BOOT que entre otras cosas parece que prepara los caracteres a partir de los ficheros gráficos #FONT.

Ahora mismo he preparado una herramienta .py más o menos operativa que extrae el contenido de CIFTREE.DAT. Incluso he conseguido extraer las imagenes (frames, objetos, fuentes, pantallas, menus,...).


Para los ficheros PLAIN, entre los que están las escenas, estoy trabajando en otra herramienta que me clasifique y permita editar el contenido de cada una.

Después tocará hacer la tarea inversa de volver a reconstruir el fichero CIFTREE.DAT con el contenido modificado.

ESTRUCTURA CIFTREE.DAT NANCY1:
proximamente...

ESTRUCTURA CIFTREE.DAT NANCY2:
Proximamente...

ESTRUCTURA CIFTREE.DAT NANCY3-5:
Proximamente...

ESTRUCTURA CIFTREE.DAT NANCY6+:
Proximamente...



« Última modificación: Hoy a las 20:45:38 por Danfielding »

Desconectado mmogas

  • Altair 8800
  • *
  • Mensajes: 34
  • País: 00
  • Fecha de registro: Octubre 26, 2025, 18:24:46 pm
    • Ver Perfil
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #5 en: Marzo 22, 2026, 14:54:47 pm »
ESTRUCTURA CIFTREE.DAT NANCY 1:

HEADER:
HEADER_START= 0x000000      # Inicio HEADER (0x000000-0x00001D)
HEADER_SIZE = 0x1E         # Tamaño total de la cabecera (30Bytes)
HEADER_SIGNATURE_POS = 0x0   # Posicion SIGNATURE
HEADER_SIGNATURE_SIZE = 0x13   # Tamaño SIGNATURE (0x13 = 19Bytes)
HEADER_VERSION = 0x18         # Version (4Bytes)
HEADER_NUM_ENTRY_POS = 0x1C   # Posicion numero de ENTRYs (2Bytes)

HASH:
HASH_START = 0x00001E         # Inicio del HASH (0x1E = 30)
HASH_SIZE = 0x00800         # Tamaño del HASH (0x800 = 2048Bytes)

ENTRY:
ENTRY_START = 0x00081E      # Inicio ENTRY AREA
ENTRY_SIZE = 0x26         # Tamaño de cada ENTRY (0x26 = 38Bytes)
name        = data(0x00)      # Nombre del fichero [8Bytes]
value1      = data(0x08)       # Valor fijo 0x00 [1Byte]
index       = u16(0x09)      # Indice ENTRY [2Bytes]
width       = u16(0x0B)      # Anchura de la imagen comprimida [2Bytes]
height      = u16(0x0F)      # Altura de la imagen comprimida [2Bytes]
bpp         = data(0x11)       # Profundidad de color de la imagen [1Byte]
value2     = data(0x12)       # Valor fijo 0x02 [1Byte]
offset      = u32(0x13)       # Offset de donde empieza el contenido el fichero en campo area DATA [4Bytes]
decomp_sz   = u32(0x17)       # Tamaño del fichero descomprimido  [4Bytes]
packed_sz   = u32(0x1F)       # Tamaño del fichero enpaquetado dentro del area de DATA [4Bytes]
ftype       = data[0x23]       # 0x02 = Comprimido, 0x03 = Plain (sin comprimir) [1Byte]

DATA:
DATA_START = 0x########



ESTRUCTURA CIFTREE.DAT NANCY 3-5:

HEADER:
HEADER_START= 0x000000         # Inicio HEADER (0x000000-0x00001F)
HEADER_SIZE = 0x20         # Tamaño total de la cabecera (32Bytes)
HEADER_SIGNATURE_POS = 0x0      # Posicion SIGNATURE
HEADER_SIGNATURE_SIZE = 0x13      # Tamaño SIGNATURE (0x13 = 19Bytes)
HEADER_VERSION = 0x18         # Version (4Bytes)
HEADER_NUM_ENTRY_POS = 0x1C      # Posicion numero de ENTRYs (2Bytes)

HASH:
HASH_START = 0x000020         # Inicio del HASH (0x20 = 32)
HASH_SIZE = 0x00800         # Tamaño del HASH (0x800 = 2048Bytes)

ENTRY:
ENTRY_START = 0x000820         # Inicio ENTRY AREA
ENTRY_SIZE = 0x5E                 # Tamaño de cada ENTRY (0x5E = 94Bytes)
name        = data(0x00)         # Nombre del fichero [32Bytes]
index       = u16(0x21)         # Indice ENTRY [2Bytes]
width       = u16(0x2B)         # Anchura de la imagen comprimida [2Bytes]
height      = u16(0x2F)         # Altura de la imagen comprimida [2Bytes]
width1       = u16(0x43)         # Anchura de la imagen comprimida [2Bytes]
height1      = u16(0x47)         # Altura de la imagen comprimida [2Bytes]
bpp         = data(0x0x49)                # Profundidad de color de la imagen [1Byte] Valor 0x10
depacked_sz   = u32(0x4F)          # Tamaño del fichero descomprimido
offset      = u32(0x4B)          # Offset de donde empieza el contenido el fichero en campo area DATA [4Bytes]
packed_sz   = u32(0x57)          # Tamaño del fichero enpaquetado dentro del area de DATA [4Bytes]
ftype       = data[0x5B]          # 0x02 = Comprimido, 0x03 = Plain (sin comprimir) [1Byte]

DATA:
DATA_START = 0x########

ESTRUCTURA CIFTREE.DAT NANCY 6+:

HEADER:
HEADER_START= 0x000000         # Inicio HEADER (0x000000-0x00001F)
HEADER_SIZE = 0x20         # Tamaño total de la cabecera (32Bytes)
HEADER_SIGNATURE_POS = 0x0      # Posicion SIGNATURE
HEADER_SIGNATURE_SIZE = 0x13      # Tamaño SIGNATURE (0x13 = 19Bytes)
HEADER_VERSION = 0x18         # Version (4Bytes)
HEADER_NUM_ENTRY_POS = 0x1C      # Posicion numero de ENTRYs (2Bytes)

HASH:
HASH_START = 0x000020         # Inicio del HASH (0x20 = 32)
HASH_SIZE = 0x00800         # Tamaño del HASH (0x800 = 2048Bytes)
HASH2_START = 0x000820
HASH2_SIZE = 0x59         # Tamaño del HASH (0x59 = 89Bytes)

ENTRY:
ENTRY_START = 0x000820         # Inicio ENTRY AREA (Deberia ser 0x00087E)
ENTRY_SIZE = 0x5E         # Tamaño de cada ENTRY (0x5E = 94Bytes)
name        = data(0x00)      # Nombre del fichero [32Bytes]
index       = u16(0x21)         # Indice ENTRY [2Bytes]
offset      = u32(0x23)       # Offset de donde empieza el contenido el fichero en campo area DATA [4Bytes]
width       = u16(0x31)         # Anchura de la imagen comprimida [2Bytes]
height      = u16(0x35)         # Altura de la imagen comprimida [2Bytes]
width1       = u16(0x49)         # Anchura de la imagen comprimida [2Bytes]
height1     = u16(0x4D)         # Altura de la imagen comprimida [2Bytes]
depacked_sz   = u32(0x51)       # Tamaño del fichero descomprimido
bpp         = data(0x4F)       # Profundidad de color de la imagen  [1Byte] Valor 0x10
value1      = u16(0x4B)         # Campo desconocido [2Bytes] solo tiene valor en ficheros con compresion
packed_sz   = u32(0x59)       # Tamaño del fichero empaquetado dentro del area de DATA [4Bytes]
ftype       = data[0x5D]       # 0x02 = Comprimido, 0x03 = Plain (sin comprimir) , 0x04 = Especial pack [1Byte]

« Última modificación: Marzo 27, 2026, 13:02:42 pm por mmogas »

Desconectado mmogas

  • Altair 8800
  • *
  • Mensajes: 34
  • País: 00
  • Fecha de registro: Octubre 26, 2025, 18:24:46 pm
    • Ver Perfil
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #6 en: Marzo 24, 2026, 19:51:41 pm »
Comparto más información sobre la estructura de los juegos:

Listado de ficheros comunes en los juegos en documento adjunto.

En Nancy6 y posteriores la traducción va a ser bastante más fácil ya que gran parte de texto está en el fichero AUTOTEXT contenido en CIFTREE.DAT. La estructura es la siguiente:

AUTOTEXT:

HEADER:
Signature: 0x00 - 0x0F (16Bytes) # Define el tipo de archivo
Padding: 0x10-0x11 (2Bytes)
Value: 0x12-0x13 (2Bytes)
NumEntries: 0x14-0x15 (2Bytes) # Numero de bloques de texto que contiene el fichero AUTOTEXT

A partir de offset 0x16

DATA:
Name: 0x00-0x1F (32Bytes) # Nombre o referencia del texto
Padding: 0x20 (1Byte)
Text_Lenght: 0x21 (2 Bytes)  # Longitud del texto
Text: 0x23  ... text ...  (#Text_Lenght# Bytes) # El texto  en si. Si al traducir se modifica la longitud habrá que actualizar el valor anterior.

New Line <n> # Algunos caracteres de control entre <>
New Page <n><n>

y así hasta el final.

Estoy trabajando en una aplicación python para que vuelva a generar el fichero CIFTREE.DAT: Genera nueva versión del fichero con HEADER y HASH originales , comprime LZSS y ofusca los datos de cada ENTRY de forma temporal, añade los nuevos ENTRYs modificados al CIFTREE y a continuación pega consecutivamente todos los datos de las ENTRYs).  Me falta investigar mecanismo de la zona de HASH (solo si se va a querer jugar fuera de SCUMMVM) y algunos de los valores que se almacenan en las ENTRYs.

También trabajo en otra aplicación para volver a compactar el fichero AUTOTEXT con los textos traducidos.
« Última modificación: Marzo 28, 2026, 20:21:02 pm por mmogas »

Desconectado pakolmo

  • Webmasters
  • Sovereign
  • *****
  • Mensajes: 5111
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Enero 16, 2015, 02:57:33 am
    • Ver Perfil
    • Parches Amateurs Aventuras Gráficas
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #7 en: Marzo 26, 2026, 22:11:30 pm »
Yo no termino de entender todo lo que escribes, pero si a ti te sirve, genial! Sigue con las Nacys!  :)

Desconectado mmogas

  • Altair 8800
  • *
  • Mensajes: 34
  • País: 00
  • Fecha de registro: Octubre 26, 2025, 18:24:46 pm
    • Ver Perfil
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #8 en: Marzo 27, 2026, 13:21:35 pm »
Yo no termino de entender todo lo que escribes, pero si a ti te sirve, genial! Sigue con las Nacys!  :)

Estoy preparando varias herramientas en Python para manejar los principales archivos (descomprimir/comprimir) de los juegos de Nancy Drew. Los resúmenes anteriores son para documentar públicamente la estructura de los ficheros principales. 

Básicamente a modo de resumen:
- El fichero principal del juego es uno llamado CIFTREE.DAT que es un contenedor comprimido y ofuscado de los ficheros que necesita el juego (a parte de la carpetas de videos y sonidos).
- Dentro de este hay: imágenes , BOOT (estructura y carga fuentes), Scenes (ROOMs del juego algunas con TEXTBOX). A partir de NANCY6+  hay dos ficheros importantes llamados CONVO donde están los interrogatorios y AUTOTEXT  (con el resto los subtítulos). En las versiones NANCY1-5 los textos únicamente los en localizado en las Scenes (S#####*).

Me estoy centrando a partir de NANCY6 porque los textos están más localizados y serán más fáciles de traducir. Estoy organizando las descompresiones en ficheros JSON para tener la información estructurada para que, una vez modificado, el proceso de compresión al formato original sea mucho más fácil.

Ya encontrada la llave para abrir y volver a cerrar los ficheros y documentarlo todo,  ya solo quedará el trabajo de traducción.  Adjunto ejemplo del fichero JSON de nancy6, que contiene texto (OJO SPOILER !!!!).

Como siempre gracias por tu apoyo y motivación.
« Última modificación: Marzo 28, 2026, 21:08:40 pm por mmogas »

Desconectado mmogas

  • Altair 8800
  • *
  • Mensajes: 34
  • País: 00
  • Fecha de registro: Octubre 26, 2025, 18:24:46 pm
    • Ver Perfil
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #9 en: Marzo 28, 2026, 21:17:51 pm »
Desafíos completados:

- Extraer archivos del contenedor CIFTREE.DAT: por LZSS y ofuscación por XOR/ADD. Herramienta extract_CIFTREE.py
- Analizar la estructura de los archivos.
- Investigar qué archivos del juego contienen el texto:
               + Nancy 1-5: únicamente en Scenes S####*
               + Nancy6+: AUTOTEXT, CONVO y Scenes S####*             
- Investigar dónde y cómo el juego utiliza caracteres/fuentes: BOOT define los caracteres (glyphs) a partir de varios archivos gráficos : *FONT*
:dxwnd: [Actualizado]  :dxwnd: Finalizando las verificaciones,  pero creo que ya dispongo de una herramienta para recomprimir el nuevo CIFTREE.DAT. Herramienta create_CIFTREE.py 

Próximos desafíos:

- Analizar el archivo BOOT para añadir nuevos caracteres/fuentes.
- Herramienta para convertir fichero binario a formato BMP/PNG para editar cómodamente y vuelta a binario.
- Analizar la zona de hash del archivo CIFTREE para regenerarlo (para jugar fuera de SCUMMVM). Y ver como testear modificiones en SCUMMVM sin que verifique el nuevo CIFTREE.DAT.
- Iniciar el proceso de traducción y/o publicar todo el código fuente en Python de todas las herramientas que he creado para este proyecto.
« Última modificación: Marzo 31, 2026, 18:38:30 pm por mmogas »

Desconectado mmogas

  • Altair 8800
  • *
  • Mensajes: 34
  • País: 00
  • Fecha de registro: Octubre 26, 2025, 18:24:46 pm
    • Ver Perfil
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #10 en: Abril 01, 2026, 23:03:32 pm »
 
:dxwnd:  :dxwnd:  :dxwnd: ¡¡¡¡¡ PEQUEÑO GRAN AVANCE!!!!! :dxwnd:  :dxwnd:  :dxwnd:

Ya he creado y verificado las 2 herramientas principales que permiten extraer y volver a comprimir el archivo CIFTREE.DAT que es el que contiene la mayor parte de los textos del juego y la llave para hacer la traducción.

También he creado otras herramientas secundarias para manipular y/o estructurar otros archivos importantes del juego como BOOT , CONVO y AUTOTEXT y SCENES (S####),  así como un conversor de imágenes del juego a PNG y viceversa.

He podido verificar que el juego original verifica una zona de HASH (así la llamo) entre 0x0020 y 0x081F,  que contiene información encriptada de verificación de la integridad del juego. Lamentablemente hasta que no descubra este mecanismo no se podrá jugar directamente desde Windows.

La parte buena es que SCUMMVM no verifica esa parte por lo que si inyectamos el nuevo valor hash del fichero CIFTREE.DAT modificado el juego funciona.

Por ahora, modifico manualmente el valor del hash de detección en el fichero "detection.cpp" del motor de nancy de SCUMMVM, lo que me obliga a volver a compilar el programa con cada cambio que se haga en CIFTREE.

Para no perder mucho tiempo he parametrizado el proceso de compilación para crear un mini-SCUMMVM únicamente con el motor de nancy.

Ahora me centraré en ver como incluir nuevas fuentes en forma de "glyphs" (ficheros FONT) y gestionadas en el fichero BOOT.

Esto demuestra que la traducción es posible y que esta va a implicar mucho tiempo y recursos dada la envergadura  del juego,  con mucho texto e imágenes a editar.


 
« Última modificación: Abril 02, 2026, 00:57:52 am por mmogas »

Desconectado ogromanas

  • Altair 8800
  • *
  • Mensajes: 49
  • País: es
  • Fecha de registro: Agosto 30, 2014, 17:51:05 pm
    • Ver Perfil
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #11 en: Abril 02, 2026, 02:40:43 am »
En el pensamiento de tod@s: la hostia.  :lol:  :lol:
Menudo currazo! Seguiré pendiente del hilo! Muchas gracias!



Desconectado mmogas

  • Altair 8800
  • *
  • Mensajes: 34
  • País: 00
  • Fecha de registro: Octubre 26, 2025, 18:24:46 pm
    • Ver Perfil
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #12 en: Abril 05, 2026, 22:14:26 pm »
Como ya me esperaba los juegos a partir de NANCY6 (con ficheros AUTOTEXT, CONVO y SCENES) van a ser mucho más fácil de traducir puesto que además, en el set de caracteres, ya incluye los caracteres necesarios para traducir a múltiples idiomas. Incluye ñ , acentos aunque en algunos pantallas no estén asignados los glifos se pueden incluir modificando las coordenadas de las entradas extras disponibles que están sin definir.

Los juegos anteriores tienen un set de caracteres limitado definidos en el fichero BOOT en el chunk llamado FONT.

Documento la estructura de dicha sección por si alguien quiere analizarlo:

MAIN:
=====
0x0000 (4) -> DATA (TAG)
0x0003 (4) -> SIZE DATA (file - 8 bytes) HH LL format
 . . .
Chunks list:   ['BOOTBSUM', 'PCAL', 'QUOT', 'CD\x00', 'INTR', 'FONT', 'MENU', 'HELP', 'CRED', 'LOAD', 'SDLG', 'MAP\x00', 'CLOK', 'TBOX', 'INV\x00', 'CURS', 'VIEW', 'SPEC', 'MSND', 'BUOK', 'BUDE', 'BULS', 'GLOB', 'CURT', 'TH1\x00', 'TH2\x00', 'SET\x00', 'TMOD', 'HINT', 'DSND', 'RCPR', 'RCLB', 'SPUZ', 'DATA']


CHUNKS STRUCTURE:
0x0000 (4) - NAME TAG
0x0003 (4) - CHUNK SIZE (chunk - 8 bytes) HH LL format
0x0005 - datos

FONT CHUNK:
=====
0x0000 (4) - NAME TAG
0x0003 (4) - CHUNK SIZE
----
data:
offset 0x0000 (0x21) - FONT FILE NAME
offset 0x0021 (0x21) - FONT STYLE NAME

0x4B - 0x4E (4 bytes): Altura de la línea (Line Height). Define el espacio vertical total que ocupa una línea de texto. Es crucial para que el motor sepa cuánto "bajar" al realizar un salto de línea.
0x4F - 0x52 (4 bytes): Ascenso (Ascent). Indica la distancia desde la línea base (baseline) hasta la parte superior de los caracteres más altos (como la 'A' o la 'k').
0x53 - 0x56 (4 bytes): Descenso (Descent). Define cuánto espacio se reserva por debajo de la línea base para las "colas" de letras como la 'g', 'j' o 'y'.
0x57 - 0x58 (2 bytes): Espaciado predeterminado (Default Kerning). Un valor pequeño que añade un hueco fijo entre caracteres si no se especifica uno individual.

Glifos u32(X1) u32(Xy1) u32(X2) u32(Xy2)

En los juegos de NANCY3 al 5 solo hay 78 caracteres disponibles. La única opción seria reemplazar algún símbolo no usado (&,%,º,...). He intentado ampliar en numero de entradas para nuevos glifos ajustando offsets y sizes , pero SCUMMVM me da "chunk overread".
 

« Última modificación: Hoy a las 00:26:03 por mmogas »

Conectado cireja

  • "Guardián de las aventuras"
  • Administrador
  • Shodan
  • *****
  • Mensajes: 13408
  • País: es
  • Sexo: Masculino
  • Fecha de registro: Mayo 06, 2007, 13:02:16 pm
  • No por mucho madrugar... por el culo te la hinco.
    • Ver Perfil
    • Abandonsocios.org
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #13 en: Hoy a las 00:13:42 »
Buenas

Con respecto a la imagen adjunta, sé que es una prueba, pero recuerda, "juegos de aventura" se traduce como "aventuras gráficas".
Suele olvidarse y se da por bueno sin querer.
¡Por favor, no preguntéis por mensaje privado, preguntad aquí en el foro! - Please don't PM me questions, ask here in the forums!
Jugando a: Down in the Dumps
Aventuras Gráficas Más Buscadas en Español - Aventuras Gráficas en AbandonWiki

Desconectado mmogas

  • Altair 8800
  • *
  • Mensajes: 34
  • País: 00
  • Fecha de registro: Octubre 26, 2025, 18:24:46 pm
    • Ver Perfil
Re: Nancy Drew Saga (Traducción) [En proceso]
« Respuesta #14 en: Hoy a las 14:20:36 »
Buenas

Con respecto a la imagen adjunta, sé que es una prueba, pero recuerda, "juegos de aventura" se traduce como "aventuras gráficas".
Suele olvidarse y se da por bueno sin querer.

Cierto  ;)  ;D . Esto era una mera demo de hasta donde se puede llegar.

Es una traducción literal masiva con Google translator que he hecho para ver si con el  código python/C  de sustitución automática funcionaba, se ganaba tiempo y se  pueden repartir las tareas de traducción y maquetación.

La traducción de estos juegos creo que no va a poder ser puramente amateur, por la cantidad de texto y los muchos matices que hay en el lenguaje del juego. No solo habrá que traducir y ajustar los textos a la ventana de visualización sino que habrá que darle un sentido al texto en función del contexto y de la historia.

Además, puesto que por ahora la única forma de testear/ jugar  es a través de una re-compilación manual de SCUMMVM y añadiendo a las fuentes el hash del nuevo CIFTREE.DAT  con todas las modificaciones habría de ser una versión 100% revisada y 100% completa antes de informar a SCUMMVM para que incluyan la traducción como una versión definitiva.

En los próximos días voy a compartir todos los textos completos en inglés de Nancy6 , Nancy7, Nancy8, Nancy9, Nancy10, Nancy11 (que son los que hasta la fecha reconoce SCUMMVM Beta) por si alguien se anima a iniciar la traducción. Sin olvidarme de algunas imágenes PNG de menús y ayudas que también tocaría traducir.

Sigo centrándome en crear herramientas para después compartirlas públicamente.

PROXIMOS RETOS:
- Analizar y entender como funciona el HASH original del juego para que se puedan jugar directamente bajo Windows.
- Herramientas para que realice todo el proceso de sustituición de textos y reempaquetado automático de CIFTREE.dat.
- Ver como gestionar las FONTs de los juegos anteriores a NANCY5 donde los caracteres disponibles son limitados.
« Última modificación: Hoy a las 15:52:22 por mmogas »