Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XD: Mismatch of reroll's seed between hardware and program #5

Open
ryziken opened this issue Mar 31, 2019 · 2 comments
Open

XD: Mismatch of reroll's seed between hardware and program #5

ryziken opened this issue Mar 31, 2019 · 2 comments
Labels
bug Something isn't working questionable Indicate the validity of the issue has yet to be determined

Comments

@ryziken
Copy link

ryziken commented Mar 31, 2019

This issue is a frustrating and sneaky one. Essentially, after performing the correct number of rerolls in game and setting up the timer corrently, the Eevee frame you end up hitting... will not be found anywhere near the target frame in the program. This would lead the player to conclude they must have miscounted how many rolls they did, and while that is sometimes true, I was able to watch back the footage from my last stream and confirmed that on the FOUR occasions this issue happened, exactly ZERO of them were my fault. I did the exact number of rolls the program told me to do, and yet, the "hit Eevee" was nowhere near the "target Eevee."

By searching nearby rolls, however, I finally was able to locate the frames I hit on those four failed attempts. Here's what I found:

  1. Seed: 6516269F
    Target frame: 102 rolls
    Hit frame: 94 rolls (would've been frame perfect)

  2. Seed: 8973A8F3
    Target frame: 98 rolls
    Hit frame: 100 rolls (would've been frame perfect! Did not miscount...)

  3. Seed: 814F839F
    Target frame: 54 rolls
    Hit frame: 50 rolls (would've been 1 frame early)

  4. Seed: 6D8522C1
    Target frame: 97 rolls
    Hit frame: 93 rolls (would've been 1 frame late)

As I said, I checked the footage to be sure I did not miscount on any of these, and if need be, I can provide more info on the actual frames I was aiming for, so you can try these yourself.

Tutelarfiber has also confirmed he had this same issue happen to him. His "hit frame" was 4 rolls off of the one his "target frame" was on, but was exactly the right FRAME number (he was sad to discover this).

Tute's info:
Seed: 8766FC45
Target frame: 121 rolls
Hit frame: 117 rolls

Based on this data, it seems there is a definite problem with the way the Reroll Count is shown (or calculated?). The timing info seems correct, given that the "hit frames" were always equal or close to the "target frames", just on the wrong rolls.

@aldelaro5 aldelaro5 added bug Something isn't working questionable Indicate the validity of the issue has yet to be determined labels Mar 31, 2019
@aldelaro5 aldelaro5 changed the title Misleading "Reroll Count" information after finding seed XD: Mismatch of reroll's seed between hardware and program Mar 31, 2019
@aldelaro5
Copy link
Owner

aldelaro5 commented Mar 31, 2019

Ok so after talking with @ryziken over discord, a lot has been found about this issue and absolutely everything about it is confusing.

Let's just focus on the case number 1 mentioned in the issue: 6516269F. this has the program give the correct target on the frame number 479 after 102 rerolls. However, what was found instead is the same frame number was hit after 94 rerolls and not 102 despite the fact the program seemed to report the correct information tested with Dolphin.

Things gets much more complicated once we look at the recording of the procedure done on this case:

https://www.twitch.tv/videos/403880031

This videos first shows the seed finding procedure which went well and then a series of exactly 102 rerolls, the rerolls starts when the pacing of the cancel -> go back are getting fast. After many checks, it turns out the first 48 teams exactly matches what dolphin reports, but on the 49th one, this happens:

Screenshot from 2019-03-30 23-47-39

As you can see on the lower left, the Entei's HP stat doesn't match, but everything else is correct. This would normally point to a problem with the EV generation function, but the problem is that the behavior between hardware and Dolphin mismatch which suggest something is wrong with Dolphin, or something happened with Ryziken's game that made it skew the result a bit, it's hard to tell at this point.

I tried as suggested by @JMC47 to use the interpreter after updating my version of Dolphin to the latest master as well as many different accuracy settings and none of them made it change behavior: it was always generating 382. At this point, further hardware testing is required to know if Dolphin was wrong or some special circumstances I am not aware of happened before the procedure started.

This would be a very weird issue because as far as Dolphin is concerned, the program is reproducing everything correctly. Also, it goes without saying, but on the 50th reroll and onward, the teams are radically different which is what ultimately caused the mismatch at the end, but it's very strange why they would happen to be offset by a certain amount of reroll and be very close to the target frame.

Just in case it helps, here's what Ryziken had to say before this was recorded:

powered on the console, let it play through the pre-title screen cutscene while I set the stream up, and then just skipped to title screen and went straight to vs mode

In theory, this shouldn't change anything: no RNG calls are done on any of these events except the usual ones that happens from boot to the pokemon company logo.

The seed before the erroneous team generation is E4B74C47. Also, we know the revision of the game between me and Ryziken are the same.

@aldelaro5
Copy link
Owner

aldelaro5 commented Apr 1, 2019

Update, this is footage from my Wii as I applied a gecko code that would set the seed to E4B74C47 when pressing R:

20190401_022133

So this proves Dolphin isn't the problem, but then what is it?

....I am very confused so I'll try to modify the code to set the seed to 6516269F and do everything @ryziken claims to have done.

The code btw:

28444B2C 00000020
044E8610 XXXXXXXX

Replace the X by the desired seed. Now, the seed will be set when you press the R button so I pressed it when my cursor was on "ultimate".

EDIT: tried again, but this time, I used the seed returned by the finder and actually did the 102 rerolls while checking the 49th one. I also performed the same steps @ryziken said to have done and again, I cannot reproduce what is in the vod, I get 382 on the 49th and the last team matches what the program tells me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working questionable Indicate the validity of the issue has yet to be determined
Projects
None yet
Development

No branches or pull requests

2 participants