Romxhacking Romxhacking
- Nasío pa'jakear -
 
 F.A.Q.F.A.Q.   BuscarBuscar   Lista de MiembrosLista de Miembros   Grupos de UsuariosGrupos de Usuarios   RegístreseRegístrese 
 PerfilPerfil   Identifíquese para revisar sus mensajesIdentifíquese para revisar sus mensajes   ConectarseConectarse 


Menú principal
Portal
Foros
F.A.Q.
Buscar
Lista de miembros
Grupos de usuarios
Perfil

Usuario
Nombre de Usuario:

Contraseña:

 Recordarme



He olvidado mi contraseña

¿Aún no tiene su cuenta?
Puede registrarse Aquí, es GRATIS.


Anuncio del administrador
No pretendemos solucionar todos los problemas ni ser referencia de nada, simplemente nos reunimos aquí para charlar de nuestras cosas.
NO SE RESPONDERÁ A NADA POR PRIVADO, QUE EL FORO ESTÁ PARA ALGO

Bug Digimon World 1
Ir a página Anterior  1, 2, 3, ... 9, 10, 11  Siguiente
 
Publicar Nuevo Tema   Responder al Tema    Romxhacking -> De todo un poco
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5433
Estado: Offline
MensajePublicado: Fri Mar 04, 2011 10:48 am    Título del mensaje: Responder citando

Más info de las fuentes, para que el chaval de RHDN no ande buscando más:
- están en formato 1bpp, es decir, cada pixel es un bit, o al revés
- todos los caracteres tienen 16 pixeles de ancho por 11 de alto, excepto la americana, que son 12
- los datos se leen de 16 bits en 16 bits, 2 bytes, con la particularidad de que los dos bytes están invertidos, o sea, que si vemos con un editor que los datos son 12-34-56-78-9A-BC realmente leeremos 3412-7856-BC9A.
- la fuente americana tiene 16 bits extras, 2 bytes, 1 fila más, porque indican el ancho del carácter, mientras que en las demás versiones el ancho es fijo

Offsets de la fuente (en hexadecimal):
- americana - SLUS_010.32 - A0880
- japonesa - SLPS_017.97 - 98D38
- británica - SLES_029.14 - 989C0
- alemana - SLES_034.34 - 989D0
- francesa - SLES_034.35 - 98958
- española - SLES_034.36 - 9898C
- italiana - SLES_034.37 - 9898C

Justo antes de los datos de la fuente están los caracteres usados, en UTF-8, si no recuerdo mal, cada uno compuesto por 2 bytes.

Con esos datos es sencillo sacar la fuente: se leen 2 bytes, el menos significativo es el primero, se pasan a binario, donde el '1' representa un pixel y el '0' nada (o al revés), formando una de las filas del carácter, y repetimos el proceso hasta sacar todos los caracteres de la fuente. No merece la pena ni que ponga unas líneas de programa para eso, pues es de lo más simple.

Me llama la atención que todos los ELF europeos tienen la cabecera del japonés, y, por la estructura de la fuente, parece ser que se basaron en esa versión para hacer las distintas localizaciones del juego.


Todas las fuentes en BMP: http://www.megaupload.com/?d=AMHTXBE5
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Romsstar



Sexo: Sexo:Hombre
Registrado: 05 Mar 2011
Mensajes: 15
Estado: Offline
MensajePublicado: Sat Mar 05, 2011 4:00 pm    Título del mensaje: Responder citando

Hi, great work in ripping the fonts.
I'm working on this project too.
I have made the table file and located dialogue files.
(Btw Dialogue is not in SLES or SLUS only font and items and lists)
Working on pointer table.
If you want, we can work together.
Btw: Which program you use for ripping the fonts?
Feidian? Or another?
If another can you say which and tell me settings?
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5433
Estado: Offline
MensajePublicado: Sat Mar 05, 2011 9:00 pm    Título del mensaje: Responder citando

I have no interest in digimon games, Sad
but I would like to know how to fix the damn bug.

