56
TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x Índice 1. Extracción del texto ..................................... 2 i. Por medio de otra traducción ................................ 2 ii. Por medio del ejecutable ...................................... 4 2. Modificación del texto ................................ 16 3. Compilación del texto traducido ............... 19 4. Fuentes ........................................................ 20 5. Extracción y compilación de imágenes ... 34 6. Modificación de una “room” y posterior compilación................................................. 40 7. Creación del parche ................................... 51 8. Modificación hexadecimal ......................... 52 9. Notas ............................................................ 55 10. Enlaces de las aplicaciones usadas ......... 56 1

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

  • Upload
    kurt28

  • View
    1.382

  • Download
    3

Embed Size (px)

Citation preview

Page 1: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x

Índice

1. Extracción del texto ..................................... 2 i. Por medio de otra traducción................................ 2

ii. Por medio del ejecutable ...................................... 4

2. Modificación del texto................................ 16

3. Compilación del texto traducido............... 19

4. Fuentes........................................................20

5. Extracción y compilación de imágenes ...34

6. Modificación de una “room” y posterior compilación.................................................40

7. Creación del parche ................................... 51

8. Modificación hexadecimal ......................... 52

9. Notas............................................................55

10. Enlaces de las aplicaciones usadas......... 56

1

Page 2: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

1. Extracción del texto

Por medio de otra traducción Para realizar este proceso necesitamos un archivo con extensión “tra” que previamente tendremos en nuestro poder. Ya sea porque exista una traducción oficial u amateur. Este método es el más sencillo, ya que, como veremos más adelante, no tendremos que usar el siguiente método, que es el más engorroso. Programas necesarios: Agslrelease (enlace de descarga al final del manual)

Cómo se hace: Como ejemplo voy a poner la aventura “5 Days a Stranger”, concretamente la versión que salió con varias traducciones. Ya sé que no es de la versión 3.x, pero para el ejemplo nos vale. Tenemos los siguientes archivos:

Copiamos un archivo con extensión “tra”, el que queramos, a la carpeta donde tengamos la herramienta “agslrelease”.

2

Page 3: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

Abrimos una consola de comandos desde “ejecutar” del menú Incio de Windows. Nos aseguramos que estamos en la carpeta de la herramienta y ejecutamos en nuestro caso:

“agslrelease –decompile italian.tra”

Nos habrá creado un archivo, en nuestro caso, “italian.trs” con el texto en inglés (original) e italiano.

3

Page 4: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

En el título 2 “Modificación del texto” explico varios métodos para modificar este archivo, quitar todo el texto del segundo idioma y tenerlo listo para su compilación. Pasos a realizar (resumen):

1) Abrimos una consola de comandos, “cmd”. 2) Ejecutamos “agslrealease –decompile ‘archivo.tra’”. 3) Creado “archivo.trs” listo para traducir.

Por medio del ejecutable Como veréis más adelante este paso es más complejo que el anterior y quizá nos dejemos algún texto sin traducir. Es muy importante la labor del testeo para que a la hora de publicar el parche esté 100% traducido. Existen dos herramientas para conseguir extraer el texto. En vuestra elección está cual usar. Yo voy a usar las dos en el ejemplo y compararemos cual ha extraído más texto. No todo lo extraído es válido, por lo que tendremos que hacer limpieza manualmente. Programas necesarios: Gobread (enlace de descarga al final del manual) TRA Creator (enlace de descarga al final del manual) TRS_adder (enlace de descarga al final del manual) Exestringz (enlace de descarga al final del manual) Notepad ++ (enlace de descarga al final del manual)

Cómo se hace: Para el ejemplo voy a usar la aventura recientemente publicada en el SummerBatch “Nancy The Happy Whore” ya que existe una traducción oficial en latín y en alemán. Extraeremos el texto de las versiones oficiales usando el paso anteriormente explicado y lo compararemos con el extraído usando el nuevo método. Antes voy a explicaros una cosa importante. ¿Cómo saber que versión de AGS usa un juego?

4

Page 5: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

