Jump to content

Recommended Posts

Posted (edited)

Hi, I’m new to genning Pokemon using PKHeX. The first time I saw the term “trash bytes” is from the legality check saying there’s trash bytes in OT. I’ve then learnt to clear it by ctrl click the OT field. Everything is legal and happy until I found there’s trash bytes in nickname as well, which prompted me to research on trash bytes and it only creates more confusion.

I have several questions:

1. Are nickname fields and OT fields the only places trash bytes can exist? If not, are these two places the only places you can interact with using PKHeX? I mean, are there other fields where I can edit trash bytes using PKHeX?

2. Based on my research, I’ve learnt that trash bytes can naturally occur due to renaming. I suspect this is why PKHeX doesn’t give illegal warning when nickname field contains trash bytes. Is this correct?

3. For a fresh legit naturally obtained Pokemon that has never been nicknamed, either from event, gift, hatched, caught, etc. Should it have no trash bytes at all? In particular, should it have no trash bytes in nickname?

The point is, I’m using encounter database and mystery gift database to gen mons and I intend for them to resemble fresh legit Pokemon. The issue is, the encounter database defaults to genning English language Pokemon and when I change the language to Japanese, I noticed the nickname fields would contain trash bytes, even when nickname box is unchecked. So, in order to create legit mons that mimick freshly obtained mons, should I clear the trash bytes in nickname, even when not ticking the nickname checkbox?

P.S. I noticed that in the interface for clearing trash bytes, there’s a drop down on the right to select language, which defaults to Japanese. I wonder, does selecting different languages there affect how “clear trash bytes button” work?

Thanks a million for your help!

Edited by Fluffy Skye
Posted
Quote

1. Are nickname fields and OT fields the only places trash bytes can exist? If not, are these two places the only places you can interact with using PKHeX? I mean, are there other fields where I can edit trash bytes using PKHeX?

I can think of another place: form arguments. Usage may slightly vary and the info isn't useful for the game once evolved, but relevant to hack checking. Like it keeps track of how much damage was done to Galarian Yamask. How many time the Hisuian Basculin used the recoil move to evolve. 

Technically speaking, the HOME tracker is trash bytes within the respective games, as they don't use it nor reference it, and it was written from an external program.
But we know it is important as it is used and tracked by HOME.

Pal parking causes trash bytes too, and I don't remember where those trash are written to. 

In any case, PKHeX allows you to go through each extra byte, which may or may not hold undocumented data.

image.png
PKHeX should have everything documented but it is more future proofing, in case the location becomes used in the future
 

1 hour ago, Fluffy Skye said:

2. Based on my research, I’ve learnt that trash bytes can naturally occur due to renaming. I suspect this is why PKHeX doesn’t give illegal warning when nickname field contains trash bytes. Is this correct?

I don't recall if it happens in newer games, but absolutely happens in older games during evolution. In Gen 5, I traded a English captured unevolved mon to be evolved in a Korean game. IIRC that resulted in Korean species names and English trash bytes.

A scenario I vaguely remember but never actually tried was hatching an egg (from a trainer with a long OT) into a different save (using a trainer with a short OT), and that resulted in trash bytes in OT. Not sure which generation this applied to, tho.
 

1 hour ago, Fluffy Skye said:

3. For a fresh legit naturally obtained Pokemon that has never been nicknamed, either from event, gift, hatched, caught, etc. Should it have no trash bytes at all? In particular, should it have no trash bytes in nickname?

The point is, I’m using encounter database and mystery gift database to gen mons and I intend for them to resemble fresh legit Pokemon. The issue is, the encounter database defaults to genning English language Pokemon and when I change the language to Japanese, I noticed the nickname fields would contain trash bytes, even when nickname box is unchecked. So, in order to create legit mons that mimick freshly obtained mons, should I clear the trash bytes in nickname, even when not ticking the nickname checkbox?

I'm not sure. I think "captured unevolved Pokemon within it's own game" are fine, but anything evolved may bear a potential for trash bytes, and everything else is probably a case by case basis.

I think some transfer up clear trash bytes anyway so maybe look into that first (not transfers between Switch and HOME games).

You probably should clear Trash bytes in OT/Nickname first, then worry about how they may get applied.
Or better yet, just gen something that would have had it's trash byte cleared upon transfer (but in that scenario you'll likely be missing a legit HOME tracker)
 

 

1 hour ago, Fluffy Skye said:

P.S. I noticed that in the interface for clearing trash bytes, there’s a drop down on the right to select language, which defaults to Japanese. I wonder, does selecting different languages there affect how “clear trash bytes button” work?

Thanks a million for your help!

Not sure. If it's clearing, then unlikely?

 

Posted
2 hours ago, Fluffy Skye said:

Hi, I’m new to genning Pokemon using PKHeX. The first time I saw the term “trash bytes” is from the legality check saying there’s trash bytes in OT. I’ve then learnt to clear it by ctrl click the OT field. Everything is legal and happy until I found there’s trash bytes in nickname as well, which prompted me to research on trash bytes and it only creates more confusion.

I have several questions:

1. Are nickname fields and OT fields the only places trash bytes can exist? If not, are these two places the only places you can interact with using PKHeX? I mean, are there other fields where I can edit trash bytes using PKHeX?

2. Based on my research, I’ve learnt that trash bytes can naturally occur due to renaming. I suspect this is why PKHeX doesn’t give illegal warning when nickname field contains trash bytes. Is this correct?

3. For a fresh legit naturally obtained Pokemon that has never been nicknamed, either from event, gift, hatched, caught, etc. Should it have no trash bytes at all? In particular, should it have no trash bytes in nickname?

The point is, I’m using encounter database and mystery gift database to gen mons and I intend for them to resemble fresh legit Pokemon. The issue is, the encounter database defaults to genning English language Pokemon and when I change the language to Japanese, I noticed the nickname fields would contain trash bytes, even when nickname box is unchecked. So, in order to create legit mons that mimick freshly obtained mons, should I clear the trash bytes in nickname, even when not ticking the nickname checkbox?

P.S. I noticed that in the interface for clearing trash bytes, there’s a drop down on the right to select language, which defaults to Japanese. I wonder, does selecting different languages there affect how “clear trash bytes button” work?

Thanks a million for your help!

1. Trash bytes can exist in any text, if the game doesn't clear the data before writing the new text value. Not all GUI locations support editing trash bytes, but you can try via ctrl-clicking the textboxes to see which ones support it.

2. Correct, you can apply nicknames multiple times, from long to short.

3. Things can legally have trash bytes; depends from game to game. PKHeX defaults to the currently loaded save file when you are generating from a template, if there is no trainer in the trainers database that is better suited.

Japanese is just the first language. The dropdowns on the side are to apply Species names to the trash bytes for specific languages as an under-layer.

  • Thanks 1
Posted
5 hours ago, theSLAYER said:

You probably should clear Trash bytes in OT/Nickname first, then worry about how they may get applied.

You know, I think I'll just do this. I can see why evolved mons could potentially have trash bytes in nickname due to the name changing upon evolution, but like you said then the issue becomes a case by case study which I really don't bother at this point.

 

4 hours ago, Kaphotics said:

3. Things can legally have trash bytes; depends from game to game. PKHeX defaults to the currently loaded save file when you are generating from a template, if there is no trainer in the trainers database that is better suited.

I see, so if I load up a Japanese language save, PKHeX would've gen Japanese language mons from encounter database. I was only using sysbot to transfer genned PKM so I never loaded a save. This behavior makes sense now. Thank you!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...