Página 2 de 3
Ir a la página Anterior  1, 2, 3  Siguiente
 

Mensaje Re: Necesitamos Ayuda Con La Tradu De Resident 2 De DC

#11  CUE 30 Enero 2010, 06:44 PM

Ryo Suzuki escribió: [Ver mensaje]
Si, algo deben tener los jodidos.

Yo desde mi mas profunda ignorancia no acabo de comprender que viendo y comprendiendo la rutina de descompresion no se pueda crear otra de compresion, pero eso es harina de otro costal...

Y lo del wiki, si que me dijeron varios colegas que controlan algo que faltaba algo para que eso fuese compilable y chutase. Creo que FacundoARG, neoblast e incluso Indi le echaron un ojo y comentaron algo asi

No se muy a las malas si no conseguimos que nadie nos saque las castañas del fuego en ese sentido podriamos hacer algun trapi con los videos en plan como "decirle" que no muestre los subs en franchute y darle el cambiazo con videos con el subtitulo incrustado por nosotros, pero lo veo muy complicado tambien...

No tiene nada que ver la compresión con la descompresión. Descomprimir se puede hacer con 4 líneas mal puestas, pero cuando tienes que hacerlo a la inversa es cuando se te viene el mundo encima: que si crear nodos, que si esto, que si aquello, que si ... (joer, parezco el anuncio de los seguros).

Hasta donde yo he visto es un verdadero coñazo la compresión, pero más que nada es por lo oscura que está la explicación del método. Entiendo perfectamente que nadie se haya metido con ella.

El programa de la wiki no tiene nada raro en principio, aunque no lo he probado a fondo. Se compila perfectamente y lo único que falta es grabar el resultado, que lo deja en memoria y se pierde al terminar. Al final lo pone bien claro:
Código: [Descargar] [Ocultar]
  1. "/* Unpacked data is in dstPointer array, with length = dstOffset bytes */" 


Los problemas que pueda haber al compilar serán por faltas de cabeceras. Con incluir stdlib.h y string.h no debería haber problemas.

Esto he probado y me ha funcionado, son sólo unos cambios al principio y al final del código:
Código: [Descargar] [Ocultar]
  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <string.h>  
  4. #include <fcntl.h>  
  5. .......  
  6. blablabla  
  7. .......  
  8. FILE *fp;  
  9. fp = fopen("test", "w+b");  
  10. fwrite(dstPointer, 1, dstOffset, fp);  
  11. fclose(fp);  
  12.       
  13.     return 0;  

He hecho pruebas con varios ficheros ADT y me ha generado ficheros RAW normalitos que se pueden fisgar con los programas habituales. Sé que puede generar otros formatos, pero hasta ahí no he llegado.

caca

Esto es todo lo que puedo decir sobre el tema, que ahora apenas tengo tiempo y no puedo mirar más (no digo que huyo cobardemente al ver como es esa compresión para que no me peguéis). De todas formas, me parece raro que los 2 gurús de los programas para RE no hayan hecho nada.
 



 
avatar
blank.gif CUE 
Miembro de honor
Miembro de honor
Romhacker
Videogames Translator
 
Registrado: Enero 2010
Ubicación: Pucela
Mensajes: 359
  • Volver arriba Página inferior
 

Mensaje Re: Necesitamos Ayuda Con La Tradu De Resident 2 De DC

#12  IlDucci 30 Enero 2010, 07:10 PM

Estoy de acuerdo con lo raro de la situación pero es que creo que han pasado a otros menesteres (Pmandin está con su visualizador de datos y MarkGrass con su editor de RDTs, y estoy en contacto con éste último)
 



 
avatar
spain.png IlDucci Sexo: Masculino
Colaborador SEGASATURNO
Colaborador SEGASATURNO
Videogames Translator
 
Registrado: Noviembre 2009
Ubicación: Por los Madriles
Mensajes: 184
  • Volver arriba Página inferior
 

Mensaje Re: Necesitamos Ayuda Con La Tradu De Resident 2 De DC

#13  Ryo Suzuki 02 Febrero 2010, 11:57 AM

cOcOoO escribió: [Ver mensaje]
Probaste pidiendole ayuda a TuxTheWise? hoy mismo le heché un cable para su release de VT2, todavía no contestó. Probá contactandolo en dreamcast-talk.