Aquí vemos que la versión es 3.2.1.1115. A fecha de hoy esta es la última versión oficial publicada. Pues bien, una vez asegurados que es una versión 3.x, paso a la explicación. Primero vamos a usar la herramienta “TRA Creator” de los creadores rusos. Nos aparecerá una ventana como se muestra más abajo. Seleccionamos el ejecutable del juego “NancyATPPS.exe” y luego cliqueamos en el primer botón.

5

Page 6: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

El título de la ventana cambiará, indicando que se está procesando la información. Una vez terminado nos aparecerá en nuestra carpeta de trabajo el archivo “NancyATPPS.trs”. Que fácil, ¿no?. Pues no, todavía nos falta más texto por extraer. Frases de los scripts globales y los plugins, así como los nombres de los hotspots y los objetos. Ahora vamos a usar otra herramienta, el turno es para “exestringz” de Luigi. Ejecutamos desde la línea de comandos:

“exestringz –b –q 1 NancyATPPS.exe texto.txt”

Tendremos un archivo “texto.txt” con el texto extraído. Si lo editamos veremos que tiene mucha basura incluida. Para purgar vendría bien que supierais usar un poco AGS. Para los que no sepáis os daré unos pasos a seguir que os servirá como guía, pero puede que aún así nos saltemos alguna palabra. AGS cuando ejecuta los scripts usa unos nombres para cada personaje, objeto, hotspot (puntos calientes), GUI (interfaz), Button, inventario, música, etc. Os paso a enumerar como los nombra: Personajes: cNombre_del_personaje

o Ejemplo: cNancy Objetos: oNombre_del_objeto

o Ejemplo: cDoor Hotspots: hNombre_del_hotspot

o Ejemplo: hPhone GUIs: gNombre_GUI

o Ejemplo: gCard Button: ButtonNombre_del_botón

o Ejemplo: ButtonMainLoad Inventario: iNombre_del_objeto_del_inventario

o Ejemplo: iCoins Música: aNombre_del_archivo_música

6

Page 7: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

o Ejemplo: aSound_CreakFall Pues bien, estos nombres no se deben traducir. También aparecen las instrucciones que ejecuta el engine (motor) del juego. No las voy a enumerar porque creo que son más que evidentes cuales son. Por ejemplo: ShakeScreen Wait Dialog::SetOptionState^2 AudioClip::Play^2

Pasemos a la acción. Buscamos la primera cadena “.asc”. En nuestro caso será “__NEWSCRIPTSTART_GlobalScript.asc”.

Pues bien, como vemos en la captura las cadenas de texto que están debajo son las que nos interesa. Os recomiendo que copiéis en otro archivo de texto plano esas cadenas, así no destruimos el archivo creado. Recordad que no nos interesa los nombres de los scripts. El texto se encuentra por

7

Page 8: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

bloques, es decir, entre el primer nombre del script, en nuestro caso, “GlobalScript.asc” y la siguiente búsqueda de la cadena de texto “.asc” que vuelve a llamarse “GlobalScript.asc” está todo el texto que usa ese script.

Como veis en la captura, en la parte superior están esos nombres que usan los scripts (iBurningMagazine_UseInv$0, ButtonConDefault_OnClick$2, iViagra_UseInv$0, cNancy_Talk$0, etc.). Si seguimos hacia arriba llegaremos hasta la última línea de texto interesante del script “GlobalScript.asc”, que es “This is neither the time or place for colonic irrigation.”. Para resumir, debemos copiar desde “SAVE NAME” hasta “This is neither the time or place for colonic irrigation.”

8

Page 9: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

Hay que hacer un inciso, y hacer saber que depende que scripts se traducen textos de forma diferente. DialogScripts.asc Diálogos. GlobalVariables.asc No se traduce nada. @OVERHOTSPOT@ Variable usada por el sistema. Los scripts de las “room” están estructurada de la siguiente manera:

o Hotspot o Texto o Objetos

El texto de los scripts de las rooms no nos hace falta copiarlo porque ya lo ha hecho la anterior herramienta.

Texto extraído con la herramienta “exestringz”

9

Page 10: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

Texto extraído con la herramienta “TRA Creator”

