Jump to content

Is this program useful?  

22 members have voted

  1. 1. Is this program useful?



Recommended Posts

I have updated the app, seems that the font the app has been using didn't show japanese characters, however I attempted to redesign the app and became messed up, so after fixing it, I decided to create an option to change the font to show these characters, currently it only works for the main app and the legality analysis results

Also I have added all icons with all forms to the save file and legality analysis...

I'm also preparing the layout for the GTS System :smile:

Link to comment
Share on other sites

  • Replies 201
  • Created
  • Last Reply

Top Posters In This Topic

I finished up my research about Kyurem forms and save file offsets (which I will update later) and updated the Save File editor for B2W2 save files, a new pkm icon will appear that will indicated the fused pkm data, the flag will indicate if a Kyurem with an alternate form (Black/White) can be defused and get the pkm :biggrin:

However I'm not sure of White 2 save files (I don't have one), if someone can tell me if it works I would appreciate it :smile:

Link to comment
Share on other sites

hey RubenPikachu, I love your application! :)

Thanks! :smile:

I have some upcoming updates, first of all I'm going to add B2W2 missing locations, after that I'll continue my research on 5 gen Roaming pkm and Zekrom/Reshiram PID generation

I have been researching about GTS however I'm having trouble with sockets and DNS stuff so I'm stuck, I hope I can add this to the app :frown:

Link to comment
Share on other sites

I have some upcoming updates, first of all I'm going to add B2W2 missing locations, after that I'll continue my research on 5 gen Roaming pkm and Zekrom/Reshiram PID generation.

i think i saw the assembly for this on the PP.org wiki

I have been researching about GTS however.

can't you just write an http request in your program?

Link to comment
Share on other sites

Thanks! :smile:

I have some upcoming updates, first of all I'm going to add B2W2 missing locations, after that I'll continue my research on 5 gen Roaming pkm and Zekrom/Reshiram PID generation

I have been researching about GTS however I'm having trouble with sockets and DNS stuff so I'm stuck, I hope I can add this to the app :frown:

You can always look at implementing my GTS system; it's got a lot of the work done. It's located here if you're interested.

Link to comment
Share on other sites

i think i saw the assembly for this on the PP.org wiki

can't you just write an http request in your program?

Thanks I will check it later...

can you add a save fixer so when i manually edit my name using HxD then use your program to fix it to prevent the game showing a blue screen

Yes all checksums calculations in save files will be added later

You can always look at implementing my GTS system; it's got a lot of the work done. It's located here if you're interested.

Thanks, however the app is written in VB.NET, I will try to convert it and check if it works

Link to comment
Share on other sites

How do you calculate the checksum in a pokemon?

Same as Gen IV, info at PP.org wiki http://projectpokemon.org/wiki/Pokemon_NDS_Structure#Checksum

I attempted to convert from C# to VB.net however there are some issues so I think I will base my GTS system in it, but if anyone knows how to make a GTS System for Gen V on VB.NET with NET Framework 4, I'm giving the GTS System part source code, I decided to delete what I had since it didn't work...

PDC GTS System Pub.zip

PDC GTS System Pub.zip

Link to comment
Share on other sites

I have a C# code that will fix checksum,

ms.Position = 0x08;

UInt32 Checksum = 0;

for (int j = 0; j < 64; j++) {

Checksum += Convert.ToUInt32(ms.ReadByte() + (ms.ReadByte() << 8));

Checksum = Checksum & 0x0000FFFF;

}

ms.Position = 0x06;

ms.WriteByte(Convert.ToByte(Checksum & 0x000000FF));

ms.WriteByte(Convert.ToByte(Checksum >> 8));

Link to comment
Share on other sites

This is the code I use to make/fix a pkm checksum

Dim fs as New FileStream(Loadpkm.FileName,FileMode.Create)

Dim bw as New BinaryWriter(fs)

Dim br As New BinaryReader(fs)

'Before this the app writes all the data

fs.Seek(8, SeekOrigin.Begin)

Dim checksum as UInt16 = 0 'Used to write the checksum in the file

Dim checksum2 = 0 'Holds the sum, since it can be larger than a UInt16

For d As Integer = 0 To 64

checksum2 += br.ReadUInt16

Next

fs.Seek(6, SeekOrigin.Begin)

checksum = checksum2 And 0xFFFF

bw.Write(checksum)

fs.dispose()

Edited by RubenPikachu
Link to comment
Share on other sites

I don't get it

I didn't have time for details, let me explain it...

The code is used after all the pkm data is inserted into the file, then the app passes through the data from offset 0x08 to 0x87 splitting it into UInt16 and taking the sum of them

After you get the sum you truncate the sum to 16 bits by using And 0xFFFF and get the checksum

Then you insert it at offset 0x06

This is how you make the checksum, if you have a pkm file edited manually, do the same to fix the checksum

Link to comment
Share on other sites

So, is it at the end of the writing process?

Yes, however you can write your own code that calculates the checksum before the writing process, however I think it is more difficult to do...

By the way, I have updated the app with file association for .pkm and .sav files, I'm working on .pgf files and designing different icons for them :smile:

Link to comment
Share on other sites

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...