Homebrew [WIP] PHBank - Pokémon Homebrew Bank

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France
So, basically the official Bank don't modify anything? (Not even things like "Traded from" or whatever is it called right now in the menu?)
I thought that it was the case.

I'll try it asap.

About the transferring to XY, there are 4 moves (I think that there are only 4 new moves), the new megatons btw and I think that's it.
People just have to be aware of what they do, if you have a doubt about an item, just don't try to transfer it, that would be safer!
Maybe I shall add the new OT... :o

I already made some stuff here!
But I didn't even try it. :)
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
Adding new OT? Why? OT is always kept, unlesss you are referring to the "Latest (not OT) handler" entry in pkHex. I'll check how the bank deals with this tomorrow, but that data is variable and not very important.

About pkmiles/battlepoints generation stuff, I've found a thread that seems to be rather accurate about how they work:
http://www.pokecommunity.com/showthread.php?t=319610

Basically: PokeMiles Earned Per Day = ( [ Total number of Pokemon in Bank boxes on previous day / 3000 ] * 100 ) - 1
Battlepoints = Pokemiles / 10


This means 3000 pokemon in the bank render 99 pokemiles or 9,9 battle points a day.
The remainders are always stored and added to the newly generated pokemiles, with the previous example, 3000 pokemon generate 99 pokemiles a day, if you receive battlepoints instead, the next day the bank will offer you 108 pokemiles or 10 battlepoints; the next day 107 pokemiles or 10 battlepoints... etc.

If you have 1068 pokemon in the bank, the formula results in 34,6 pokemiles; 0,6 pokemiles will be added to the next day's ammount, if there are still 1068 pokemon in the bank that would be 34,6 (newly generated) + 0,6 (saved from the previous day) = 35,2 pokemiles (or 3,52 battlepoints, which save 5,2 pokemiles for the next day).

Also, here's documentation about the checksum used in pokemon link data: http://srecord.sourceforge.net/crc16-ccitt.html

How? I thought it will render it illegal?
I asked kaphotics and he stated that current conversion is 100% like nintendo's. You can just drag and drop any .pkm file from any gen into pkhex and it will be converted and loaded. Use whatever gen 3 (a-save) or gen 4 or 5 save editor you like (pokegen?) to get them. But this is going off topic until we know how to read nds savegames from the card slot, in which case we could actually directly import not only gen V pokemon, but also gen IV(!).
 
Last edited by suloku,

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France
It requires ZL/ZR though...
I have problem to express myself.
Infact, you can swap PC/Bank with the ZL & ZR button.
BUT you can use press Left or Right from the edge of a box to swap PC/Bank too.
In the beta 1.0.1, I added a touch handle. If you touche the other box, it will swap to.

EDIT: In previous version, the X-Key could be used to swap PC/Bank for a long time.
 
Last edited by Gocario,

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
It requires ZL/ZR though...
In the previous version you could use X to change between PC/BANK
In 1.0.1 you can also touch the screen to switch.

There's no requirement for N3DS, it just gives those two extra buttons a function.

EDIT: gocario beat me to the explanation

@Gocario UPS! Just found a bug: something is not correctly handled when switching from PC to bank via touch screen:

1.- Select pokemon in box
2.- Change to bank with touch screen
3.- Try to swap selected pokemon with another or empty slot, it won't work.

Changing with ZL/ZR works fine.

And talking about touch screen: a fourth button to select a pokemon (the same action as A button) would allow us to transfer pokemon between boxes with only the stylus. Also, in the future it would be nice to display the box number also in low screen.

EDIT2: or double tap a pokemon to select it, at least in single mode.

Also, are there any differences between single select and quick select aside from the swap box function?

And as a minor detail, each of the colored arrow icons is displayed in a different position.

Finally, let me say that the way you implemented touch screen beats the official bank totally.
 
Last edited by suloku,

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France
Adding new OT? Why? OT is always kept, unlesss you are referring to the "Latest (not OT) handler" entry in pkHex. I'll check how the bank deals with this tomorrow, but that data is variable and not very important.

About pkmiles/battlepoints generation stuff, I've found a thread that seems to be rather accurate about how they work:
http://www.pokecommunity.com/showthread.php?t=319610

Basically: PokeMiles Earned Per Day = ( [ Total number of Pokemon in Bank boxes on previous day / 3000 ] * 100 ) - 1
Battlepoints = Pokemiles / 10