Con esto ya tenemos casi todo el texto, ahora vamos a sacar los nombres de los objetos y los hotspot. Buscamos la cadena “No hotspot” y copiamos las líneas de texto que vienen debajo hasta la primera que aparezca “Hotspot nºhotspot”. En nuestro caso “Hotspot 7”.

Para el caso de los objetos debemos copiar el texto que viene debajo de cada línea que termina el script de una room. Vayamos con el ejemplo.

10

Page 11: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

Buscamos la cadena texto “.asc” hasta que topemos con “__NEWSCRIPTSTART_room7.asc”, buscamos el final del script que será “room7.asc”. Copiamos las líneas que nos interesa:

Ahora ya tenemos todo el texto de los plugins, de las rooms, los hotspots y los objetos. Tan sólo nos falta el inventario y el texto de las interfaces. Para el inventario buscamos la cadena “Adventure Creator Game File v2*” y después de una clave entre llaves está lo que nos interesa. Nuestro ejemplo:

11

Page 12: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

Ahora le toca al interface. Esta parte es más engorrosa y hay que ser más intuitivo para extraer el texto. No se os olvide hacer un buen testeo. Buscamos la primera cadena “No hotspot” y subimos hacia arriba hasta que topemos con algún script. En nuestro ejemplo:

Como veis está el nombre de los personajes, diversos texto usado en la aventura y etiquetas usadas en los diferentes interfaces. Por alguna razón, no se extraen los diálogos de los juegos. Seguramente si afinamos más con la herramienta “exestringz” podremos conseguirlo. Yo lo que hago es extraer los recursos del juego con “Gobread”:

“Gobread NancyATPPS.exe”

Con esto tendremos en la misma carpeta varios archivos. Usamos de nuevo la herramienta “exestringz” sobre el fichero “game28.dta”:

“exestringz –b –q 1 game28.dta dialogos.txt” Una vez terminado, suponiendo que tenemos todo el texto, hay que editar lo copiado añadiendo una línea en blanco debajo. Yo uso Notepad++ que lo hace muy fácil. Activamos la siguiente opción:

12

Page 13: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

Nos aparecerán unos códigos que indican el final de cada línea. Reemplazamos esos finales de líneas por una nueva línea en blanco debajo de cada una. Para eso hacemos lo siguiente: En Buscar->Reemplazar nos aparecerá una ventana y ponemos los valores siguientes:

Reemplazamos todos. Y tendremos formateado el texto de la forma siguiente:

13

Page 14: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

Guardamos los cambios. Y ahora vamos a añadir al primer archivo “NancyATPPS.trs” el contenido de “texto_nacy_limpio.txt”. Para ello vamos a usar otra herramienta de nuestros amigos rusos, “TRS_adder”. Antes tenemos que renombrar “NancyATPPS.trs” por “1.trs” y “texto_nacy_limpio.txt” por “2.trs”. Ejecutamos la herramienta.

Como se puede ver lo único que entendemos es “Go”. Así que a darle sin miedo. El título de la ventana cambiará a “Completed.”. Se habrá creado el archivo “1_added.trs”. Si echáis un vistazo veréis que las líneas repetidas ya no aparecen, y es que AGS no necesita esas cadenas para traducirlas.

14

Page 15: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 1. Extracción del texto

15

¡POR FIN! Lo hemos conseguido. Ya tenemos el texto listo para traducir. Si tras el testeo encontramos algo sin traducir, basta con que añadas al final de todo el texto esa línea y su traducción. Pasos a realizar (resumen):

1) Ejecutamos “TRA Creator” 2) Ejecutamos “exestringz” 3) Buscamos texto 4) Formateamos el texto 5) Ejecutamos “TRS_adder”

Page 16: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 2. Modificación del texto

2. Modificación del texto Esta parte le corresponde a los traductores realizar una buena tarea de traducción. Después de todo el trabajo de extracción, más vale que sea así. Existen dos herramientas específicas para ayudarnos a traducir todo el texto. Programas necesarios: AGS Translation Editor (enlace de descarga al final del manual) AGSLinguist (enlace de descarga al final del manual) Sed (enlace de descarga al final del manual) Notepad++

