Jump to content

trigger_segfault

Innovator
  • Posts

    286
  • Joined

  • Last visited

Everything posted by trigger_segfault

  1. Fixed the Bad Egg issue. It was a pretty silly mistake. It will come packed with the next version which I'll try to get out today. Sadly Pokemon Box still won't have saving yet since I'm having a really hard time figuring out how the checksums are calculated.
  2. Also that crash has been fixed. The currently version actually does try to remove it but it crashes because of the message box telling you it removed it. That's fixed in the latest version which I'll post soon.
  3. That may be because the same letter drive is not referenced each time the program looks for the save. I'll see if there's anything I can do about that.
  4. In that case. Pokemon Box saving is a definite goal. I only need the box names and you can change wallpapers I found out. Since I can view the pokemon I don't need them anymore. Edit: Also I asked this earlier but can you explain in more detail the "bad egg" thing on your game? Did it happen in French Ruby?
  5. When you download the new version just output all the files in the same directory as before and overwrite everything it asks you to. Edit: I actually do have some questions about Pokemon Box. More about the gameplay. 1) Can you rename boxes? 2) Can you change the box wallpapers? If not I would really like to know what each wallpaper is for each box. Edit 2: Would you prefer support for saving Pokemon Box that made the save unusable in the Pokemon Box game but works anywhere else that doesn't check checksums? I can make it optional but I'm wondering if people won't like the idea of a program making a save unusable. Edit 3: Actually it would be helpful if you told me the names and wallpapers for each box in order.
  6. I'll definitely look into saving in the future. I have VERY high hopes that the checksums are calculated the exact same way as in the GBA games which would mean all of the work is basically done for me. It still comes down to being able to test if it works afterwards.
  7. Nope. I'm all good. I'm writing the game save classes to support Pokemon Box in Trigger's PC now. Saving most likely won't be a thing for awhile until I can get Pokemon Box to work on Dolphin.
  8. Thanks. I'll test it out. Edit: Hmm. It says I need to save at a Pokemon Center, yet I have. I've tried different Pokemon centers and making sure the save is Flash 128k, Both Ruby, Sapphire and Emerald and still nothing.
  9. A big thank you for creating this tool and making your source code available. I was able to use it to create my legit-use tool Trigger's PC.
  10. I have managed to successfully read and save Pokemon Box saves and have them load without issues on the actual game. An editor actually does exist for Pokemon Box with source code Here which is what I based some of my findings on however this program doesn't have saving. Thank you Kaphotics for finding it. Save File Structure: Size: 0x76000 (+64 if it contains GCI data) 0x0 - GameCube Memory Card Data 0x02000 - Save Slot 1 0x30000 - Save Slot 2 Save Slot Structure: Size: 0x2E000 0x0 - Array of 23 blocks of data. There is no data after that. Each save file contains 23 blocks from start to finish. There is no leftover data. Save data is stored in an almost identical fashion to the GBA games. Block Structure: Size: 0x2000 Variables: 0x0 - ushort ChecksumA in big endian 0x2 - ushort ChecksumB in big endian 0x4 - u32 BlockID in big endian (from 0-22 inclusive) 0x8 - u32 SaveCount in big endian 0xC-0x1FFB - Actual Data 0x1FFC - u32 Footer (unsure what this is used for) Calculating the Checksum (In C#): uint checksum = (ushort)((ushort)BlockID + (ushort)(BlockID >> 16) + (ushort)SaveCount + (ushort)(SaveCount >> 16)); for (int i = 0xC; i < 0x1FFC; i += 2) { // Read the next ushort in big endian then add it to the checksum. uint word = (uint)(((uint)RawData[i] << 8) + RawData[i + 1]); checksum += word; } ChecksumA = (ushort)checksum; ChecksumB = (ushort)(0xF004 - (ushort)checksum); Actual Data Structure: Size: 0x2BEA0 0x04 - u32 CurrentBox in little endian. (The last box the player was viewing before saving) 0x08 - Start of Pokemon Boxes, Each Pokemon is listed every 84 bytes until the last Pokemon in box 25 0x1EC38 - Start of box names, each is spaced 9 bytes appart and uses Gen 3 GBA Character Encoding and is 9 bytes in length. A name starting in 0 or 255 is empty and the default name for that box should be used. 0x1ED19 - Start of box wallpapers. Each wallpaper is 1 byte in length. Each wallpaper's id corresponds to its order in the menu. GBA Pokemon Character Encoding First load each block then order them from lowest to highest block id. Then dump each block's actual data into a single array and use that as the save file containing your data. Pokemon Data Structure: Size: 0x54 (84 bytes) 0x00-0x4F - Gen 3 GBA PKM Data 0x50 - u16 Trainer ID of sender in little endian 0x52 - u16 Secret ID of sender in little endian GBA PKM Data Structure Saving Pokemon Box: Saving is pretty straight forwards assuming you're reading the file correctly. You don't need to increment the save count or anything and you only need to update the most recent save slot. Keeping the order the blocks were in works when saving the game and loading it on Pokemon Box. I haven't had anyone test it with sorting the blocks.
  11. Nah when I say anything GameCube I usually refer to Colosseum and for the context of Trigger's PC. AND GOOD NEW EVERYONE! I found ALL of your Pokemon's Personalities all in order, 4 times in the entire size of the file, which of course would be mathematically impossible otherwise. Turns out Pokemon Box ISN'T encrypted, at least in the normal sense. I managed to find it in Little Endian instead of Big Endian which I tried last night and I turned off the decryption code I was testing from Colosseum. Edit 2: Better news. Pokemon are stored in the standard gen 3 pkm format that's used for all GBA games! Try just deleting your settings file. That should fix that issue whenever it comes up. And I'll make a fix for it. Also checkout the Pokedex tab. I think you'll like that I implemented Living Pokedex features and I'll probably implement Living Move Dex features if that's a thing too. Also the Oak's Opinion has "Living Pokedex" response assuming that's the case. I assume you have to have all Unown forms so that's required for the rating. I'm gonna look through your Pokemon Box save and record the information of various Pokemon and then see if I can track them down in the save. Edit 3: Apprently you need a GBA game connected just to browse. Well that's never gonna happen on Dolphin. Hey HaxAras I have another request... I'll need a screenshot of every box and I'll need some information about select pokemon in each box recorded. For example: Species, Nickname (If applicable), Level, And Moves (in order, left to right, top to bottom). That information should be enough to spot each pokemon and determine the box structure. Also the screenshot you posted earlier of what was in your box was either out of date or more up to date than in the save, I spotted a Lv100 Snorlax with tackle, a couple ghastly, and ALOT of Metagross in English and Japanese. Edit 4: Actually I could have been looking through one of the previous saves. So that may be why. Since I found your Pokemon's PID's 3 times I'm assuming there's 3 save slots. (The file structure works like this. Every time a new save is made the save slot with the lowest save count is overwritten) Edit 5: Can I ask you if you have a pair of clones of your Contest Pokemon in your Pokemon Box save? If so that would explain a lot and it would mean there's only 2 save slots which would help tremendously. Edit 6: I'VE DONE IT! I CAN READ EVERY POKEMON IN POKEMON BOX! Apparently the entire structure is EXTREMELY similar to how the GBA Pokemon save files are structured.
  12. That's expected. When pokemon don't have a nickname their nickname variable is physically stored as their species name. I just forgot to increment that. The exception in the Spoiler earlier. Did that happen on startup? If so I know why. And the Pokemon that became eggs? What game was this in? Also bad news. Looks like the encryption's not the same And it is encrypted. So I'm not sure if there's anything I can phsycally do to read Pokemon Box. I really gotta praise the guy who made PkmGCSaveEditor since I don't think there's ANY save documentation anywhere on the GameCube game save formats.
  13. I'll have to look into that. At the moment I'm attempting Pokemon Box. I'm really crossing my fingers that the encryption is the same since it was released a few months apart from Colosseum but I'm not too hopeful since it wasn't developed by the same company. I shall post my results later.
  14. Support is here! Rejoice! And I've fixed all the bugs (I think) from yesterday's release.
  15. Hey thanks for such an awesome program. I want to let you know that I created a program based off of yours for legit play. I used some of your source since I had trouble reading the save format earlier on and I implemented some of your nice looking UI features. I also want to let you know that one of your GAEM orderings is incorrect and it's causing certain Pokemon to be corrupted on encryption.
  16. Thanks I try. This is officially my favorite project I've ever worked on. I keep adding features because I don't ever want it to end. (That and support is still a must).
  17. Yup. The EasyChat system used for mail apparently has the exact same codes basically translated no matter what language. I'll probably add a setting for mail stored on Trigger's PC to read it in Japanese. As for actually writing the messages in Japanese. I could attempt doing the same method for the English EasyChat messages which was a text dump of a certain region of the file. But I'd need to know the translation for the first word in the location where EasyChat is stored so I can find it. The other setback is I don't have any way to read all the Pokemon and Move names without excessive data entry. I'll try seeing if their stored consistantly in the file as well.
  18. Doesn't look like I even have the option to delete posts on my own thread. No worries though everyone makes mistakes. Also I didn't realize you were using the Japanese mail. That will add an extra layer of challenge to the mix. But I guess I can try and support Japanese mail as well.
  19. Problem fixed and will be patched in the next update. At the moment it's caused by not having any games added so just add a game to get around it for now. Also HaxAras I have a request. I'm doing the mailbox now and I'd like to have your saves with the in game mail in it. I want to figure out if I can determine what some unknown values in the mail structure mean.
  20. The newest version has Error Exception reporting. A message box should pop up now when an error occurs. Post the information it contains here.
  21. At what point does it crash? When you click the Item Evolve Button or after selecting the item, or some time during the evolution scene? Also may I ask what version of Windows you're using?
  22. Ah I see. And I was more hoping for your save files again so I could figure out the cause of the problem. As for the Spanish save I don't need it anymore. I fixed the issue. I'm actually not sure about mailbox support. I don't know anything about the mail location in the save files so I wont be able to get them off of the save. What's even worse is if you trade your mail away from your save to Your PC you may lose the contents forever. :\ I'll have to do some testing. Progress Update: I'm making progress on figuring out how mail is structured. Sending them to other games shouldn't be too hard but reading them in the program will be a little different since I need to know what each word's code is.
  23. Found the problem with that. GBA Pokemon were reading 6 bits instead of 7.
  24. Send me your a screencap of your tool directory and send me your gen 3 Manager files again. Also good news! Multi selecting and moving is coming in the next update! Edit: Also if something causes a crash on startup it would be helpful to try removing the tool's PC files temporarily. If that fixes it then try temporarily removing your tools saves from Settings.xml. Now if that fixes it it's crashing when trying to read a save and not the tool's data. Edit 2 - Electric Boogaloo: Aras could I also get your Spanish Colosseum save? I think the language index for Spanish GameCube games is wrong but I don't know what value it actually is. Edit 3: Nevermind about edit 2. I figured out the language index issue.
  25. 6) I'm not too concerned about that. It still wouldn't obey. The people who would do that are the people who would most likely use actual cheating tools instead. It's totally possible to cheat with this tool since you can mess around with the saves from the file system. 8) Yes you can evolve any pokemon that requires a stone or trade (with or without an item). Just go to the settings tab in the pokemon viewer and click "Item Evolve".
×
×
  • Create New...