Homebrew [WIP] PHBank - Pokémon Homebrew Bank

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
839
Country
This keeps getting more and more awesome, touch screen is actually better than official bank!

Bug repport: drag and droping some pokemon won't work, I can't find a certain pattern to which pokemon shows the issue.
Also, when changing boxes with stylus and not dragging a pokemon, you should wait until the stylus is up to allow touchscreen input.

About text display on lower screen, if the only thing we want down there is numbers, you could use 10 images for numbers and just display them as sprites, but I guess you'd alswo want to make box names appear?

On another topic, I can confirm bank received pokemon's met date is set to that on which you receive them from pokemon link, not when they were transfered to the savegame by the bank, so they would be genuinely legit.

EDIT: swapping boxes is broken too, in fact the problem affecting swap boxes affects the same pokemon that can't be drag and dropped.
 
Last edited by suloku,

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
794
Country
France
This keeps getting more and more awesome, touch screen is actually better than official bank!

Bug repport: drag and droping some pokemon won't work, I can't find a certain pattern to which pokemon shows the issue.
Also, when changing boxes with stylus and not dragging a pokemon, you should wait until the stylus is up to allow touchscreen input.

About text display on lower screen, if the only thing we want down there is numbers, you could use 10 images for numbers and just display them as sprites, but I guess you'd alswo want to make box names appear?

On another topic, I can confirm bank received pokemon's met date is set to that on which you receive them from pokemon link, not when they were transfered to the savegame by the bank, so they would be genuinely legit.

EDIT: swapping boxes is broken too, in fact the problem affecting swap boxes affects the same pokemon that can't be drag and dropped.

This... OMG
I uploaded a 1.0.5-a (fix)

I am thinking of using a bitmap font...
What about the pokemon's "current (not OT) handler" transfered from bank, is it a runtime value or a stored value?

EDIT: HT (Handler Trainer) data (name + gender) is currently written with the Pokémon data.
But now, I fear about the memories, the previous regions and everything related with the HT when not OT... How should it work? AND How should we do? (since it can differ)
 
Last edited by Gocario,

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
839
Country
EDIT: HT (Handler Trainer) data (name + gender) is currently written with the Pokémon data.
But now, I fear about the memories, the previous regions and everything related with the HT when not OT... How should it work? AND How should we do? (since it can differ)

Woops, forgot about that, will check right away.
I don't fully understand your worries though. As long as I see in the pokemon structure, the only thing that changes with trades is last trainer's Name and gender. Well, gonna see what the bank does.

EDIT: I see, there's a whole block of data about not OT.

EDIT2: @Gocario, seems like memories are set as if the pokemon was traded. Gonna test a little more, but pkhex does not handle this either.
Probably the game autogenerates those memory data when withdrawing from box and a last OT / current OT divergence is found...
I would need a different region savegame (EUR) to test how the region data is updated too, because I have 2 saves from 2 different cartridges, but region data is the same, so that remains unchanged.

It's nothing that can't be achieved, I'll run some more tests to see if the memories are randomly generated; if they are we can replicate it even if not the exact randomizing is done.

EDIT3: there's something I won't be able to test, which is the following situation:

1.- Get pokemon A from game 1 to PHB
2.- Transfer pokemon A to game 2 (diferent region)
3.- Trade pokemon a from game 2 to game 3 (a third region), without withdrawing from boxes
4.- Check if regional memories from game 2 where conserved.

EDIT 4: went to the memory recaller, the pokemon is treated as if it were still under original trainer's care.

Pokemon Bank to cartridge transfer really seems to work just like a trade, friendship is also set to its vase value:
http://bulbapedia.bulbagarden.net/wiki/List_of_Pokémon_by_base_friendship

In my previous edit I said I wanted to check what happened to geolocation, but I think they are simply moved one slot down and the location of the current save is put as latest location (geolocation 0) even if it is the same geolocation. I can test that, but would take quite some transfers.

I'll see what happens when the pokemon returns to original trainer and if the memories are actually randomly generated for each pokemon.
Memory type and area are always the same for pokemon Bank (bulbapedia states that ORAS only locations are changed to somewhere, but a X pokemon transfered to an Y game was changed to somewhere).
I need to check if affection, fullness and enjoyment are set to 0 with the transfer ( I guess so).
If intensity and feeling are randomly generated, we can mimic what pokemon bank does.

EDIT5:
I need to test more, but feeling seems random, intensity seems to be set to lowest value, affection, fullness and enjoyment seem to be set to 0. I've also checked with normally traded pokemon trough GTS and this seems to be how memory values are handled.

On the other hand, when a pokemon returns to its original trainer, two things happen (need to hex check, but I have to go now):
1.- Current Handler is set to OT, no other data is touched
2.- Friendship with original trainer is restored, instead of returning to base value.
 
Last edited by suloku,

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
794
Country
France
I made some research too.
But I only have one cartridge, one game, one bank, but two saves (mine and another from a friend), frome the same country/region...

Attached files are Pokémon, which were never traded.