The fonts: I'm using B2B (check your private messages, the tool is not public yet, DO NOT SHARE, PLEASE!!!)

Código:
-e ........ extract the bitmap from the binary file
-i ........ insert the bitmap into the binary file
binName ... binary file
bmpName ... bitmap file (always a BMP 8bpp)
offset .... data offset
yTiles .... vertical tiles
xTiles .... horizontal tiles
yPixels ... tile height
xPixels ... tile width
yBorder ... vertical border (pixels)
xBorder ... horizontal border (pixels)
bpp ....... bits per pixel (1/2/4/8, bit7=1 for reverse order)
bytes ..... data bytes (1/2/4, normally 1, 2 in Digimon)
palette ... palette (0/1)

*** only hex numbers ***


To extract the fonts:
Código:
b2b  -e  SLUS_010.32  US.bmp  A0880  05  10  0C  10  1  1  1  2  1
b2b  -e  SLPS_017.97  JP.bmp  98D38  3E  10  0B  10  1  1  1  2  1
b2b  -e  SLES_029.14  UK.bmp  989C0  0C  10  0B  10  1  1  1  2  1
b2b  -e  SLES_034.34  GE.bmp  989D0  0C  10  0B  10  1  1  1  2  1
b2b  -e  SLES_034.35  FR.bmp  98958  0C  10  0B  10  1  1  1  2  1
b2b  -e  SLES_034.36  SP.bmp  9898C  0C  10  0B  10  1  1  1  2  1
b2b  -e  SLES_034.37  IT.bmp  9898C  0C  10  0B  10  1  1  1  2  1

The UK font (with borders for easy edition, without borders):


To replace the fonts:
Código:
use '-i' instead '-e'


More info:
Código:
SLUS_010.32 - A07E0, A0880
SLPS_017.97 - 98578, 98D38
SLES_029.14 - 98848, 989C0
SLES_034.34 - 98858, 989D0
SLES_034.35 - 987E0, 98958
SLES_034.36 - 98814, 9898C
SLES_034.37 - 98814, 9898C
The first value is the character table, 2 bytes/char (Shift-JIS based).
The second value is the font offset.
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Romsstar



Sexo: Sexo:Hombre
Registrado: 05 Mar 2011
Mensajes: 15
Estado: Offline
MensajePublicado: Sat Mar 05, 2011 9:30 pm    Título del mensaje: Responder citando

Thx, sent you a PM with some infos too.
Maybe they can help^^
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5433
Estado: Offline
MensajePublicado: Sun Mar 06, 2011 3:54 pm    Título del mensaje: Responder citando

do you have a save before the bug? (the ePSX memcard file)

¿alguien tiene un save antes del bug? (el fichero memcard del emulador ePSX)
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Romsstar



Sexo: Sexo:Hombre
Registrado: 05 Mar 2011
Mensajes: 15
Estado: Offline
MensajePublicado: Sun Mar 06, 2011 4:30 pm    Título del mensaje: Responder citando

Yes, sent you a PM with the memorycard save,
it is for the german one though.
Have no other, but you can modify it quickly^^
please answer the PM before too;)

EDIT:

Ah also something about the game for my project,
I tried but no results, maybe you can help CUE:

The game stores it's map data in a format called ".TFS"
I tried opening it up in Tile Molester which gave me such a result in 8bpp linear:

Although it is kinda messy you can see a graphics here.


Now I wondered. Can I somehow make it display right and maybe rip it properly?
Is any data gainable out of this?

For reference I uploaded the mentioned TFS File and also a ".MAP" which goes with it somehow but seems to contain only some small TIM images but nothing useful.

http://www.sendspace.com/file/uc228f
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5433
Estado: Offline
MensajePublicado: Sun Mar 06, 2011 9:56 pm    Título del mensaje: Responder citando

This is a tiny tool to test the LBA table in the elf files.
Each entry is a file:
- 4 bytes: LBA (0 the last one)
- 4 bytes: length
- 4 bytes: filename offset (you need sub 0x80090000)

