Registrarse

[RH - Otros] Overwold Manager deja de funcionar

Estado
Cerrado para nuevas respuestas.

Luisi

Usuario de platino
Hola lo que me pasa es que reincursionandome en el rom hacking ayer me puse a editar los overworlds con overworld manager pero hoy lo volvi a abrir y cunado cargo mi rom de ja de funcionar esto me a pasado mas de 6 veces en el pasado ¿Alguna solucion?

PD:Tengo todo necesario para que me lea la rom
 

Gold

Porrero a tiempo parcial
Miembro insignia
¿Has visto si el ini tiene información correcta? O mejor aun, ¿Podrías poner lo que contiene la ini? Casi siempre ese es el proboema
 

Luisi

Usuario de platino
Hola no se si te refieres a esto pero esto es lo que dice la ini del ovw:

[BPRE]
OW Table Pointers = 0x5F2F4
Palette Table Pointers Address = 0x5F4D8, 0x5F570, 0x5F5C8

[BPRE0]
OW Table Pointers = 0x5F2F4
Palette Table Pointers Address = 0x5F4D8, 0x5F570, 0x5F5C8
 

Luisi

Usuario de platino
Porque al usar overworld manager se pierde la compatibilidad con ese programa y el overworld sprite editor
 

CompuMax

Discord: CompuMax#0425
Miembro insignia
La respuesta a tu problema es sencilla:

Los espacios libres de tu rom no están alineados, es decir, el primer byte de una cadena de 0xFF no empieza en una dirección que termina en 0, 4, 8 o C.

Luego al abrir el programa, este mueve datos, tablas y todo lo necesario para expandir y sacar mejor provecho
a los OW que puedas usar en el juego. El problema viene en que el programa no está diseñado para buscar o mejor dicho utilizar espacios alineados, sino que compara los bytes que necesita escribir con los espacios libres en la rom y escribe los datos donde mejor le parezca sin tener en cuenta si es un offset alineado o no. Entonces al volver a abrir la rom la misma aplicación conseguirá datos escritos en offsets no alineados y dará problemas y se cerrará.

- Ok bro, mucha charla y no me das ninguna solución

- Pues la solución es sencilla también, asegúrate de que todos los espacios libres en la rom estén alineados, si consigues una cadena de 0xFF y no comienzan en direcciones terminadas por 0, 4, 8 o C, entonces rellena con 0x00 hasta alcanzar un offset alineado, así parecerá que son espacios utilizados y no afectará en nada a tu rom.

Si tienes alguna duda en como hacer eso, no dudes en avisarme.

Saludos!
 

Luisi

Usuario de platino
La respuesta a tu problema es sencilla:

Los espacios libres de tu rom no están alineados, es decir, el primer byte de una cadena de 0xFF no empieza en una dirección que termina en 0, 4, 8 o C.

Luego al abrir el programa, este mueve datos, tablas y todo lo necesario para expandir y sacar mejor provecho
a los OW que puedas usar en el juego. El problema viene en que el programa no está diseñado para buscar o mejor dicho utilizar espacios alineados, sino que compara los bytes que necesita escribir con los espacios libres en la rom y escribe los datos donde mejor le parezca sin tener en cuenta si es un offset alineado o no. Entonces al volver a abrir la rom la misma aplicación conseguirá datos escritos en offsets no alineados y dará problemas y se cerrará.

- Ok bro, mucha charla y no me das ninguna solución

- Pues la solución es sencilla también, asegúrate de que todos los espacios libres en la rom estén alineados, si consigues una cadena de 0xFF y no comienzan en direcciones terminadas por 0, 4, 8 o C, entonces rellena con 0x00 hasta alcanzar un offset alineado, así parecerá que son espacios utilizados y no afectará en nada a tu rom.

Si tienes alguna duda en como hacer eso, no dudes en avisarme.

Saludos!
Pues bueno compu tal vez si necesito ayuda como consigo esos offsets?
 

CompuMax

Discord: CompuMax#0425
Miembro insignia
Muy bien, te explico:

Primero descarga el Pokemon Fire Red Hacked v1.1

Luego abre tu rom con dicha aplicación y cierra el programa.

Ve a la carpeta donde está el programa y verás una archivo llamado FSDump.txt, ábrelo y allí encontrarás todos los espacios libres en tu rom. Algo como esto:

Código:
Address 0X0871A23C has 6184388 bytes free (0X5E5DC4)
Address 0X08EB0B20 has 1373406 bytes free (0X14F4DE)


By Size
Small
Medium
High
Address 0X08EB0B20 has 1373406 bytes free (0X14F4DE)
Address 0X0871A23C has 6184388 bytes free (0X5E5DC4)
Como puedes ver allí encontrarás la dirección (Address) y la cantidad de espacio libre (bytes free). Entonces si dicha dirección no termina en 0, 4, 8 o C vas a esa dirección y rellenas con 0x00 hasta el byte anterior al byte alineado, de esa manera el espacio libre comenzará en un byte alineado.
 
Estado
Cerrado para nuevas respuestas.
Arriba