Añadir Tipo Hada

Avisos


Like Tree32Gracias
Respuesta
 
Herramientas Desplegado
  #1  
02/08/2018
Predeterminado Añadir Tipo Hada
El objetivo es implementar el Tipo Hada. Es decir, habrá que declarar un nuevo tipo, insertar la imagen, sus efectividades... A si que iré explicando las cosas paso a paso.

Declarando un nuevo tipo

Antes de nada seguiremos los siguientes pasos para ir a la carpeta adecuada:

Código:
pokeruby>constants
y abriremos con el notepad el archivo llamado type_constants.inc. Una vez abierto veremos la siguiente información:

.set TYPE_NORMAL, 0x00
.set TYPE_FIGHTING, 0x01
.set TYPE_FLYING, 0x02
.set TYPE_POISON, 0x03
.set TYPE_GROUND, 0x04
.set TYPE_ROCK, 0x05
.set TYPE_BUG, 0x06
.set TYPE_GHOST, 0x07
.set TYPE_STEEL, 0x08
.set TYPE_MYSTERY, 0x09
.set TYPE_FIRE, 0x0a
.set TYPE_WATER, 0x0b
.set TYPE_GRASS, 0x0c
.set TYPE_ELECTRIC, 0x0d
.set TYPE_PSYCHIC, 0x0e
.set TYPE_ICE, 0x0f
.set TYPE_DRAGON, 0x10
.set TYPE_DARK, 0x11
Por lo tanto, siguiendo el mismo patrón pondremos .set TYPE_FAIRY, 0x12

De este modo ya tendremos creado el Tipo Hada

Editando tabla de tipos

Código:
pokeruby>data
y abriremos con el notepad el archivo type_effectivness.inc y si observáis detenidamente el archivo os daréis cuenta de lo siguiente:

0 => Inmune (x0)
5=> Poco eficaz (x0’5)
20 => Muy eficaz (x2)

Y que las efectividades de cada tipo respecto a los demás siguen el siguiente patrón, no se agrupan por cada tipo, sino que cada una de las efectividades es independiente, por así decirlo, es decir, el patrón es:

.byte TYPE_{tipo del movimiento}, TYPE_{tipo del pokemon que recibe el movimiento}, {0,5 o 20, depende de la efectividad}

Por lo tanto, para añadir el tipo hada poned lo siguiente en orden:

.byte TYPE_FAIRY, TYPE_FIGHT, 20 .byte TYPE_FAIRY, TYPE_POISON, 5 .byte TYPE_FAIRY, TYPE_STEEL, 5 .byte TYPE_FAIRY, TYPE_FIRE, 5 .byte TYPE_FAIRY, TYPE_DRAGON, 20 .byte TYPE_FAIRY, TYPE_DARK, 20 .byte TYPE_FIGHT, TYPE_FAIRY, 5 .byte TYPE_POISON, TYPE_FAIRY, 20 .byte TYPE_BUG, TYPE_FAIRY, 5 .byte TYPE_STEEL, TYPE_FAIRY, 20 .byte TYPE_DRAGON, TYPE_FAIRY, 0 .byte TYPE_DARK, TYPE_FAIRY, 5
Insertando icono

Código:
pokeruby>graphics>types
Centrémonos solo en los tipos, veremos que a cada cual se le asignan dos archivos, la paleta y la imagen. La imagen debe ir en formato.png y la paleta tiene el formato 4BPP.

También abrá que insertar la imagen en este otro directorio:

Código:
pokeruby>graphics-de>types
---------------------------------------------------------------------

He tenido un problema y es que no se como conseguir el archivo .4bpp de una imagen en .png, lo cual es esencial para añidr un nuevo tipo. Para sortear estre problema he copiado la imagen y el .4bpp del tipo ??? y he cambiado en nombre a ambos a fairy, edito el tipo de treecko para ver si funciona pero no se ve ningún cambio.

Es aquí donde pido vuestra ayuda para seguir adelante.
  #2  
02/08/2018
Predeterminado Respuesta: Añadir Tipo Hada
Hola, buen día, revisando el código también se utiliza el archivo : pokeruby > include > Pokémon.h
Entre la línea 102 y la 119 se usa:
#define type_
para cada uno de los tipos.
Espero sea de ayuda y puedas lograrlo, saludos
Gracias: Turambar

Última edición por skhorus; 02/08/2018 a las 16:10 Razón: Quería ser más específico.
  #3  
02/08/2018
Predeterminado Respuesta: Añadir Tipo Hada
mira, la imagen .4bpp es generada por gbagfx al compilar, asi que no deberia haber problema

Enviado desde mi SM-G531M mediante Tapatalk
Gracias: pikachu240 y Turambar
Visita mi pagina web para ver algunos de mis proyectos y tech demos.
  #4  
02/08/2018
Predeterminado Respuesta: Añadir Tipo Hada
Dicho por L!no Ver mensaje
mira, la imagen .4bpp es generada por gbagfx al compilar, asi que no deberia haber problema