Código:
#include <stdio.h>
#include <stdlib.h>

void Test(unsigned char *filename, unsigned int offset);
unsigned char *ReadFile(unsigned char *fn);
unsigned int Get4(unsigned char *buffer, unsigned int position);

int main (int argc, char **argv) {
//Test("SLUS_010.32", 0x0008FE1C); // US
//Test("SLPS_017.97", 0x00095E18); // JP
//Test("SLES_029.14", 0x00095F44); // UK
  Test("SLES_034.34", 0x00095F54); // GE
//Test("SLES_034.35", 0x00095EDC); // FR
//Test("SLES_034.36", 0x00095F10); // SP
//Test("SLES_034.37", 0x00095F10); // IT

  return(0);
}

void Test(unsigned char *fn, unsigned int o) {
  unsigned char *fb;
  unsigned int lba, len, nam;
  unsigned char name[16], *n;
  unsigned int i;

  fb = ReadFile(fn);

  for (i = 0; ; i++, o += 12) {
    lba = Get4(fb, o); if (!lba) break;
    len = Get4(fb, o+4);
    nam = Get4(fb, o+8);

    for (n = name; *n = fb[nam++ - 0x80090000]; n++);

    printf("%04X : ofs=%08X : lba=%08X len=%08X nam=%08X : %s\n", i, o, lba, len, nam, name);
  }

  free(fb);
}

unsigned char *ReadFile(unsigned char *fn) {
  FILE *fp;
  unsigned int fs;
  unsigned char *fb;

  if ((fp = fopen(fn, "rb")) == NULL) { printf("Open error\n"); exit(1); }
  fs = filelength(fileno(fp));
  if ((fb = (unsigned char *) malloc(fs)) == NULL) { printf("Memory error\n"); exit(1); }
  rewind(fp);
  if (fread(fb, 1, fs, fp) != fs) { printf("Read error\n"); exit(1); }
  if (fclose(fp) == EOF) { printf("Close error\n"); exit(1); }

  return(fb);
}

unsigned int Get4(unsigned char *fb, unsigned int o) {
  return(fb[o] | fb[o+1]<<8 | fb[o+2]<<16 | fb[o+3]<<24);
}
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Romsstar



Sexo: Sexo:Hombre
Registrado: 05 Mar 2011
Mensajes: 15
Estado: Offline
MensajePublicado: Sun Mar 06, 2011 11:15 pm    Título del mensaje: Responder citando

Nice.
I did a test compile and saved the results of the LBA Table in a txt file.
Uploaded it here
http://www.sendspace.com/file/l1qdjn should be the whole LBA Table.
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5433
Estado: Offline
MensajePublicado: Mon Mar 07, 2011 5:38 pm    Título del mensaje: Responder citando

Bueno, pues he reducido la zona del error de la conversación con Agumón hasta encontrar el fallo. Lo he probado con la versión alemana, que es de la que tengo un save, y funciona sin problemas.

Ahora a ver si la gente se mueve un poco y me pasa unos memcards del emulador ePSX justo antes de que se produzcan los errores en la versión española para ver si esa solución funciona también. Necesitaría dos saves, que son las dos partes donde el juego no permite avanzar, es decir, antes de hablar con Agumón y no-sé-qué de un ascensor (lo siento, pero nunca he jugado a los estúpidos digimones, así que no sé donde es eso).
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Romsstar



Sexo: Sexo:Hombre
Registrado: 05 Mar 2011
Mensajes: 15
Estado: Offline
MensajePublicado: Mon Mar 07, 2011 5:44 pm    Título del mensaje: Responder citando

Wow that is cool.
I understand you actually fixed the error in the German version?
Can you explain how please?

Also, will see what I can do about the save files^^
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
CUE
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Mensajes: 5433
Estado: Offline
MensajePublicado: Mon Mar 07, 2011 8:40 pm    Título del mensaje: Responder citando