"PK6 From OT": Original Pokémon from my save.
"PK6 To OT": My save -> Pokébank -> My save.
"PK6 To HT": My save -> Pokébank -> My friend's save.
"PK6 From HT": My save -> Pokébank -> My friend's save -> Pokébank -> My save

"To OT", comparison from "from OT":
  • The item (0x0a ~2) is removed (-> 0000, no item),
  • And the checksum (0x06 ~2) is updated.
"To HT", comparison from "from OT":
  • The item (0x0a ~2) is removed (-> 0000, no item),
  • The HT name (0x78 ~10) is added (-> 6100 6c00 6500 6e00 7400 6900 6e00 .... , "V.a.l.e.n.t.i.n"),
  • The HT gender (0x92 ~1) remais 00 (male),
  • The current handler (0x93 ~1) is changed (-> 01, HT value?),
  • The region is changed (0x94 ~2) is changed (-> 034d, means "France - Alsace"),
  • The HT friendship (0xa2 ~1) is changed to the lowest value (-> 46, equals 70; -> 23, equals 35),
  • The HT affection (0xa3 ~1) remains 00 (null),
  • The HT Intensity (0xa4 ~1) is changed (-> 01, ??),
  • The HT Memory (0xa5 ~1) is changed (-> 04, ??),
  • The HT Feeling (0xa6 ~1) is changed (-> random value?)
  • And the checksum (0x06 ~2) is updated.

"From HT", comparison from "to HT":
  • The item (0x0a ~2) remains removed (-> 0000, no item),
  • The HT name (0x78 ~10) remains the same (-> 6100 6c00 6500 6e00 7400 6900 6e00 .... , "V.a.l.e.n.t.i.n"),
  • The HT gender (0x92 ~1) remais 00 (male),
  • The current handler (0x93 ~1) is changed (-> 00, OT value?),
  • The region is changed (0x94 ~2) remains the same (-> 034d, means "France - Alsace"),
  • The HT friendship (0xa2 ~1) is changed to the lowest value (-> 46, equals 70; -> 23, equals 35),
  • The HT affection (0xa3 ~1) remains 00 (null),
  • The HT Intensity (0xa4 ~1) remains 01 (-> 01, ??),
  • The HT Memory (0xa5 ~1) remains 4 (-> 04, ??),
  • The HT Feeling (0xa6 ~1) remains the same (-> random value?)
  • And the checksum (0x06 ~2) is updated.
 

Attachments

  • OTH+.rar
    23.2 KB · Views: 86

Elveman

Just passing by
Member
Joined
Feb 1, 2015
Messages
456
Trophies
0
Age
26
Location
Moscow city
XP
956
Country
Russia
Tried to build CIA from it. It loads but after that the system immediately crashes ("An error has occured, hold the power button..." shenanigans)
 
Last edited by Elveman,

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
794
Country
France
That !
A great homebrew !
I actually trouble to get multi selection to work to do mass transfert but else that work nicely and look good :)
And also that "noob friendly" I work as you think without have to read a faq for hours :3
There is a small feature, which allows a full-box swap: while being in single select mode (blue cursor) press Y. All transferable Pokémon will be transfered.
I am working on the multi-selection, but it's pretty hard...

EDIT: I lied... I am working on the box selector...
 
Last edited by Gocario,

ecaep42

Well-Known Member
Newcomer
Joined
Aug 24, 2015
Messages
59
Trophies
0
XP
223
Country
United States
I have trouble moving the OR/AS Kyogre/Groudon/Rayquaza/Cosplay Pikachu into the bank. Specifically, the legends know the new moves. I'm not sure if the pokemon are prevented from going into the bank in some way, but allowing them to be moved into the bank would be nice.
 

bache

Well-Known Member
Member
Joined
Sep 28, 2009
Messages
694
Trophies
0
XP
501
Country
This is incredible, and the UI is done so well! Thanks for this! I'm not going to bother renewing my PokeBank sub anymore.
 

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
794
Country
France
I have trouble moving the OR/AS Kyogre/Groudon/Rayquaza/Cosplay Pikachu into the bank. Specifically, the legends know the new moves. I'm not sure if the pokemon are prevented from going into the bank in some way, but allowing them to be moved into the bank would be nice.

When transfering to the bank, filters are apply, to block new Items/Moves/Abilities from ORAS.
I have planned to filter only when transfering from bank to a XY game in a future release.

PS: Cosplay Pikachu is a particular case, because I heard it will disappear in next games.
 

Minecraftlol

Active Member
Newcomer
Joined
Jul 26, 2014
Messages
29
Trophies
0
Age
47
XP
70
Country
New Zealand
Works well, but, it does not display eggs, and make it if your on a Old 3DS/Old 3DS XL or 2DS to not have ZL and ZR as they can't use that.
Why don't you also let you name the Bank Boxs like in the real Pokemon Bank
 
Last edited by Minecraftlol,
General chit-chat
Help Users
  • No one is chatting at the moment.
    Skelletonike @ Skelletonike: 1H left, such a slow week.