Tutorial mas o menos facil para la inserción de sprites en las backups

Bueno, ahora os pongo un tutorialcillo de como editar las imágenes de 16 colores ayudandose claro es con mi programa (que simplifica el proceso).

Antes que nada, no creo que haga falta decir que tengais dos desenpaquetaciones, una que funcione bien (vamos que no tenga modificaciones) y otra con la que esperimentaremos, que si usamos el dslazy, sera la carpeta NDS_UNPACK.

Bueno, primeramente se necesita el tahaxan, para buscar la imagen que se desea editar (quizás en futuras versiones no haga falta usar el tahaxan, pero por ahora yo no veo importante que mi programa lea las imágenes).

Una vez encontrada la imagen que se busca se modifican las custom image size de forma que el segundo número sea 8.
Ejemplo, si te pone que tu imagen es = 800 pixels pues cojes ese número (800) y lo divides entre 8, y lo que te de (100) lo pones en el primer recuadro y en el segundo pones 8 quedando algo asi:
100 x 8 = 800

Imagen:
Imagen

Y le damos al boton derecho del cursor y guardamos la imagen (una buena idea seria guardarla con el mismo nombre que tiene el archivo de imagen .ncgr para así tenerlo todo mas claro).

Bueno, una vez guardada, nos encontraremos con una imagen como esta:
Imagen

Asique cogemos el paint y la reconstruimos (dejando la original guardada aparte para tener como referencia).
Imagen

Ahora la modificamos (yo use el paint que es simple pero queda cutre claro es).
Imagen


Y la deconstruimos, (vamos que le devolvemos la estructura desde la cual partimos):
Imagen


Genial, ya tenemos el sprite, ahora toca codificarlo de manera que el juego lo entienda, asique para ello abrimos mi aplicación y clickeamos en abrir imagen, escogemos nuestra imagen modificada deconstruida y le damos a aceptar.
Una vez echo esto se mostrará vuestra imagen en la parte de abajo del programa:
Imagen

Ahora el siguiente paso es darle a comenzar.
Mientras se procesa la imagen (siento no haber puesto una barra de progreso) es necesario que el programa permanezca en primer plano y que no se toquen otros programas mientras se está procesando; nose porque pero a mi me produce errores en pixeles si estoy usando a parte otros programas.
De todas formas no tarda mucho en procesarla (aunque tampoco he provado imágenes realmente grandes).

Una vez haya acabado el proceso aparecerán un monton de números corriendo, no os asusteis, puesto que lo que está haciendo en ese justo momento es invertir el orden de los números ^^.

Una vez que dejen de moverse los numeritos ya habrá acabado.

Ahora el siguiente paso es abrir un editor hexadecimal que permita copiar/pegar en modo hexadecimal (yo uso el hex workshop) y abrimos el archivo .ncgr de la imagen.

Ahora lo que hay que hacer es en la ventana de mi programa darle a copiar todo el texo en el portapapeles (en el boton que está debajo del texto que está debajo de la etiqueta que pone imagen en hexadecimal). Y en la ventana del hexworkshop seleccionamos todos los caracteres hexadecimales de la imagen (es decir todo lo que hay después de la cabecera), como se ve en esta imagen:
Imagen

Una vez esté todo seleccionado le damos a edit, paste special:
Imagen

Y nos aparecera una ventanita en la que tenemos un casillero que pone interpret as hexadecimal string y lo seleccionamos, como muestra la imagen:
Imagen

Y si todo sale correctamente, el archivo mantendrá el mismo número de caracteres hexadecimales sino, mal royo, y habrá que ver que es lo que falla (probablemente la imagen o que no se determino bien la cabecera del archivo). Normalmente tiene el mismo tamaño, asique os podeis guiar por la de mi foto.

Y por último repetimos lo mismo con la paleta, dandole al otro boton de copiar y tal...
Luego en el hexworkshop tendremos que tener más cuidado y seleccionar exactamente el mismo número de caracteres que el que le vamos a pegar, obiamente poniendo esos 0000 (color transparente) en cabeza xDD
Imagen
Es decir que la paleta empezaria donde tengo seleccionado y terminaría en el último 0, solo que a partir del momento en el que solo hay ceros, son los huecos resultantes para llegar hasta 256 colores.
Si en este paso tubieseis mas o menos ceros, lo podeis arreglar añadiendo o quitando ceros.