Cómo se hace: Si tenéis el archivo “.trs” formateado y listo para traducir recomiendo que uséis la primera herramienta ya que está en constante desarrollo, yo he usado la versión 1.1.1. y puede que ahora ya vaya por otra versión. Es muy intuitiva y fácil de usar. Respecto a la otra, decir que lleva sin actualizarse desde 2007 y pasar de línea a línea es un poco tedioso (Control+Intro). En caso de que vengamos de un caso parecido al punto 1.1 de otra traducción, en nuestro ejemplo, con el archivo “italian.trs”, usaremos Sed para la versión Windows. Según nuestra captura nos interesa borrar las líneas pares a partir de la 14:

16

Page 17: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 2. Modificación del texto

Así que usaremos el siguiente comando:

“sed 14~2d italian.trs > castellano.trs” Nos quedaría el siguiente texto:

Tan solo tenemos el texto en inglés, que es lo que nos interesa. Usando el método de las páginas 13 y 14 con el Notepad++ para añadir una línea blanca después de cada una, tendremos el texto listo para traducir.

17

Page 18: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 2. Modificación del texto

18

Pasos a realizar (resúmen):

1) Usar la herramienta “Sed” para eliminar líneas innecesarias 2) Reformatear el texto con “Notepad++” para añadir las líneas en

blanco debajo de cada texto en inglés. 3) Usar la herramienta para traducir.

Page 19: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 3. Compilación del texto

3. Compilación del texto traducido Que ganas de probar y testear los resultados. Ya queda menos. Programas necesarios: Agslrelease

Cómo se hace: En la misma carpeta que estamos trabajando debemos crear otra carpeta llamada “Compiled” y ejecutamos siguiendo nuestro ejemplo:

“agslrelease NancyATPPS.trs”

Nos habrá creado en la carpeta “Compiled” el archivo “1_added.tra”. Este

es el archivo con la traducción compilada.

19

Page 20: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

4. Fuentes Casi siempre las aventuras creadas con este motor usan unas fuentes especiales que sólo tienen 128 caracteres debido al rendimiento, con lo que se omite el uso de caracteres extendidos (áéíóúÁÉÍÓÚñÑ¡¿). Esto era de entender en máquinas antiguas, pero en la actualidad no es necesario. Para saber si el juego nos va a detectar nuestros caracteres os aconsejo que hagáis una prueba rápida, y sustituyáis una línea del principio del juego por la cadena escrita más arriba. Existe un “pero”, y es que el juego puede usar diferentes fuentes para cada caso. Es decir, para el texto de fondo use una fuente y otro cuando los personajes hablen, e incluso se puede dar algún caso más. Si no tenéis problemas con los caracteres podéis omitir este punto. Si no es vuestro caso, aquí os explicaré como conseguirlo. Me voy al ejemplo con “Gemini Rue” el cual me dio muchos quebraderos de cabeza en su día. Programas necesarios: Gobread Fontcreator u otro similar. Radiant FontEdit

Cómo se hace: Necesitamos extraer los recursos del juego, para ello vamos a usar “Gobread” del autor asmxtx, y en una consola de comandos escribimos:

“gobread Gemini Rue.exe”

Nos empezará a extraer, en la misma carpeta donde nos encontremos, todos los recursos, entre ellos las fuentes que necesitamos. En nuestro caso se usa la fuente gratuita Munro en “agsfnt5.fnt” y “agsfnt6.fnt”.

20

Page 21: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

Si tuviésemos lista la traducción al español y no hubiéramos editado las fuentes, en el juego se presentaría el siguiente error:

Pues bien, vamos a editar la fuente. Cualquiera de las dos nos vale, porque son iguales, tan sólo cambia el nombre. Usaremos por ejemplo “agsfnt5.fnt”. Abrimos la herramienta “FontCreator” y editamos la fuente. Si echamos un vistazo, veremos que no se encuentran los caracteres españoles. Así que los tendremos que añadir nosotros.

21

Page 22: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

Añadimos una letra nueva.

Pinchamos en propiedades.

22

Page 23: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

En esta ventana seleccionamos la letra minúscula “a” con acento y damos a OK.