Nop, la verdad es que no.

¿Que es VT2?

¿Podrias comentarselo tu si tienes relacion con él?

davidvaldivia escribió: [Ver mensaje]
yo os felicito enormemente por esa traduccion ya con lo que habeis echo es muchisimo porque esta completamente todo al español por unas secuencias no pasaria nada se os perdona todo por ese esfuerzo a mi por lo menos me daria igual y para mi estaria traducido


Gracias, pero somos reacios a sacarlo asi sin los videos en español.

CUE escribió: [Ver mensaje]
Ryo Suzuki escribió: [Ver mensaje]
Si, algo deben tener los jodidos.

Yo desde mi mas profunda ignorancia no acabo de comprender que viendo y comprendiendo la rutina de descompresion no se pueda crear otra de compresion, pero eso es harina de otro costal...

Y lo del wiki, si que me dijeron varios colegas que controlan algo que faltaba algo para que eso fuese compilable y chutase. Creo que FacundoARG, neoblast e incluso Indi le echaron un ojo y comentaron algo asi

No se muy a las malas si no conseguimos que nadie nos saque las castañas del fuego en ese sentido podriamos hacer algun trapi con los videos en plan como "decirle" que no muestre los subs en franchute y darle el cambiazo con videos con el subtitulo incrustado por nosotros, pero lo veo muy complicado tambien...

No tiene nada que ver la compresión con la descompresión. Descomprimir se puede hacer con 4 líneas mal puestas, pero cuando tienes que hacerlo a la inversa es cuando se te viene el mundo encima: que si crear nodos, que si esto, que si aquello, que si ... (joer, parezco el anuncio de los seguros).

Hasta donde yo he visto es un verdadero coñazo la compresión, pero más que nada es por lo oscura que está la explicación del método. Entiendo perfectamente que nadie se haya metido con ella.

El programa de la wiki no tiene nada raro en principio, aunque no lo he probado a fondo. Se compila perfectamente y lo único que falta es grabar el resultado, que lo deja en memoria y se pierde al terminar. Al final lo pone bien claro:
Código: [Descargar] [Ocultar]
  1. "/* Unpacked data is in dstPointer array, with length = dstOffset bytes */" 


Los problemas que pueda haber al compilar serán por faltas de cabeceras. Con incluir stdlib.h y string.h no debería haber problemas.

Esto he probado y me ha funcionado, son sólo unos cambios al principio y al final del código:
Código: [Descargar] [Ocultar]
  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. #include <string.h>  
  4. #include <fcntl.h>  
  5. .......  
  6. blablabla  
  7. .......  
  8. FILE *fp;  
  9. fp = fopen("test", "w+b");  
  10. fwrite(dstPointer, 1, dstOffset, fp);  
  11. fclose(fp);  
  12.       
  13.     return 0;  

He hecho pruebas con varios ficheros ADT y me ha generado ficheros RAW normalitos que se pueden fisgar con los programas habituales. Sé que puede generar otros formatos, pero hasta ahí no he llegado.

caca

Esto es todo lo que puedo decir sobre el tema, que ahora apenas tengo tiempo y no puedo mirar más (no digo que huyo cobardemente al ver como es esa compresión para que no me peguéis). De todas formas, me parece raro que los 2 gurús de los programas para RE no hayan hecho nada.


Hombre, si te digo la verdad el titulo del post era: "CUE, ayudanos porfavooor con la tradu del RE2", pero lo cambie al final

Ahora en serio, pues si que esta chunga la cosa por lo que explicas... Los gurus de RE no se porque no han hecho un compresor, quizas sea muy dificil o tal vez tambien es que no han tenido la necesidad de volver a comprimir, normalmente lo que buscan es investigar y sacar los datos de los juegos en busca de curiosidades, cosas que no muestra el juego, etc...

A ver que solución encontramos... thanks!
 



 
avatar
japan.png Ryo Suzuki Sexo: Masculino
Alfonso Martínez González
Webmaster
Webmaster
Shenmue Freak
 
Registrado: Agosto 2005
Ubicación: 難波
Mensajes: 10788
  • Volver arriba Página inferior
 