Bueno, si todo os ha salido bien, el resultado será perfecto:
Imagen


Las herramientas os las dejo aqui:
Mi programa: http://vdb4ever.bravehost.com/para%20leer%20imagenes2.rar
DsLazy http://nintendo-scene.com/638
Tahaxan http://tahaxan.arcnor.com/
Hex workshop http://www.hexworkshop.com/


Espero que os salgan bien, y no olvideis respetar los tamaños de altura de la imagen ni el número de colores si quereis que os funcione bien.


Saludos y hasta otra actualización.
5 estrellas, creo que me pondré a intentarlo.
Gracias :)
6 estrellas. MUY buena iniciativa. Me encanta como va transcurriendo este "estudio" sobre las imagenes de los roms. Y la verdad es que te queda muy profesional (el sprite digo) ni un error gráfico ni nada.

ENHORABUENA, y sigue así!!! Estas adelantando Kilometros en la Scene de la DS

[ginyo]
Con esto, si nos unimos unos cuantos, podemos traducir algunos juegos que nunca saldrian al español......5 puntikosssss!!!
Muy buen tutorial, de nuevo, cuando tenga tiempo intentaré modificar algún sprite. 5 estrellas ^^
¡¡5 Estrellas!!

En cuanto tenga algo de tiempo me pondré a probar a traducir el Hokuto no Ken que acaban de sacar para DS ^^

Espero que pronto saques nuevas versiones del programa, ¡ánimo y buen trabajo! :D
eso es increible, creo que mañana me voy a animar a hacerlo (a ver que sale), como sigas asi empezaras a cambiar los personaje principale ;) , animo [plas]
Si, si va con buen aire por ahora, aunque como las librerias que llebaba usando hasta ahora de VB son un poco malas, me he apañado unas MSDN que segun he leido por ahi tienen alguna que otra funcion interesante para leer archivos binarios...
Porque estoy algo harto de que me meta codigo hexadecimal malo de mas y encima no me interprete algunos bites 00

Huum, bueno, pero por lo menos cada dia aprendo mas cosas nuevas y por ejemplo los archivos NCGR creo que pueden contener mas de una imagen y de mas de un tipo de estructura (Ya se diferenciar dos leyendo la cabecera y tambien el numero de colores) por eso a ver si consigo que con las nuevas librerias peuda abrir bien hexadecimal (y ojala guardarlo) y haga una aplicaci'on mas interesante y compatible.
Sino, a empollar C++ aunque la segunda opcion llevar'a mas tiempo.


Saludos
angel_gore escribió:Huum, bueno, pero por lo menos cada dia aprendo mas cosas nuevas y por ejemplo los archivos NCGR creo que pueden contener mas de una imagen y de mas de un tipo de estructura (Ya se diferenciar dos leyendo la cabecera y tambien el numero de colores) por eso a ver si consigo que con las nuevas librerias peuda abrir bien hexadecimal (y ojala guardarlo) y haga una aplicaci'on mas interesante y compatible.
Sino, a empollar C++ aunque la segunda opcion llevar'a mas tiempo.


Saludos


angel_gore no se si esto se podria servir de algo en tu programa, explica como son la estructura de los .aar , en ellos tb hay sprites e imagenes, por ejemplo el jump ultimate star usa este tipo de archivos, tb incluye una utilidad para extrear los archivos y sprites, lo unico que yo no he conseguido funcionar pq no se como va la sintaxis.

http://jumpstars.wikispaces.com/File+Formats

saludos
Pues que no soy capaz de poner bien la sintaxis porque no la entiendo y soy incapaz de sacar ningun sprite en .png

Necesito un ejemplo real, has probado el programa?
El enlace de tu programa no funciona. Con tu programa me es mas facil hacer ediciones de imagenes, lo podrias resubir?
Sipo, aqui mismo lo tienes:
http://www.sendspace.com/file/ehz88t

Esta es una nueva versión que ya soporta imágenes de mas de 8 pixeles de altura (siempre respetando la estructura del tahaxan) y tiene opción de elegir imágenes de 256 colores.
Eso si, por ahora no detecta el número de colores automáticamente de la imagen por lo tanto hay que seleccionarlo manual.