Enviado desde mi SM-G531M mediante Tapatalk
No, o al menos no que yo sepa.

Intenté cambiar los tiles y tuve el mismo problema. Pero he aquí cosas que pude aprender:
-El archivo .4bpp guarda valores hexadecimales
-Cada valor corresponde a un píxel
-El valor dice cuál color de la paleta es.

Me he explicado muy mal: Si pone 34F3, será una imagen de cuatro píxeles (2x2 por ejemplo). Un píxel tendrá el color número 3 de la paleta, otro el número 4, otro el número 15 y otro el 3 de nuevo.

No sé el orden en que se guardan los valores. Si va en horizontal, vertical, por grupos de 8, de 16... Ni idea.

Espero haber ayudado. Estoy en el móvil, así que no puedo hacer mucho más. xD
Gracias: Turambar

¡Jarcors!


Última edición por Laquin; 02/08/2018 a las 22:51
  #5  
02/08/2018
Predeterminado Respuesta: Añadir Tipo Hada
Cada vez más se descubre algo nuevo del PokeRuby dan incluso ganas de empezar a romhackear.
La Base de Ruby gracias a toda la información que se esta descubriendo.
Gracias: Turambar

Última edición por T.O.N.Y; 02/08/2018 a las 18:20
  #6  
02/08/2018
Predeterminado Re: Respuesta: Añadir Tipo Hada
Dicho por Laquin Ver mensaje
No, o al menos no que yo sepa.

Intenté cambiar los tiles y tuve el mismo problema. Pero he aquí cosas que pude aprender:
-El archivo .4bpp guarda en forma de texto valores hexadecimales
-Cada valor corresponde a un píxel
-El valor díce el cuál color de la paleta es.

Me he explicado muy mal: Si pone 34F3, será una imagen de cuatro píxeles (2x2 por ejemplo). Un píxel tendrá el color número 3 de la paleta, otro el número 4, otro el número 15 y otro el 3 de nuevo.

No sé el orden en que se guardan los valores. Si va en horizontal, vertical, por grupos de 8, de 16... Ni idea.

Espero haber ayudado. Estoy en el móvil, así que no puedo hacer mucho más. xD
Entonces eso puedo investigarlo fácilmente viendo algunas de las que ya vienen en el pokeruby. A si que es un paso, pero parece que falta editar más cosas, voy a ir buscando a fondo.
  #7  
02/08/2018
Predeterminado Re: Añadir Tipo Hada
Seeh, por fin he conseguido averiguarlo.

A ver cómo explico yo esto ahora XD
Se ordenan en tiles de 8x8 píxeles, y cada byte(dos píxeles) está permutado.
Supongamos que tenemos esta imagen.
Código:
El blanco es 0
El negro es 1
El rojo es 2
El azul es 3
El verde es 4

Empezamos por arriba. Cojemos los dos primeros píxeles, blanco y negro, y les damos la vuelta: negro, blanco; es decir, 10.
Seguimos con el siguiente grupo de dos: negro blanco. Le damos la vuelta: blanco negro; es decir, 01.
Seguimos: Negro negro, se queda igual, 11.
Cuarto grupo de dos: Blanco blanco, se queda igua, 00.

Juntando todo nos queda 10011100.
Ahora que ya hemos hecho 8 píxeles, pasamos a la siguiente línea.
Rojo rojo - 22
Blanco rojo - Rojo blanco - 20
Negro blanco - Blanco negro - 01
Blanco negro - Negro blanco - 10
Juntamos con el primer grupo de 8 y nos queda 1001 1100 2220 0110

Siguiente, Azul negro - negro azul - 13
Azul blanco - blanco azul - 03
Azul negro - negro azul - 13
Azul blanco - blanco azul - 03

Todo junto nos queda
Código:
1001 1100 2220 0110 1303 1303
Las cinco siguiente líneas de 8 píxeles son todo blanco, así que todo el tile de 8x8 nos quedaría:
Código:
1001 1100 2220 0110 1303 1303 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Ahora, pasamos al tile de la derecha, en vez de seguir abajo. (Donde está el negro con forma de v)

Negro blanco - blanco negro - 01
Seguimos así con todo y nos queda:
Código:
0101 1000 1000 1220 3332 3230 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Juntamos con el primer tile:
Código:
1001 1100 2220 0110 1303 1303 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 1000 1000 1220 3332 3230 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Ahora que hemos llegado al tile que está más a la derecha, seguimos con los tiles de más abajo.

Las primeras cinco líneas son blancas:
Código:
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Seguimos con la sexta línea del primer tile de abajo:
Blanco blanco - 00
Verde blanco - blanco verde - 04
Verde blanco - blanco verde - 04
Blanco blanco - 00

Siguiente línea de 8 píxeles:
Blanco verde - Verde blanco - 40
Blanco verde - Verde blanco - 40
Blanco verde - Verde blanco - 40
Blanco blanco - 00

Última línea:
Verde blanco - blanco verde - 04
Blanco blanco - 00
Blanco blanco - 00
Verde blanco - blanco verde - 04