Romsstar escribió:
I understand you actually fixed the error in the German version?
No, I solved the first bug in all versions Smile

Romsstar escribió:
Can you explain how please?
Soon. I'm checking the IT/FR games. But only for you Wink

Romsstar escribió:
Also, will see what I can do about the save files
I need the memcard to solve the 2nd bug.


EDITADO: *** imágenes borradas para poner todas en un post posterior ***


Ultima edición por CUE el Tue Mar 08, 2011 10:13 am; editado 1 vez
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Kuras



Sexo: Sexo:Hombre
Registrado: 25 Feb 2011
Mensajes: 20
Estado: Offline
MensajePublicado: Mon Mar 07, 2011 8:55 pm    Título del mensaje: Responder citando

¡Enhorabuena CUE! ¡Has arreglado el bug que traía de cabeza a toda una generación de jugones!
Creo que eres un héroe, no sólo a nivel nacional, sino internacional Wink
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
AxxeL



Sexo: Sexo:Hombre
Registrado: 30 Jan 2011
Edad: 25
Mensajes: 32
Estado: Offline
MensajePublicado: Mon Mar 07, 2011 8:56 pm    Título del mensaje: Responder citando

jajajaja, dios mio pa no creerselo, mira a ver si te contratan por ahi o algo, por que esto es lo tuyo madre mia.
Volver arriba
Ver perfil del usuario Enviar mensaje privado   Visitar sitio web del autor
gadesx
Administrador
Administrador


Sexo: Sexo:Hombre
Registrado: 24 Jan 2011
Edad: 28
Mensajes: 1976
Ubicación: El puche
Estado: Offline
MensajePublicado: Mon Mar 07, 2011 8:58 pm    Título del mensaje: Responder citando

a ver cual es el bug del ascensor, que si nadie cuelga un save CUE hará que te
salga "el violador del ascensor" XDDDD
_________________
Mi blog y mi droga: http://gadesxscene.blogspot.com/
Volver arriba
Ver perfil del usuario Enviar mensaje privado [ Oculto ] Visitar sitio web del autor MSN Messenger
Kuras



Sexo: Sexo:Hombre
Registrado: 25 Feb 2011
Mensajes: 20
Estado: Offline
MensajePublicado: Mon Mar 07, 2011 9:08 pm    Título del mensaje: Responder citando

gadesx escribió:
a ver cual es el bug del ascensor, que si nadie cuelga un save CUE hará que te
salga "el violador del ascensor" XDDDD

Dios, que mal rollo...
Pero ya le has dado la idea, con lo cual, lo puede hacer...
Volver arriba
Ver perfil del usuario Enviar mensaje privado  
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Romxhacking -> De todo un poco Todas las horas están en GMT + 1 Hora
Ir a página Anterior  1, 2, 3, ... 9, 10, 11  Siguiente
Página 2 de 11

 
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

Temas Relacionados
 Temas   Respuestas   Autor   Lecturas   Último Mensaje 
No hay mensajes nuevos Se puede editar algo del Legend of heroes trails in the sky? 1 gadesx 1624 Thu Apr 16, 2015 8:08 pm
CUE Ver último mensaje
No hay mensajes nuevos ¿Este programa puede servir para algo? 2 gadesx 2073 Sat Sep 21, 2013 8:22 am
CUE Ver último mensaje
No hay mensajes nuevos Algo para este "formato"? 3 cralso 2346 Tue Aug 20, 2013 7:53 am
CUE Ver último mensaje
No hay mensajes nuevos Light Crusader o algo 10 gadesx 4161 Sun Aug 04, 2013 1:07 pm
Auron Ver último mensaje
No hay mensajes nuevos Intentando aprender algo de romhack 13 tchusami 5531 Sat Nov 24, 2012 11:05 am
CUE Ver último mensaje
 


Crear foro gratis - Powered by phpBB © 2001, 2005 phpBB Group
subRebel style by ktauber