Tendremos la casilla vacía, pero con el título cambiado a “aacute”. Ahora seleccionamos la letra “a” y copiamos.

23

Page 24: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

Seleccionamos nuestra casilla creada y pegamos.

Ya tenemos una copia de la letra, ahora le tenemos que añadir una tilde. Pinchamos dos veces sobre la casilla y se nos abrirá una ventana para editar el dibujo. Añadimos un rectángulo y dibujamos uno pequeño.

24

Page 25: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

Pinchamos sobre el cuadro hasta que la selección cambie como se muestra en la captura y giramos.

Salimos del editor, y si comprobamos pulsando “F5”, nos saldrá una ventana en la que podemos escribir y saber si todo está saliendo bien. Escribimos “á”.

25

Page 26: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

Vemos que nos sale una interrogación, eso es porque no hemos hecho algo bien. Volvemos a darle a propiedades a nuestro nuevo carácter y nos vamos a la siguiente pestaña.

Pinchamos en “Select...” y seleccionamos tal se muestra en la captura.

26

Page 27: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

Pulsamos “OK” y volvemos a probar pulsando “F5”.

Ahora sí que nos sale. Pues a cambiarlas todas y a probar la traducción.

27

Page 28: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

¿PERO ESTO QUÉ ES? ¿Qué ha pasado? Me cago en todo lo que se menea. ¿Qué ha fallado? Tranquilo, tengo la respuesta. Parece ser que el juego ha detectado algún cambio en la fuente y ha usado por defecto la “agsfnt0.wfn” que sólo soporta 128 caracteres y no aparecen los caracteres extendidos. ¿Entonces? Pues bien el cambio que detecta es si supera el tamaño en bytes de la fuente original. Para que funcione hay que volver a cargar la fuente modificada con “FontCreator” y eliminar los caracteres para Macintosh y Unicode. Quizá de fallos si se juega en otra plataforma, pero no lo he probado. Pinchamos en “Format->Platform Manager”. Y eliminamos las dos tablas “Macintosh Roman” y “Unicode 2.0 and onwards, BMP”.

28

Page 29: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

Ahora nos debería quedar un peso de unos 9 Kbs. Y si probamos vemos que ya funciona todo como queremos.

Ahora le toca el turno si fuera el caso de modificar una fuente propia del motor AGS con extensión “wfn”. Usaremos de prueba el juego que usamos al principio del tutorial “Nancy The Happy Whore”. Si extraemos los recursos del juego vemos que no existen fuentes truetype, tan sólo las propias del engine. Para ver lo que ocurre si usamos los caracteres españoles, hacemos una prueba. Por ejemplo, con la traducción al latín previamente extraída con “agslrelease” vamos a buscar la cadena de texto “Quit” y debajo vamos a poner los caracteres “áéíóúñ¡¿” , corremos el juego y vemos que pasa:

29

Page 30: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

En vez de mostrar los caracteres españoles, como no los reconoce nos lo llena con los símbolos de interrogación. Para que aparezcan, vamos a hacer un truco muy habitual en el mundillo de la traducción. Ejecutamos la herramienta “Radiant FontEdit” y tenemos varias fuentes. En nuestro caso nos interesa “AGSFNT0.wfn”. La abrimos y se nos presenta esto:

Ahí hay caracteres que no se usan en el juego y para saber cuáles son debemos hacer una búsqueda con un editor de texto.

30

Page 31: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

Yo he encontrado estas: “\"#$+=@^”. Puede que haya alguna más, pero con estas bastan. Ahora editamos cada carácter con cada letra española. Pinchamos en la letra “a”, “Copy” y luego “Letter”.

inchamos en el carácter “\” y luego en “Paste”. P

endremos una copia de la letra “a”, le añadimos el acento. T

31

Page 32: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

Y así con todas las letras, hasta que nos quede así.

Hacemos una prueba para ver que funciona correctamente:

Para el paso final, hay que hacer una búsqueda en nuestro texto traducido de cada letra “áéíóúñ¡¿” y lo sustituimos por su equivalencia de nuestra fuente. Así si tenemos una frase del tipo “¿Qué nombre tiene ese niño?” lo escribimos así “^Qu" nombre tiene ese ni=o?”.

