gundambot Posted November 16, 2012 Posted November 16, 2012 Hi, Problem and how it happened: When a black2/white2 savefile is opened with pokesav BW, inside the 'Money' input box, there is now a 10-digit number. That number stays the same for a particular savefile, regardless of how far you progress in the game. I'm guessing that, at the same savefile location where 'Money' used to be logged in Black/White1, there is now some kind of 'constant' or ID that's generated when you start the game. When that black2/white2 savefile is saved using pokesav BW however, that 10-digit number will be overwritten as 9999999. (as the maximum currency obtainable in the game, governed by pokesavBW's mechanic). What went wrong: When I used that savefile back in my black2/white2 game. I was unable to access the Join Avenue. Each time entering the Join Avenue from either side will result in a black screen, with BGM still playing. And when I do enter the Join Avenue (using emulator), a 'fan visitor' with a trophy sprite which you cannot interact with appears inside. as seen in this video http://www.youtube.com/watch?v=MIMLMONRAnc Rendering Join Avenue unaccessible on cartridge and buggy on emulator. I guess, that 10-digit number at the same location where Money used to be in the savefile for BW1, is now some kind of 'ID', related to the Join Avenue. Perhaps have to do with how Join Avenue generate unique visitors for this ID. Perhaps has to follow a certain algorithm by the game (similar to friendcodes). If this constant is tempered with, an error will occur with Join Avenue (and perhaps other game functions). Could Pokegen possibly be introduced a feature to edit/restore this 10-digit 'Join Avenue ID'? in the future? (as pokesav bw is unable to correct it by nature) I just wanted to bring this issue that I had to the dev's attention and hopefully get a response. Please ask me for any clarification.
Codr Posted November 16, 2012 Posted November 16, 2012 I can't give you an answer at the moment, nor can I provide any information on the problem.
gundambot Posted November 16, 2012 Author Posted November 16, 2012 thanks for the response Codr. I'd really appreciate it if you are able to look into it, sometime.
Codr Posted November 16, 2012 Posted November 16, 2012 The only way I'll look into it is if it turns out to be something relevant to new additions to PokeGen. I've got too much to do to spend time fixing unrelated problems with that program that I can't stand to begin with.
Kaphotics Posted November 17, 2012 Posted November 17, 2012 (edited) I'm sort of experienced with Join Avenue editing, so I think I can help clarify: black2/white2 savefile is opened with pokesav BW, inside the 'Money' input box, there is now a 10-digit number The offsets of BW2 save files are different compared to BW. Pokesav is reading from the BW location, which is not the BW2 location. Hence an improper number. Pokesav is reading from 0x21200. As for the Join avenue, that's not the memory block where Join Avenue is at. (I have no idea what the purpose of 0x21200 is). The trophy sprite appearing can be caused by an improper visitor that either was generated (an AR code might have interfered). The trophy is a possible overworld prite for a visitor (albeit not legally). You should try removing all visitors from your Join Avenue (both 0xC4 and 0x60 sizes) and then have PokeGen correct the checksum. Here's a thread where you can get more info on what exists where in the Join Avenue block. You're going to want to zero out 0x23C08-0x24227 and 0x2422C-0x246AB. For the record, on my personal save file, @ 0x21200 is [REDACTED]; Pokesav only reads the first 4 bytes. Edited November 20, 2012 by Kaphotics
gundambot Posted November 19, 2012 Author Posted November 19, 2012 thanks for the reply Kaphotics. Those hints are very helpful. I did manage to find and edit the value @ 0x21200. (Although just like you said, I'm not sure what that does or whether fixing it did anything) As for the Join avenue, I found out that I (somehow) had corrupted Visitor slots 4 and 5. (0x23E54 - ) Also value of "7d 39" @ 243E2 (between NPC 4 & 5) screenshot Causing that 'trophy' to appear, even after I've removed all the other visible characters (in game, via emulator). I zero'ed out those visitor blocks. But when I open & saved with Pokegen, those values come right back.... When I load the game directly after zeroing out those values (without saving with Pokegen), the 'trophy' shows up in game again. And the value in those blocks come back after saving. I guess either the game and Pokegen must be 'fixing' the zeros automatically by pulling the back up data from the other half of the save. It finally worked when I searched and also zeroed out those blocks from the 2nd half of the save (@0x49Exx~ish can't remember the exact offsets) The 'trophy' visitor doesn't appear anymore and I can go into Join Avenue ok using the savefile on cartridge. I'm just testing now to see if there's anything else amiss. Thanks very much for the help. I would've had no idea where to find the offsets myself.
Kaphotics Posted November 19, 2012 Posted November 19, 2012 It appears as if PokeGen was mistaking your save file to be a Black/White (1) game rather than B2W2; or more likely that you accidentally saved with PokeSAV. That exact location is a checksum for BW's save file. Good to know that purging the backup portion fixed the problem!
gundambot Posted November 19, 2012 Author Posted November 19, 2012 That must've been what went wrong in the first place. I saved the B2W2 file with pokesav. And that bw checksum @ 0x243E2 solely caused the 'trophy npc' to appear rendering Join Avenue buggy. I'll try removing those two bytes only and see if it will work. Thanks again for the help. The other problem with the B2W2 file being saved with Pokesav, as I mentioned in the first post, was the value @ 0x21200 being overwritten (since Pokesav treats it as 'money'). Which I originally thought was the problem crashing Join Avenue. As the purpose at that offset its unknown, I'm afraid it could still become problematic in the future. I've restarted the game several times and saved when first possible; and the value @ 0x21200 changes each time and stays the same for the savefile. I'm still guessing it's some kind of constant that behaves like an 'ID'. (which is not saying much...sorry..)
Kyogre1 Posted November 19, 2012 Posted November 19, 2012 The other problem with the B2W2 file being saved with Pokesav, as I mentioned in the first post, was the value @ 0x21200 being overwritten (since Pokesav treats it as 'money'). Which I originally thought was the problem crashing Join Avenue.As the purpose at that offset its unknown, I'm afraid it could still become problematic in the future. What are you talking about? Unknown? I already replied that this offset is related to Entralink.
gundambot Posted November 19, 2012 Author Posted November 19, 2012 sorry Kyogre1 forgot about your post... =/ could you tell me what part of Entralink does it affect and how does it affect it? Thanks
Kyogre1 Posted November 19, 2012 Posted November 19, 2012 First 12 bytes of that Entralink area are unknown values to me. After that, we have the Black and White Level of the Entralink tree, etc. Though, the first 6 bytes never change. They are being set at the beginning of your adventure and will always stay the same.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now