Jump to content

Pup

Member
  • Posts

    14
  • Joined

  • Last visited

Everything posted by Pup

  1. Has anyone tried to impliment the 4th Gen PRNG in PHP? I've been trying for a few days on and off now for my GTS Search thing but PHP seems to struggle multiplying two 32bit numbers and tends to return garbage even when using bcmath to handle larger numbers. I'll post my code if anyone's interested but if it's already been done I'd love to know. It's really frustrating cause it takes minutes to write a working version of it in C...
  2. It might have been but the download links are dead. =(
  3. Sorry if this is the wrong section, it seemed the most appropriate. I had a program a while ago, I believe it was called PokeReader2 or something (haven't had any luck finding it again..), that could tell from a .sav file what version it was from and what region. Is this documented anywhere? I can't for the life of me find anything about it.
  4. Yeah, it's always 3 in Pt/HG/SS and 5 in D/P (I think). I guess it's to curb bandwidth or something. It's a pain in the arse when you're trying to find a non-ridiculous trade request... Edit: Incidentally, does anyone have a character conversion list for the nicknames/trainer names? I've worked out A-Z/a-z but the non-roman characters are a bit beyond me.
  5. It's the number of results requested. You can get a maximum of 7 results so don't try a value higher than 7 here. I didn't know that about country though, thanks for that. =D
  6. Okay, so it is a case of we know how to do but are keeping quiet about it for the sake of everyone else. That's good I guess. Anyways, here's the thing what I done. http://furlocks-forest.net/tools/gts/ If anyone's interested.
  7. Oh I don't mean just the lack of security. I mean that anyone who knows how can query the GTS, get a list of PIDs then run them against return.asp or delete.asp and knock them off the GTS system. You don't even need to go through SSL. I did some checks with my copies of Pearl and Platinum. It seems the game doesn't delete them when sending them to the GTS so it just restores them. It's still a pretty big thing that anyone who knows how can empty the GTS...
  8. Hey guys, I was looking over your research here in attempt to make a tool to query the GTS... I think I've stumbled on a big hole in the GTS security, or lack thereof. Has anyone else found this and taken a vow of silence or anything, before I open my big mouth?
  9. Hey. I know I replied to this in PM but just in case anyone else could use this information -> The species in the pokemon data on the GBA isn't the pokedex index number, it's done using a slightly different list which includes a large gap filled with non-pokes between Celebi and Treecko. Full details of the index number can be found here. In my experience though you can ignore the egg and Unown letters past 411 as these aren't used in this data structure - all Unowns will have species ID 201 and eggs are determined by bit 30 in the IV data (see here for position of IV data) and I think a sanity byte (see here) of 6.
  10. Glad to be of help. I don't suppose you'd mind sharing your methods would you?
  11. Not sure what you're asking. It's at the end of the save file. So you've got 14 blocks of file 1, 14 blocks of file 2, then padding upto the end of the file, which is 128kb as you say. Check your PMs :3
  12. Yeah there's 14 blocks per save file, and there are 2 save files, so 28 blocks. The rest is just padding/empty space. Basically, the file isn't sctructured as 14 seperate blocks, it is just split and saved that way. And yes, there's a back up save but the two are completely seperate - you wouldn't need to rebuild both files.
  13. Each block of 4KB has 12 bytes at the end of it that you can identify it by: 0x0FF4 - byte - Block ID (0x00-0x0D) 0x0FF5 - byte - Unknown 0x0FF6 - word - Checksum (total value of first 3968bytes of block, Modulus 0xFFFF) 0x0FF8 - long word - validation code 0x08012025 0x0FFC - long word - save ID - (highest value is most recent save) (this is stored in little endian so in a hex editor you'll see the bytes in reverse order - the validation code will show as 25 20 01 08 for example.) You have to process the blocks and rebuild the whole file before you can really start looking at the data as certain structures, such as PC boxes, cross block boundaries. When you're rebuilding the file, you just take the first 3968bytes of each block and put them all together in order. In the rebuilt file, party pokemon are at 0x11B8 in RSE and 0x0FB8 in FrLg and box pokemon are at 0x4D84 in all versions. I haven't taken the time to locate pokemon in the day care but they should be easy to find if you look up their names with the appropriate text table. Does that cover everything? :3 I was going to do something like this for the DS, so you could extract stuff directly from the GBA pokemon cart and basically trade via the internet. It never happened though.
  14. Hey, sorry about resurrecting a 2 week old post but I saw that codemonkey85 had referenced my page (http://furlocks-forest.net/wiki/?page=Pokemon_GBA_Save_Format) and that people didn't get much info on how the original poster managed to do what he set out to do. Just thought I'd open myself up to questions since I've had a fair bit of experience examining the GBA pokemon save format.
×
×
  • Create New...