32

Page 33: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 4. Fuentes

33

Pasos a realizar (resúmen):

1) Comprobar con la cadena de texto “áéíóúñü¡¿” si se muestra correctamente en el juego.

2) Si no se cumple, usar “gobread” para extraer las fuentes. 3) Editar las fuentes ttf con “Fontcreator” o similar y wfn con “Radian

FontEdit”.

Page 34: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 5. Extracción y compilación de imágenes

5. Extracción y compilación de imágenes

n algunas ocasiones existen imágenes con texto que hay que traducir para arle un toque más profesional a la traducción, o por necesidades del juego. al es el caso de la traducción que llevé a cabo con Asperet (GuiasPat) que vimos que editar casi una centena de imágenes.

rogramas necesarios: AGS 3.2.1 AGS 2.72 Spr_extractor_by_Legato

ómo se hace:

jecutamos “Spr_extractor_by_Legato” en la misma carpeta donde ngamos el archivo “acsprset.spr”, extraído previamente con “Gobread”. os extraerá todos los gráficos que usa la aventura en formato “bmp”. uscamos la que necesitemos y editamos grabando con el mismo nombre. or último abrimos AGS 3.2.1, y con un nuevo juego que debemos crear, portamos todos los sprites extraídos incluyendo el modificado.

EdTtu P

C EteNBPim

34

Page 35: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 5. Extracción y compilación de imágenes

Seleccionamos todos los sprites a importar.

Con eso nos habrá creado en la carpeta de trabajo los nuevos archivos “acsprset.spr” y “sprindex.dat”. Se nos puede presentar un nuevo problema. Con el ejemplo que llevo a abo en este tutorial me he topado con él. Al extraer todas las imágenes,

resulta que no puedo ver ninguna. Solucionado con la nueva versión.

c

35

Page 36: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 5. Extracción y compilación de imágenes

He encontrado una solución que paso a explicar. Abrimos AGS 2.72 y creamos un juego nuevo.

En la carpeta “Sprite Manager” creamos subcarpetas debajo de “MainHay que tener en cuenta que cada carpeta tiene un límite de 200 sprites. Así

ue en nuestro ejemplo debemos crea

”.

r 5 carpetas. Y luego importamos últiples sprites.

qm

Dejamos la siguiente configuración:

36

Page 37: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 5. Extracción y compilación de imágenes

Así hasta que tengamos todos los sprites en nuestro proyecto. Seguimos adelante y salvamos el juego.

Copiamos el archivo “acsprset.spr” y “sprindex.dat” del juego “Nancy and the Perfidious Petrol Station” en la carpeta del nuevo juego creado con AGS 2.72. Luego ejecutamos AGS 3.2.1 y abrimos nuestro proyecto.

37

Page 38: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 5. Extracción y compilación de imágenes

Empezará a transformar la versión 2.72 a la nueva. Y ya deberíamos de ver nuestros sprites.

38

Page 39: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 5. Extracción y compilación de imágenes

39

Ahora exportamos el que nos interese para editar y luego lo volvemos a insertar ya modificado.

Sólo nos queda salvar los cambios y ya tenemos los nuevos archivos con los sprites cambiados.

1) Usar “spr_extractor” para extraer los sprites. 2) Modificar las imágenes necesarias. 3) Abrir “AGS 3.2.1” e importar todos los sprites (modificados y no

modificados). 4) Los archivos con todos los sprites (incluidos los modificados) son

“acsprset.spr” y “sprindex.dat”.

Pasos a realizar (resúmen):

Page 40: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

6. Modificación y compilación de una “room” Hay veces que existe un “background” o fondo que está en los recursos de las “room” del juego. Vamos a usar el ejemplo de “Gemini Rue” que tuve que modificar en su momento para que funcionara el plano de ventilación.

Programas necesarios: Viewer by Legato Gobread AGS 3.2.1 HxD Editor Hexadecimal TRA Creator

ómo se hace:

unque no nos hace realmente falta, sí que quiero mostraros esta erramienta de nuestro amigo ruso “Legato”. Hablo de “Viewer by egato”. Antes debemos tener extraído todos los recursos con “Gobread”.