Mensaje Re: Necesitamos Ayuda Con La Tradu De Resident 2 De DC

#14  CUE 02 Febrero 2010, 01:55 PM

No, si ya sabía que mi nombre estaba oculto  

Lo que me extraña es que hayan hecho un descompresor. Eso quiere decir que "saben" el método, pero en ninguna parte veo que den una mínima explicación.

Se me está ocurriendo que tal vez se pueda "engañar" al juego y hacer una falsa compresión. Más o menos es dejar el fichero intacto, con unos pequeños ajustes para que el juego crea que está comprimido. Pero que nadie se haga ilusiones, que, aunque funciona con otros métodos de compresión, en este caso es bastante jodidillo por no saber exactamente cómo se hace. Para hacer pruebas necesitaría unos cuantos ficheros ADT (deberían llamarse ODETÉ, con la 'j' por la delante, que es más propio, jeje). Los que tenía para hacer pruebas que me pasaron traspasaron el punto de no retorno de la papelera de reciclaje.
 



 
avatar
blank.gif CUE 
Miembro de honor
Miembro de honor
Romhacker
Videogames Translator
 
Registrado: Enero 2010
Ubicación: Pucela
Mensajes: 359
  • Volver arriba Página inferior
 

Mensaje Re: Necesitamos Ayuda Con La Tradu De Resident 2 De DC

#15  DonGloton 02 Febrero 2010, 02:07 PM

Ah, la papelera de reciclaje... Esa delgada linea que separa el hoy de ayer...
 




____________
mr_greedy

....Salchichas como almohadas....
 
avatar
spain.png DonGloton Sexo: Masculino
Traductor MKR
Colaborador SEGASATURNO
Colaborador SEGASATURNO
 
Registrado: Marzo 2008
Ubicación: Madrid!
Mensajes: 814
  • Volver arriba Página inferior
 

Mensaje Re: Necesitamos ayuda con la tradu de Resident 2 de DC

#16  Ryo Suzuki 02 Febrero 2010, 03:19 PM

CUE escribió: [Ver mensaje]
No, si ya sabía que mi nombre estaba oculto  


Tanto se notaba

Te he puesto unas files de prueba en nuestro ftp de tradus, sirvete yourself.

De todas formas ilducci, colega, cuelgale si eso los ADTs mas interesantes que tu veas para "estudiar"

Gracias master   

P.D: No comprendo lo de engañar. Que quieres engañarle con la cabecera o algo diciendole "que esta comprimido" cuando en realidad no lo esta o al menos no por el mismo metodo... MISSA NO ENTIENDEE
 



 
avatar
japan.png Ryo Suzuki Sexo: Masculino
Alfonso Martínez González
Webmaster
Webmaster
Shenmue Freak
 
Registrado: Agosto 2005
Ubicación: 難波
Mensajes: 10788
  • Volver arriba Página inferior
 

Mensaje Re: Necesitamos Ayuda Con La Tradu De Resident 2 De DC

#17  IlDucci 02 Febrero 2010, 04:04 PM

CUE, si te sirve para cacharrear, estos archivos también se utilizan en la versión de PC del RE2 (Por lo de que tengas mayor rapidez de editar). Te cuelgo todo el repertorio de ADTs, lo tienes dónde Ryo deja sus chorradillas.
 



 
avatar
spain.png IlDucci Sexo: Masculino
Colaborador SEGASATURNO
Colaborador SEGASATURNO
Videogames Translator
 
Registrado: Noviembre 2009
Ubicación: Por los Madriles
Mensajes: 184
  • Volver arriba Página inferior
 

Mensaje Re: Necesitamos Ayuda Con La Tradu De Resident 2 De DC

#18  CUE 02 Febrero 2010, 07:05 PM

Ryo Suzuki escribió: [Ver mensaje]
P.D: No comprendo lo de engañar. Que quieres engañarle con la cabecera o algo diciendole "que esta comprimido" cuando en realidad no lo esta o al menos no por el mismo metodo... MISSA NO ENTIENDEE


Missa explica si tussa comprende no bueno (aunque sé por experiencia que nadie lo va a entender, ni yo mismo cuando lo relea).