Tooodo el tile, con las líneas blancas del principio:
Código:
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0004 0400 4040 4000 0400 0004
Y quedaría el tile 8x8 de abajo a la derecha, os lo dejo como deberes (?)

Luego, se juntan todos los tiles, y ya tenemos todo el bitmap hecho.

Espero que se haya entendido. Ahora que sabemos esto, y que sabemos también que no vamos a andarnos así cada vez que insertemos un gráfico del estilo, o alguien hace una herramienta u otro la busca. xD

¡Saludos!
Gracias: Turambar

¡Jarcors!


Última edición por Laquin; 02/08/2018 a las 22:31
  #8  
02/08/2018
Predeterminado Respuesta: Añadir Tipo Hada
Visto lo cual, aunque no tengamos un programa para obtener tal archivo se puede, aunque sea tedioso el archivo a mano. Me imagino que creando en HxD un archivo y hacerlo manualmente y cambiando a posteriori la extensión del archivo servirá.

Aunque todavía falta por conocer la totalidad de los archivos a editar para poder implementar un nuevo tipo.
  #9  
16/08/2018
Corazón Respuesta: Añadir Tipo Hada
Dicho por Laquin Ver mensaje
Dicho por L!no Ver mensaje
mira, la imagen .4bpp es generada por gbagfx al compilar, asi que no deberia haber problema
No, o al menos no que yo sepa.
Pues lo cierto es que si, los archivos .4bpp son generados por el compilador a la hora de hacer una ROM.

Cierto es pero, que hay veces en que por X motivo, el sprite que pretendes usar no es compatible por A o por B con los proyectos de decompilación, dios vaya a saber por qué.

Algo que probé y que mas o menos funciona es:

1) Tomar el archivo .png indexado que seria nuestro sprite.
2) Ponerlo en la carpeta de Pngcrush
3) Hacer Shift + Click Derecho > Abrir ventana de comandos aqui
4) Escribir: pngcrush -ow -rem allb -reduce (Archivo).png y presionar Enter.
5) Luego a ese archivo lo tomás y lo ponés dentro de la carpeta de gbagfx.
6) Hacer Shift + Click Derecho > Abrir ventana de comandos aqui
7) Escribir: gbagfx (Archivo).png (Archivo).4bpp y presionar Enter.
8) Tomar los dos archivos y ponerlos donde lo necesites, renombrando los archivos de acuerdo al uso que quieras darle.
El sexto y septimo paso quizá sean innecesarios por eso, porque el compilador crea los archivos .4bpp por si solo, pero bueh, que mas da.
Gracias: pikachu240 y Turambar
  #10  
19/08/2018
Predeterminado Re: Respuesta: Añadir Tipo Hada
Dicho por Lunos Ver mensaje
Pues lo cierto es que si, los archivos .4bpp son generados por el compilador a la hora de hacer una ROM.

Cierto es pero, que hay veces en que por X motivo, el sprite que pretendes usar no es compatible por A o por B con los proyectos de decompilación, dios vaya a saber por qué.

Algo que probé y que mas o menos funciona es:

1) Tomar el archivo .png indexado que seria nuestro sprite.
2) Ponerlo en la carpeta de Pngcrush
3) Hacer Shift + Click Derecho > Abrir ventana de comandos aqui
4) Escribir: pngcrush -ow -rem allb -reduce (Archivo).png y presionar Enter.
5) Luego a ese archivo lo tomás y lo ponés dentro de la carpeta de gbagfx.
6) Hacer Shift + Click Derecho > Abrir ventana de comandos aqui
7) Escribir: gbagfx (Archivo).png (Archivo).4bpp y presionar Enter.
8) Tomar los dos archivos y ponerlos donde lo necesites, renombrando los archivos de acuerdo al uso que quieras darle.
El sexto y septimo paso quizá sean innecesarios por eso, porque el compilador crea los archivos .4bpp por si solo, pero bueh, que mas da.
¿Hay que instalar el programa o algo? He descargado pngcrush_1_8_11_w64.exe, y suponía que sería el instalador. Pero cuando lo ejecuto, se abre una ventana de consola que se cierra en menos de un segundo, y lo mismo pasa si lo ejecuto como administrador.

He probado a poner pngcrush_1_8_11_w64.exe -ow -rem allb -reduce (Archivo).png (pues obviamente el programa pngcrush no existe), y simplemente me ha dado unos datos acerca de la imagen. No se ha creado ningún archivo aparte, y el archivo .png que he usado no se ha modificado, por lo que no entiendo a qué se quiere llegar haciendo esto.

Luego, en el paso de gbagfx, me ponía que faltaba cygwin1.dll, por lo que tampoco puede hacer nada, aunque no entiendo por qué pasa esto, pues al compilar la ROM no me dio ese error.

Lo he intentado con la imagen de los tiles, aunque no creo que eso tenga nada que ver.

¡Jarcors!

Respuesta

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 17:56.