C AhL

40

Page 41: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

Como veis, la habitación (room) que necesitamos para modificar es “room72.crm”. Bien vayamos a extraer la imagen para modificarla. Abrimos AGS 3.2.1., abrimos nuestro proyecto “TUTORIAL_ AGS3” y luego cargamos esa

room”. “

41

Page 42: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

Seleccionamos la room que nos interesa (room72.crm). Y pinchamos en “Export”.

Guardamos la imagen, le damos el nombre y el formato que queramos. Yo

he grabado como “room72.bmp”. Hacemos las modificaciones que haya que hacerle. Y luego pinchamos en “Change” para seleccionar la nueva imagen.

la

42

Page 43: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

Guardamos la habitación (room).

En nuestra carpeta del proyecto tenemos la room modificada. Pero todavía no está completa. Falta cambiar la llave (key) del juego y añadir el script para que funcione correctamente. Para ello vamos a editar hexadecimalmente esta room.

43

Page 44: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

Ejecutamos “TRA Creator” , seleccionamos el ejecutable de “Gemini Rue”. Pinchamos en el siguiente botón:

Nos extraerá la llave (key) del juego en hexadecimal. Nuestro caso 84668800h. Ejecutamos “HxD” y abrimos la habitación modificada“room72.crm” y la original, que en nuestro caso la he llamado, para que sea más fácil

entificar, “room72_orig.crm”. Tendremos dos pestañas con los dos en la original la llave (key)

exadecimal.

idarchivos abiertos. Ahora buscamosh

Daremos con ella.

44

Page 45: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

Apuntamos la posición, la necesitaremos más adelante, B2Eh. Continuamos con la otra pestaña donde está abierta la room modificada. Vamos a la posición B2Eh.

Y allí tenemos la llave (key) de nuestro proyecto.

45

Page 46: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

ustituimos los valores hexadecimales por los originales. QuedS aría así.

46

Page 47: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

Ahora nos falta añadir el script para que funcione correctamente. Esta parte es nueva, incluso para nuestros amigos los rusos que, al parecer, intuyen el script y tratan de hacer funcionar la habitación. Seguimos usando “HxD” y en “room_orig.crm” buscamos la cadena de texto “SCOMY” desde el principio.

47

Page 48: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

Nos vamos hasta el valor hexadecimal justo después del paréntesis que se encuentra antes de la cadena de texto.

Apuntamos la posición y nos vamos al final del archivo. Allí

ición inicial el valor de antes. seleccionamos un bloque de bytes desde el menú Edición -> Selección de bloque. Pegamos en el campo de pos

Tendremos seleccionado un bloque con longitud 13BBh. Copiamos el loque. Nos vamos a la pestaña de “room72.crm”, buscamos de nuevo la b

48

Page 49: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

cadena “SCOMY” y, al igual que con la otra room, desde el valor después del paréntesis pegamos escribiendo.

Nos preguntará si deseamos continuar y le decimos que sí. Con esto ya estánuestra habitación (room) modificada con los textos traducidos y

ncionando el script original. fu

49

Page 50: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 6. Modificación y compilación de una “room”

50

Pasos a realizar (resúmen):

1) Usar “gobread” para extraer las habitaciones (room). 2) Visionar las room con “viewer_by_legato”.

de la room. 6) Modificar imagen de fondo. 7) Importar imagen de fondo de la room. 8) Guardar habitación (“Save Room”). 9) Usar “TRA Creator” para saber la llave (key).

10) Editar hexadecimalmente la nueva room para introducir la key y el script.

3) Abrir “AGS 3.2.1.” con un nuevo proyecto. 4) Importar room. 5) Exportar imagen de fondo

Page 51: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 7. Creación del parche

7. Creación del parche Pues ya tenemos todos los archivos necesarios para crear un parche y poder disfrutar de la aventura en “completo” castellano. Vuelvo a recordar la importancia del testeo porque siempre suele haber fallos. Todos los archivos que hemos creados/modificados tan sólo hace falta meterlos en la misma carpeta donde se encuentre el ejecutable del juego. Y para crear el parche, existen varios programas, algunos gratuitos. NSIS (Nullsoft Scriptable Install System) Inno Setup ClickTeam Instant Creator PatchMaker WinRAR IPS2Exe IExpress