Ahora que he encontrado algun componente OCX de edición hexadecimal, es probable que en un futuro no muy lejano lea varios tipos de imagenes NCGR y se puedan editar directamente ^^, y seguramente que también lo adapte para que se pueda modificar el tamaño de la imagen, pero por ahora no podré porque tengo examenes y que hacer un trabajo... aunque el martes acabaré ^^.

De todas formas, las únicas imágenes compatibles son las que en el offset 24 tiene como valor 00, pronto pondré las NCBR que tienen el valor 01 en dicho offset.

Y por cierto, si en el offset 1C aparecen los valores:
04 significa que la imagen es de 256 colores
03 significa que la imagen es de 16 colores.


Bueno, ya depaso edito el post inicial con la nueva descarga.


Saludos
wowww, esto tengo que probarlo XD seria genial para traducir por ejemplo los menus del Daiggasso band brothers ^^
Si bueno, pero lo malo esque las imágenes de esa room son imágenes con estructura "NCBR", la cual en vez de ser tiles de 8 pixeles, son tiles de 8, 16, 32, 64, 128 y 256 de ancho, por el mismo número de pixeles de alto. Y por ahora llego a determinar que empiezan por el tile mayor (ejemplo 256) y si por ejemplo la imagen es de 256 pixeles de ancho por 384 del alto, entonces se dividiria la imagen (los bytes de colores que te aparecen en hexadecimal) en una imagen de 256 pixeles x 256 pixeles y 2 imágenes de 128 pixeles por 128 pixeles.
Siendo primero la de 256 pixeles y por último las de 128 empezando siempre por la izquierda.

Lo cierto es que seria facil hacer un programa que a traves de una imagen en formato BMP te devolviese los valores de los pixeles en hexadecimal y el valor de la paleta.

Por cierto también añado que los formatos de imagen de este juego no tiene cabecera alguna, pero son faciles de comprender la estructura.

Cuando acabe los examenes hare una aplicacion que haga eso, y ya de paso me meto un poco con la edicion hexadecimal para que la gente no tenga que hacer Control + C; control + V. Que ya crackee el control de VB de edición hexadecimal (un poco malo pero menos da una piedra) asique podria hacer un pograma interesante a la par de lento xDD. Y a ver si me las ingenio para evitar tener que estar con el programa en primer plano y que la imagen se vea entera en el formulario, se que no es bueno ni rápido, pero al menos es eficaz y práctico.



Saludos


PD: ahora que he seguido mirando en el tahaxan si he encontrado imágenes NCGR normales que son las que por ahora he editado. Ya pensaba yo que mi teoria de que las imágenes en formato ncbr eran imagenes para la pantalla de arriba se iba al traste, pero quizas no sea asi ^^. Por cierto, me dio por pensar esta teoria cuando una imagen que edite que tenia movimiento al desplazarse hacia la pantalla de arriba se volbia de nuevo en japonés y con colores modificados (por lo tanto la paleta es igual para ambas pantallas).
Vaya buen trabajo el que te has hecho

Puedes por favor subir nuevamente el programa, es que quiero hacer unas pruebas pero el enlace no me funciona [sonrisa]
Bueno, ahora mismo tengo el ordenador jorobado (el disco duro) ya que un virus ha infectado la MBR (un Yoyo) y por ahora no he econtrado otra solución que no sea utilizarlo como esclavo (además de que no quiero perder los datos de los programas ¬¬).

Bueno, cuando lo vuelba a poner aqui como esclavo subiré el programa compilado.

Además tengo pensado pronto hacer que lo haga todo automáticamente y genere los archivos NCGR junto a los NCLR, inclusive poder poner imágenes de mas colores y tal. Aunque también he de corregir algunos defectos del programa (en cuanto a tenerlo en primer plano y esas cosas).


Saludos

Edito: Ya conseguí arreglar el ordenador.

Aqui os dejo la nueva descarga http://vdb4ever.bravehost.com/para%20leer%20imagenes2.rar
Ah ,y con los gifs no funciona¿verdad?
waaaaaaa 9 estrellas [flipa]

se puede modificar por ejemplo los personages y pokemons de Pokemon Diamante? [looco]
le doy 8 estrellas esta geniallllllll
19 respuestas