Registrarse

FR | [In Process] Hacking the Trainer Card

Estado
Cerrado para nuevas respuestas.

jiangzhengwenjz

Usuario mítico
What's it:


(Well, I still don't know which sub-forum to post this kind of stuff in, because it's neither script & ASM nor a tutorial. Therefore, I post it here)

This hack is made with C, and the source code can be found here:
https://github.com/jiangzhengwenjz/T-card

This piece of code is for further research so I listed many unmodified functions in the ROM and you can find them in bpre.ld(offsets) and funcs.h(types).

Note: This piece of code can only be used in research, so don't use it in your hack, because it's BUGGY.

The bug I found is that the strings on the back of the card won't be shown at the first time, but the function at 0x808B3C4 is called, which calls 0x8089E40 so I really have no idea of this issue. Apparently it's caused by the Pokémon string, but how to fix it without deleting this string?

[caja=]How to use: (Be sure to have devkitarm & GNU make installed)

1. Make these byte changes
8A028: 9A
8A144: 98
3CD930: 45
3CD932: 57
3CD934: 5C

2. Create an empty folder called build and change the insert offset in linker.lsc.

3. Open the cmd prompt (or cygwin) and type in make.

4. Insert main.bin at the offset assigned in step2.

5. Change the pointers at the following offsets:
3A7360: pointer to offset of inserting main.bin + 0x71.
3CD914: pointer to offset of inserting main.bin + 0x6F1.
Example: I insert main.bin at 0x800000 so I write 71 00 80 08 and F1 06 80 08. [/caja]

Credits: Knizz, Coranac
 

Sayer301!

UnityLord!
Miembro de honor
Respuesta: FR | [In Progress] Hacking the Trainer Card

Queeee guapo me mola mazo! Siempre traes cosas superguays!!! A ver si me animo y lo pruebo un dia de estos.

Funcionaría con pokédex expandidas??

Muchas gracias por traerlo máquina
 

jiangzhengwenjz

Usuario mítico
Re: Respuesta: FR | [In Progress] Hacking the Trainer Card

Queeee guapo me mola mazo! Siempre traes cosas superguays!!! A ver si me animo y lo pruebo un dia de estos.

Funcionaría con pokédex expandidas??