51

Page 52: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 8. Modificación Hexadecimal

8. Modificación Hexadecimal

sta parte ya está documentada en algunos tutoriales que circulan por

rogramas necesarios:

itar con nuestra herramienta. Hacemos ena de texto que queremos traducir.

Explicar cómo se edita hexadecimalmente. Sin superar el número de caracteres o rellenándolos con 00h en casos que no lleguemos. Einternet. Yo daré una breve explicación con las nociones más básicas. P HxD

Cómo se hace: Abrimos el archivo que queremos eduna búsqueda de la cad

Como podemos ver, la cadena exacta que nos interesa es “Medical Station” on longitud Fh, es decir, 16 en decimal. c

52

Page 53: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 8. Modificación Hexadecimal

Para modificarla, no podemos pasarnos de esta longitud. Yo la sustituiré por “Estación Médica” que es justo los 16 caracteres de longitud máximo.

53

Page 54: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 8. Modificación Hexadecimal

54

Como podéis ver, antes y después de la cadena de texto está el valor 00h. Esto es así normalmente porque ese valor indica el final de cada cadena y es obligatorio, si no el juego falla. Ahora vayamos a sustituir “Medical” por “Médico” y comprobamos que la última cadena tiene un carácter menos. Podemos añadir un espacio al final o sustituir su valor hexadecimal por 00h.

Ya sólo es cuestión de probar qué cadenas de texto no se traducen y buscarlas hexadecimalmente.

Page 55: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 9. Notas

9. Notas

Las partidas guardadas antes de la traducción del juego, por

hexadecimalmente las partidas. Un ejemplo de ello fue el

parche que publiqué para las partidas de Gemini Rue.

Hay veces que tenemos todo traducido y en el juego

aparece texto sin traducir o hay problemas de

funcionamiento. Esto puede ser por el uso de plugins que

usen comandos de operaciones con cadenas de texto como

“String functions” o “Overlay functions and properties”

(véase la ayuda de AGS 3.2.1). En este caso sólo nos queda

editarlo hexadecimalmente o bien, dejarlo tal cual.

Cuando hacemos uso de la herramienta “agslrelease”, ésta

crea un archivo “game.agf” con la key (llave) del juego en

decimal.

norma general, no funcionan correctamente. Dos

posibilidades, o se juega desde el principio o se edita

55

Page 56: TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3

TRADUCCIÓN DE LOS JUEGOS CREADOS EN AGS 3.x 10. Enlaces de las aplicaciones usadas

10. Enlaces de las aplicaciones usadas

Gobread http://www.mediafire.com/download.php?a6rs4eqgzdi2fq1

TRA Creator http://www.mediafire.com/download.php?xmjg4jvp41trl5d

TRS Adder http://www.mediafire.com/download.php?e1u1s3nbsnmyrsl SPR E h09ktxtractor http://www.mediafire.com/download.php?arp0wc7h9n Viewe t7x2r_by_Legato http://www.mediafire.com/download.php?ald5f2l1h0a Exestringz http://aluigi.altervista.org/mytoolz.htm

Translation estudio.co.uk/forums/index.php?topic=46417.0

AGS http://www.adventuregam

AGSLinguist http://www.maniac-mansion-mania.com/index.php/es/ressourcen/tools/666-ags-linguist.html

slrelease Ag http://www.maniac-mansion-mania.com gs-/index.php/es/ressourcen/downloads/doc_download/347-atranslationfiledecompiler.html

Sed http://gnuwin32.sourceforge.net/packages/sed.htm FontCreator http://www.high-logic.com/font-editor/fontcreator.html

n FontEdit Radia http://www.tdrdesign.net/downloads/fontedit.exe Notepad ++ http://notepad-plus-plus.org/

HxD http://mh-nexus.de/en/hxd/ AGS 3.2.1 http://www.adventuregamestudio.co.uk/AGS.aspx AGS 2.72 http://www.bigbluecup.com/ags_272.zip

56