En las compresiones siempre hay unos bits que te dicen lo que hay que hacer. En los casos más sencillo, antes de los bytes comprimidos va un byte de flags, donde normalmente se indica con un 0 que hay un byte sin comprimir y con un 1 que hay que copiar datos de una dirección. Se ve mejor con un ejemplo. Imagina que un fichero comprimido tiene los bytes 0A-00-01-02-03-04-05-06-07-08-09-0A-0B-0C (los valores están puestos a propósito para verlo mejor). El primer byte son los flags, 0A, que en binario es 00001010. Interpretando por orden, de izquierda a derecha::
0 - copiar el byte siguiente, en este caso el 00
0 - copiar el byte siguiente, en este caso el 01
0 - copiar el byte siguiente, en este caso el 02
0 - copiar el byte siguiente, en este caso el 03
1 - coger los dos bytes siguientes, en este caso 0405 (que podría ser interpretado como coger 5 bytes de 040 posiciones más atrás)
0 - copiar el byte siguiente, en este caso el 06
1 - coger los dos bytes siguientes, en este caso 0708 (que podría ser interpretado como coger 8 bytes de 070 posiciones más atrás)
0 - copiar el byte siguiente, en este caso el 09

Al final nos daría algo así como 00-01-02-03-X1-X2-X3-X4-X5-06-Y1-Y2-Y3-Y4-Y5-Y6-Y7-Y8-09, 19 bytes que se han formado con 11 (los valores de X/Y serían unos bytes que estarían ya en el fichero).

Estos unos y ceros sirven para "engañar" a las rutinas de compresión. Imagina que tenemos que comprimir "¡ESTOY HACIENDO UN FAKE!" y no sabemos cómo hacerlo. Pues aquí usamos el truco del cero, poniendo siempre 0 en los flags para que copie los bytes tal como están, teniendo en cuenta que los datos hay que copiarlos de 8 en 8, justo los bits que hay en un byte:
00-¡-E-S-T-O-Y- -H
00-A-C-I-E-N-D-O-
00-U-N- -F-A-K-E-! (pongo las letras en vez de los ASCII por comodidad).

A la hora de descompimir, el programa lee los flags, en este caso siempre leerá ceros, y eso le indica que tiene que coger 8 bytes tal y como están. Obviamente, el programa "comprimido" ocupa más que el original, exactamente 1/8 más, pero es un método que funciona y más de una vez te saca de un apuro. Bueno, éste es el método fácil. Hay otros más complicados, que dependen de la rutina de compresión usada, como el de Legend of Mana de PSX, donde podemos indicar 240 bytes en vez de 8 por cada flag, pero básicamente siempre es lo mismo: uno o varios bytes flags que nos indican cuántos bytes tenemos que leer y poner tal cual. Realmente no es que estemos engañando al programa, lo que ocurre es que usamos sólo uno de los códigos que indican la compresión, justo el que dice "dato no comprimido".

Volviendo a los ADT de marras, me temo que no se puede hacer, al menos no tan fácilmente. Por lo que he visto del programa ése de la wiki, es alguna variante de la compresión huffman. De hecho, la rutina de descompresión tiene una estructura prácticamente idéntica a la huffman, pero trata el fichero por partes en vez de hacerlo entero. Si alguien se quiere meter con ello, que el nene dice que nanay, puede ver la decompresión en el programa:
Código: [Descargar] [Ocultar]
  1.       int curBitfield = readSrcBitfieldArray(&array2, tmpBufLen);  
  2.       if (curBitfield < 256) {  
  3.         dstPointer[dstOffset++] =  
  4.           tmp16k[tmp16kOffset++] = curBitfield;  
  5.         tmp16kOffset &= 0x3fff;  
  6.       } else {  
  7.         int i;  
  8.         int numValues = curBitfield - 0xfd;  
  9.         int startOffset;  
  10.         curBitfield = readSrcBitfieldArray(&array3, tmpBufLen1);  
  11.         if (curBitfield != 0) {  
  12.           int numBits = curBitfield-1;  
  13.           curBitfield = readSrcBits(numBits) & 0xffff;  
  14.           curBitfield += 1<<numBits;  
  15.         }  
  16.  
  17.         startOffset = (tmp16kOffset-curBitfield-1) & 0x3fff;  
  18.         for (i=0; i<numValues; i++) {  
  19.           dstPointer[dstOffset++] = tmp16k[tmp16kOffset++] =  
  20.             tmp16k[startOffset++];  
  21.           startOffset &= 0x3fff;  
  22.           tmp16kOffset &= 0x3fff;  
  23.         }  
  24.       }  
  25.  
  26.       curBlockLength++; 


y compararla con la que se hace por Huffman:
Código: [Descargar] [Ocultar]
  1.         c = DecodeChar();  
  2.         if (c < 256) {  
  3.           if (putc(c, outfile) == EOF) Error(wterr);  
  4.           text_buf[r++] = c;  
  5.           r &= (N - 1);  
  6.           count++;  
  7.         } else {  
  8.           i = (r - DecodePosition() - 1) & (N - 1);  
  9.           j = c - 255 + THRESHOLD;  
  10.           for (k = 0; k < j; k++) {  
  11.             c = text_buf[(i + k) & (N - 1)];  
  12.             if (putc(c, outfile) == EOF) Error(wterr);  
  13.             text_buf[r++] = c;  
  14.             r &= (N - 1);  
  15.             count++;  
  16.            } 


Son exactamente iguales, tan sólo han cambiado los nombres de las variables y funciones. El problema está en el proceso previo, donde espero que alguien sea capaz de entenderlo, que yo me pierdo.

Como curiosidad, y ya que hemos tocado el tema, aquí no se emplean los ceros para indicar que copie los bytes tal cual. En este caso es un valor de 16 bits menor de 256. En cristiano: un cero seguido de un valor indica que se tome un byte tal cual. Pero para conseguir ese valor de 16 bits hay que hacer un montón de cosas.


~~~ AÑADIDO ~~~
Estaba yo pensando (es que me he dado un golpe en la cabeza, no penséis que es algo normal en mí) que si la versión PC usa los mismos archivos, ¿qué problema hay en dar el cambiazo? Si no recuerdo mal tanto la versión PC como la versión PSX salieron en cristiano y si los ADT tienen el mismo formato debería ser algo sencillo de hacer, a no ser que algo se me escape.
 



 
avatar
blank.gif CUE 
Miembro de honor
Miembro de honor
Romhacker
Videogames Translator
 
Registrado: Enero 2010
Ubicación: Pucela
Mensajes: 359
  • Volver arriba Página inferior
 

Mensaje Re: Necesitamos Ayuda Con La Tradu De Resident 2 De DC

#19  AXL-orion2005z 02 Marzo 2010, 05:11 PM

ojala salga pronto amigos el RE2 para dreamcast es el mejor... que de cualquier otra consola...
 



 
avatar
 AXL-orion2005z Sexo: Masculino
SEGA Junior
SEGA Junior
 
Registrado: Junio 2009
Mensajes: 75
  • Volver arriba Página inferior
 

Mensaje Re: Necesitamos Ayuda Con La Tradu De Resident 2 De DC

#20  Guaripolo 02 Marzo 2010, 06:08 PM

estuve leyendo asi por arriba y sin pensar mucho...se me ocurre primero buscar alguna información adicional del fichero, por ejemplo hacerle tirar en que posición de offset del archivo está cada encabezado (el famoso valor de 16 bits)...se me ocurre también algunas comparaciones binarias entre el fichero original comprimido, el fichero original descomprimido y el modificado...
Bueno dejo de elucubrar, voy a leer un poquito el código, esta interesante el tema...a ver si puedo ayudar en algo.
 



 
avatar
 Guaripolo Sexo: Masculino
Recien llegado
Recien llegado
 
Registrado: Noviembre 2009
Mensajes: 21
  • Volver arriba Página inferior
 


Ocultar¿Este tema fue útil?
Compartir este tema
Correo a un amigo Facebook Twitter Windows Live Favorites MySpace del.icio.us Digg SlashDot google.com LinkedIn StumbleUpon Blogmarks Diigo reddit.com Blinklist co.mments.com
technorati.com DIGG ITA linkagogo.com meneame.net netscape.com newsvine.com yahoo.com Fai Informazione Ok Notizie Segnalo Bookmark IT fark.com feedmelinks.com spurl.net

Página 2 de 3
Ir a la página Anterior  1, 2, 3  Siguiente