This means 3000 pokemon in the bank render 99 pokemiles or 9,9 battle points a day.
The remainders are always stored and added to the newly generated pokemiles, with the previous example, 3000 pokemon generate 99 pokemiles a day, if you receive battlepoints instead, the next day the bank will offer you 108 pokemiles or 10 battlepoints; the next day 107 pokemiles or 10 battlepoints... etc.

If you have 1068 pokemon in the bank, the formula results in 34,6 pokemiles; 0,6 pokemiles will be added to the next day's ammount, if there are still 1068 pokemon in the bank that would be 34,6 (newly generated) + 0,6 (saved from the previous day) = 35,2 pokemiles (or 3,52 battlepoints, which save 5,2 pokemiles for the next day).

Also, here's documentation about the checksum used in pokemon link data: http://srecord.sourceforge.net/crc16-ccitt.html
Erm... I missed your post.

Yes I was speaking about the "Latest (not OT) handler", sorry...
I'll have to implement an other system (or slightly different) than the per day system like in the real Pokébank.

Is your link like https://github.com/gocario/PHBank/blob/master/source/pkbank.cpp#L1335?
 

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
Erm... I missed your post.

Yes I was speaking about the "Latest (not OT) handler", sorry...
I'll have to implement an other system (or slightly different) than the per day system like in the real Pokébank.

Is your link like https://github.com/gocario/PHBank/blob/master/source/pkbank.cpp#L1335?
I'm checking it, by the way I was editing my previous post, there's a bug report: https://gbatemp.net/threads/wip-pkbank-pokémon-homebrew-bank.398718/page-7#post-5714613
 

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France
@Gocario UPS! Just found a bug: something is not correctly handled when switching from PC to bank via touch screen:

1.- Select pokemon in box
2.- Change to bank with touch screen
3.- Try to swap selected pokemon with another or empty slot, it won't work.

And talking about touch screen: a fourth button to select a pokemon (the same action as A button) would allow us to transfer pokemon between boxes with only the stylus. Also, in the future it would be nice to display the box number also in low screen.

EDIT2: or double tap a pokemon to select it, at least in single mode.

Also, are there any differences between single select and quick select aside from the swap box function?

And as a minor detail, each of the colored arrow icons is displayed in a different position.

Finally, let me say that the way you implemented touch screen beats the official bank totally.

Every action with touchscreen could make a bug. I recommand to not use it.
I have project with the stylus. ;)
And I can't display the box number atm, since I failed to install sftdlib.... :hateit:

No differences. :) I just made it for a future implementation.
I quickly took the arrow sprite from another spritesheet (and they don't correspond in shape too...)
Hehe, thanks.

Post editum: I released a blank version of the template I am using. For thoses interested.
 
Last edited by Gocario,

greatwizard

Active Member
Newcomer
Joined
Sep 1, 2006
Messages
39
Trophies
0
Location
France
XP
377
Country
France
You're welcome. And free to join the project.

Because I liked it (and it means Pokémon Homebrew Bank thoo).

It's just what I did with my two Pull Requests ;)

- Add gitignore file
https://github.com/gocario/PHBank/pull/1 (Yeah~ already merged! THX)

- Add multi paste feature ! (replace refresh top screen by multi-paste... but everything can change no prob)
https://github.com/gocario/PHBank/pull/2 (Mmhhh... Yes I know... but I need this)

Edit: I'm curious How do you debug without copy the new binary to your 3DS? It's a pain in the a** to copy new binary to test...
 
Last edited by greatwizard,

suloku

Well-Known Member
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
Great, I'm really eager to see what a finall release of PHBank will look like, but I'll patiently wait.

Just checked and your uint16_t PKBank::ccitt16(uint8_t* data, uint32_t len) function will work for pokemon link data, so I guess all the info needed is on the table, if you need the celebi and johto starters files, I can send you them. I want to see the message "You received Celebi from Pokémon Homebrew Bank"
 

Gocario

GBAFail'd
OP
Member
Joined
Sep 5, 2015
Messages
640
Trophies
0
Location
Bourg Palette
XP
804
Country
France

VaiCorinthians

Well-Known Member
Member
Joined
Oct 7, 2014
Messages
461
Trophies
0
Age
39
Location
GB
XP
471
Country
Papua New Guinea
An important function that should have, is the summary.
This is a way to distinguish and differentiate a pokemon from another.
Ex: I have 6 Dragonites with different moveset and natures.
I want to withdraw or deposit the only adamant Dragonite, this makes it easy to know what pokemon I'm depositing or withdrawing from the bank.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    BakerMan @ BakerMan: oof