Muchas gracias por traerlo máquina
You can find these table locations in data.h:
Código:
u8 ** icon_pointer_table = (u8 **) 0x83D37A0;
u8 * icon_palette_table = (u8 *) 0x83D3E80;
Changing the 2 offsets to your new table location will work (Egg icon is loaded separated so there's no need to worry about it)
 

BluRose

chiste, chiste
Respuesta: FR | [In Progress] Hacking the Trainer Card

What's it:
(Well, I still don't know which sub-forum to post this kind of stuff in, because it's neither script & ASM nor a tutorial. Therefore, I post it here)
This hack is made with C, and the source code can be found here:
https://github.com/jiangzhengwenjz/T-card

This piece of code is for further research so I listed many unmodified functions in the ROM and you can find them in bpre.ld(offsets) and funcs.h(types).

Note: This piece of code can only be used in research, so don't use it in your hack, because it's BUGGY.

The bug I found is that the strings on the back of the card won't be shown at the first time, but the function at 0x808B3C4 is called, which calls 0x8089E40 so I really have no idea of this issue. Apparently it's caused by the Pokémon string, but how to fix it without deleting this string?

[caja=]How to use: (Be sure to have devkitarm & GNU make installed)

1. Make these byte changes
8A028: 9A
8A144: 98
3CD930: 45
3CD932: 57
3CD934: 5C

2. Create an empty folder called build and change the insert offset in linker.lsc.

3. Open the cmd prompt (or cygwin) and type in make.

4. Insert main.bin at the offset assigned in step2.

5. Change the pointers at the following offsets:
3A7360: pointer to offset of inserting main.bin + 0x71.
3CD914: pointer to offset of inserting main.bin + 0x6F1.
Example: I insert main.bin at 0x800000 so I write 71 00 80 08 and F1 06 80 08. [/caja]

Credits: Knizz, Coranac
It looks cool already! Does the game crash when flipping to the back or...? I don't have the necessary things to implement this myself...
I assume by "Pokémon string," you mean the thing at the very bottom of the back of the Trainer Card, yes? It will be fun to try to fix that...

¡Se ve padre ya! ¿Se estrelló el juego cuando le da la vuelta o...? No tengo las cosas necesarias para insertar ese por mí mismo...
Asumo que cuando se dice "Pokémon string", refiere a la cosa que está en el fondo de la Tarjeta (¿o es ficha?) de Entredor, ¿sí? Será divertido tratar de arreglarlo...
 

jiangzhengwenjz

Usuario mítico
Re: Respuesta: FR | [In Progress] Hacking the Trainer Card

It looks cool already! Does the game crash when flipping to the back or...? I don't have the necessary things to implement this myself...
I assume by "Pokémon string," you mean the thing at the very bottom of the back of the Trainer Card, yes? It will be fun to try to fix that...

¡Se ve padre ya! ¿Se estrelló el juego cuando le da la vuelta o...? No tengo las cosas necesarias para insertar ese por mí mismo...
Asumo que cuando se dice "Pokémon string", refiere a la cosa que está en el fondo de la Tarjeta (¿o es ficha?) de Entredor, ¿sí? Será divertido tratar de arreglarlo...
No, It won't get an crash and I won't post it if so. The string I've mentioned is the "Pokémon" string above the pokemon icons added on my own, and the bug is that it conflicts with the string at the back of the card (hall of fame, etc). A simple fix is not to print that string - delete the function call trainer_card_print_pokemon().
 

Xiros

¡Pokémon Omega con actualización del 30/8!
Miembro de honor
Respuesta: FR | [In Progress] Hacking the Trainer Card

Wow, amazing!
Nice discovery! Hope you can solve the minor bugs soon, but it's amazing what you did :)
 

jiangzhengwenjz

Usuario mítico
Re: Respuesta: FR | [In Progress] Hacking the Trainer Card

Wow, amazing!
Nice discovery! Hope you can solve the minor bugs soon, but it's amazing what you did :)
Thx. I may not touch it recently:sleepy:
Deactivating the function calling of trainer_card_print_pokemon() is the simplest way, but having it will make it more natural.
 

eing

Miembro de honor
Miembro de honor
Respuesta: FR | [In Progress] Hacking the Trainer Card

Nice work my friend!
It's seem very good, and make me feel that i need to hack now!

Btw, where did you learn c? It should be greater for me :3
 

jiangzhengwenjz

Usuario mítico
Re: Respuesta: FR | [In Progress] Hacking the Trainer Card

Nice work my friend!
It's seem very good, and make me feel that i need to hack now!

Btw, where did you learn c? It should be greater for me :3
Thanks!

You can see this one: [Tutorial] Hacking FireRed in C tutorial - The PokéCommunity Forums
Actually it's almost the same as C programming on x86 lol (I learned that by downloading a book and reading it)
The link above provides a template with python scripts, but I don't use it for now and I just use a makefile to fill the compilation instructions in.
 
Última edición:

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: FR | [In Progress] Hacking the Trainer Card

Oh, is amazing, thanks for share this, is very useful for the people who wants show their Teams and make this similar to the generic trainer cards on the web c:
 

Bugrhak

A long time ago I used to call myself "Subzero".
Muy bueno!!!
resulta muy interesante.
¿los pokemon que aparecen son los que tienes actualmente en tu equipo?
 

Versekr Dark

Usuario mítico
What's it:


(Well, I still don't know which sub-forum to post this kind of stuff in, because it's neither script & ASM nor a tutorial. Therefore, I post it here)

This hack is made with C, and the source code can be found here:
https://github.com/jiangzhengwenjz/T-card

This piece of code is for further research so I listed many unmodified functions in the ROM and you can find them in bpre.ld(offsets) and funcs.h(types).

Note: This piece of code can only be used in research, so don't use it in your hack, because it's BUGGY.

The bug I found is that the strings on the back of the card won't be shown at the first time, but the function at 0x808B3C4 is called, which calls 0x8089E40 so I really have no idea of this issue. Apparently it's caused by the Pokémon string, but how to fix it without deleting this string?

[caja=]How to use: (Be sure to have devkitarm & GNU make installed)

1. Make these byte changes
8A028: 9A
8A144: 98
3CD930: 45
3CD932: 57
3CD934: 5C

2. Create an empty folder called build and change the insert offset in linker.lsc.

3. Open the cmd prompt (or cygwin) and type in make.

4. Insert main.bin at the offset assigned in step2.

5. Change the pointers at the following offsets:
3A7360: pointer to offset of inserting main.bin + 0x71.
3CD914: pointer to offset of inserting main.bin + 0x6F1.
Example: I insert main.bin at 0x800000 so I write 71 00 80 08 and F1 06 80 08. [/caja]

Credits: Knizz, Coranac


Muchas gracias siempre con estos grandiosos post, por cierto aqui le dejo una imagen de mi team:

 

CompuMax

Discord: CompuMax#0425
Miembro insignia
Excelente aporte!

Sería bueno que hicieras uno donde se muestren 16 medallas en vez de 8. Creo que sería genial para aquellos que quieran hacer hacks con 16 Gym ya que el Fire Red trae tambien las medallas de Hoen en el offset 0x3CD3A0 aparte de las de Kanto.

Saludos!

Max.
 

jiangzhengwenjz

Usuario mítico
Excelente aporte!

Sería bueno que hicieras uno donde se muestren 16 medallas en vez de 8. Creo que sería genial para aquellos que quieran hacer hacks con 16 Gym ya que el Fire Red trae tambien las medallas de Hoen en el offset 0x3CD3A0 aparte de las de Kanto.

Saludos!

Max.
Yes, actually it's very simple and we just need to hack the badge drawing function. However I'm too lazy to make sprites for the new medals at that time, lol
 

CompuMax

Discord: CompuMax#0425
Miembro insignia
Yes, actually it's very simple and we just need to hack the badge drawing function. However I'm too lazy to make sprites for the new medals at that time, lol
No hace falta hacer los sprites de las nuevas medallas. Como ya mencioné, ya vienen en la ROM las medallas de Kanto en el offset 0x3CD5E8 y las de Hoen en el offset 0x3CD3A0.

:D
 
Estado
Cerrado para nuevas respuestas.
Arriba