Expansion de fondos de batalla
Por Karatekid552 y reescrito por mi
Por Karatekid552 y reescrito por mi
Todos sabemos ya como insertar tus fondos de batalla, estos nos dan nuevos aires y un mejor aspecto grafico, pero pasa que a veces queremos que un entrenador eapecial o zona muestre un fondo personalizado, por ejemplo en una ruta nevada queremos ver un fondo nevado, pero ¿como?
Gracias a Karatekid552 es posible, ya que ha desarrollado un parche que mueve la tabla de punteros a los fondos a la direccion 0xF10000, con este espacio tenemos la posibiladad de tener hasta xFFFF fondos (unos 65,000 fondos en total)
Pero primero conozcamos la estructura de la tabla de punteros y su respectiva offset:
The Table
la tabla es simple, en el juego se contabilizan 20 fondos de batalla, enumerados con una ID que va de 0 a 19, los cuales son (datos conservados en Ingles)
1. Hierba alta
2. Hierba alta2
3. Arena (de desierto)
4. suelo común
5. Océano
6. Costa
7. Craggy
8. Cueva
9. Multi/Indoor- White & Grey & some Yellow in the Palette (Normal Trainer Battle)
10. Multi/Indoor- Green & a little Yellow (Rival Trainer Battle)
11. Multi/Indoor- White & Grey ()
12. Multi/Indoor- White & Grey & some Tan in the Palette ("Gym" Trainer Battles (that option in A-Map))
13. Multi/Indoor- White & Grey & some Tan in the Palette (2) (batalla xe lider de gimnasio (si, los lideres tienen su propio fondo))
14. Multi2/Indoor2- White & Grey
15. Multi2/Indoor2- White & Grey & some Purple in the Palette
16. Multi2/Indoor2- Blue & some Tan in the Palette
17. Multi2/Indoor2- Yellow & Tan
18. Multi2/Indoor2- Purple & some Tan in the Palette
19. Multi2/Indoor2- Turquoise & some Tan in the Palette
20. Multi2/Indoor2- White & Grey & some Purple in the Palette
por cada fondo se asignan 20 tablas de punteros las cuales se organizan de la siguiente manera:
la tabla es simple, en el juego se contabilizan 20 fondos de batalla, enumerados con una ID que va de 0 a 19, los cuales son (datos conservados en Ingles)
1. Hierba alta
2. Hierba alta2
3. Arena (de desierto)
4. suelo común
5. Océano
6. Costa
7. Craggy
8. Cueva
9. Multi/Indoor- White & Grey & some Yellow in the Palette (Normal Trainer Battle)
10. Multi/Indoor- Green & a little Yellow (Rival Trainer Battle)
11. Multi/Indoor- White & Grey ()
12. Multi/Indoor- White & Grey & some Tan in the Palette ("Gym" Trainer Battles (that option in A-Map))
13. Multi/Indoor- White & Grey & some Tan in the Palette (2) (batalla xe lider de gimnasio (si, los lideres tienen su propio fondo))
14. Multi2/Indoor2- White & Grey
15. Multi2/Indoor2- White & Grey & some Purple in the Palette
16. Multi2/Indoor2- Blue & some Tan in the Palette
17. Multi2/Indoor2- Yellow & Tan
18. Multi2/Indoor2- Purple & some Tan in the Palette
19. Multi2/Indoor2- Turquoise & some Tan in the Palette
20. Multi2/Indoor2- White & Grey & some Purple in the Palette
por cada fondo se asignan 20 tablas de punteros las cuales se organizan de la siguiente manera:
Código:
VV VV VV 08 WW WW WW 08 XX XX XX 08 YY YY YY 08 ZZ ZZ ZZ 08
VV = Offset del fondo
WW = Offset del tilemap
XX = Imagen de entrada
(Ej. la hierba que se mueve cuando iniciamos una batalla en la hierba.)
YY = Tilemap de la imagen de entrada
ZZ = Paleta
Esa es la documentacion de los fondos y su ubicacion original de cada tabla de punteros:
Grass Background
VV = 24844C
WW = 2489A8
XX = 248C68
YY = 248F58
ZZ = 248400
Second Grass Background (hay dos fondos de hierba repetidos, ignoro el porque.)
VV = 2490C4
WW = 249620
XX = 2498DC
YY = 249E10
ZZ = 249074
Sand Background
VV = 249FE4
WW = 24A37C
XX = 24A618
YY = 24A844
ZZ = 249F98
Field Background
VV = 24A990
WW = 24ACD0
XX = 24AF70
YY = 24B0DC
ZZ = 24A940
Sea Background
VV = 24B1EC
WW = 24B608
XX = 24B8A8
YY = 24BBE0
ZZ = 24B19C
Pond Background
VV = 24BD38
WW = 24C07C
XX = 24C314
YY = 24C520
ZZ = 24BCE0
Craggy Background (No se donde se supone que es llamado este fondo)
VV = 24C624
WW = 24C9B8
XX = 24CBF8
YY = 24CEC8
ZZ = 24C5D8
Cave Background
VV = 24CFEC
WW = 24D418
XX = 24D6B8
YY = 24DC98
ZZ = 24CF98
Multi-type Backgrounds/Indoor Backgrounds (El que se usa en batallas al aire libre)
-hay un total de cinco fondos compartidos. usan la misma configuración, pero diferentes paletas.
VV = 24DE34
WW = 24E16C
XX = 24E410
YY = 24E490
ZZ =
1. 24DDF0
2. 24E81C
3. 24E528
4. 24E56C
5. 24E5B8
Fondos de interiores, son 7 fondos que tambien comparten todo menos paletas
VV = 24E858
WW = 24EB90
XX = 24E410
YY = 24E490
ZZ =
1. 24E604
2. 24E650
3. 24E6A4
4. 24E6F0
5. 24E740
6. 24E78C
7. 24E7DC
VV = 24844C
WW = 2489A8
XX = 248C68
YY = 248F58
ZZ = 248400
Second Grass Background (hay dos fondos de hierba repetidos, ignoro el porque.)
VV = 2490C4
WW = 249620
XX = 2498DC
YY = 249E10
ZZ = 249074
Sand Background
VV = 249FE4
WW = 24A37C
XX = 24A618
YY = 24A844
ZZ = 249F98
Field Background
VV = 24A990
WW = 24ACD0
XX = 24AF70
YY = 24B0DC
ZZ = 24A940
Sea Background
VV = 24B1EC
WW = 24B608
XX = 24B8A8
YY = 24BBE0
ZZ = 24B19C
Pond Background
VV = 24BD38
WW = 24C07C
XX = 24C314
YY = 24C520
ZZ = 24BCE0
Craggy Background (No se donde se supone que es llamado este fondo)
VV = 24C624
WW = 24C9B8
XX = 24CBF8
YY = 24CEC8
ZZ = 24C5D8
Cave Background
VV = 24CFEC
WW = 24D418
XX = 24D6B8
YY = 24DC98
ZZ = 24CF98
Multi-type Backgrounds/Indoor Backgrounds (El que se usa en batallas al aire libre)
-hay un total de cinco fondos compartidos. usan la misma configuración, pero diferentes paletas.
VV = 24DE34
WW = 24E16C
XX = 24E410
YY = 24E490
ZZ =
1. 24DDF0
2. 24E81C
3. 24E528
4. 24E56C
5. 24E5B8
Fondos de interiores, son 7 fondos que tambien comparten todo menos paletas
VV = 24E858
WW = 24EB90
XX = 24E410
YY = 24E490
ZZ =
1. 24E604
2. 24E650
3. 24E6A4
4. 24E6F0
5. 24E740
6. 24E78C
7. 24E7DC
Para expandir la tabla no se requiere gran ciencia, solo aplica el parche que esta al final del tema y vete al final de la nueva tabla de fondos, no borres ningun dato si no estas seguro que estas haciendo (es obvio, pero uno nunca sabe que locuras puede hacer la gente)
Ahora expandamos, pero ¿y ahora que?
Aunque creeras que hay que ser pro para esto, es falso, solo hay que tener conocimientos en hexadecimal e inserccion de datos comprimidos sin repunteo (despues hago un tuto explicando esto, es sencillo)
si recuerdas, dije que habían 20 fondos usables, curiosamete se enumeran en sistema decimal, partiendo del número 0, entonces siguiendo esa numeración asumimos que los fondos del 0 al 19 estan llenos. entonces, insertare sin repuntear dos fondos extra, uno para rutas nevadas, el otro para la batalla contra el campeón, y luego haré un repunteo manual al final de la nueva tabla ubicada en 0xF10000 usando el formato mencionado antes.
El código interno del juego no nos permite tocar ni expandir esta tabla, pero este parche modifica esa rutina ASM no solo moviendola de lugar, sino haciendola dependiente a la varable 0x40F7. lo cual hace que si comprueba que el valor de esa variable es 0, el juego sigue la rutina. común, pero si encuentra un valor distinto a ese, el juego cargará el número de fondo del valor de la variable.
En resumen, si fijamos el valor de la variable 0x40F7 a 20, el juego cargará el fondo número 20, si no hay fondo 20 el juego se crasheara, pero como inserte mi fondo nevado entonces el fondo nevado es el número 20, por lo tanto al fijar en 20 su valor el juego cargará el fondo número 20
Sencillo ¿No? pero para hacerlo funcional y que se cargue el fondo nevado en una ruta especifica pues solo haremos un script de nivel 02, en el cual debe ser agregado esto (mira el macrotutorial de Javi para hwcer scripts de nivel):
Código:
Setvar 0x40F7 0x20
Código:
setvar 0x40F7 0x0
Ahora para la batalla del campeón solo tendremos que hacer casi lo mismo, ahora el fondo de campeón lo inserté despues del nevado, por lo cual es el fondo 21, para ello haremos lo mismo, solo que en vez de hacer un script de nivel se lo asignaremos al script del npc (algo asi era el trainerbattle)
Código:
setvar 0x40F7 0x21
trainerbattle 0x1B0 0x200 @puto @quien @lea @esto
#org @esto
msgbox @texto 0x6
setvar 0x40F7 0x0
end
Entonces ¿Es dificil? un poco quizás, para mi es sencillo, pero para ustedes quizas no, recordad que con esto podemos hacer que cada mapa tenga su propio fondo de batalla.
ahora si el link del parche de la rutina:
El parche es compatible con el JPAN hacked engine, el 649 patch de Jambo51, el Decapitalization patch de MrDollSteak, y el 870 parch de Jonkane.
En caso de tener ya usada la direccion 0xF00000 aqui se incluye la rutina sin compilar
Creditos: a Karatekid552 por la rutina ASM y por el metodo de hacer esto, pero que yo amplié e hice mas entendible
A la vez el agradece a Driver, Jambo51, Darthatron, Mat, Tajaros, Narutoactor y Drfuji.
Última edición: