Project

General

Profile

Actions

Emulator Issues #7156

closed

Gecko code can not be correctly saved after download

Added by cloud.8088 over 10 years ago.

Status:
Fixed
Priority:
High
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Current
Regression:
Yes
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name?
Every game I've tested (wii games).

Game ID?
RB4E08,RT4JAF,SX4J01,SLSJ01,STGJAF,SL2J01,R4ZJ01,RPJJ99......

What's the problem? Describe what went wrong in few words.
After download Gecko codes, close the window then open it again, I've found the codes saved uncorrectly,the first code is missing. Click download codes again can add the missing code, but also can not be saved.

What did you expect to happen instead?
The codes downloaded should be saved correctly.

What steps will reproduce the problem?
1.Open dolphin -> game properties -> Gecko codes -> download codes, then click close.
2.Click Gecko codes again, watch the code current downloaded, they are not saved correctly, the first code is missing.
3.Click download codes again can add the missing code, but also can not be saved.

Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?
4.0-298 ~ 4.0-1351

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
4.0-291 is fine.

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
i5-3570, HD7870, Windows 7 x64

Are you using the 32 or the 64 bit version of Dolphin?
64bit

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
not yet

Actions #1

Updated by rachelbryk over 10 years ago

  • Status changed from New to Accepted

I have no idea how but this starts with vc12 merge.

Actions #2

Updated by MayImilae over 10 years ago

  • Milestone set to Current
  • Regression set to Yes
Actions #3

Updated by Anonymous over 10 years ago

rachelbryk Did you confirm this? I just tried with Animal Crossing Wii and Kirby Wii - it seems to work fine.

Actions #5

Updated by rachelbryk over 10 years ago

Yes i did. Download the codes, close the isoproperties window, then reopen it, and the first one is gone.

Actions #6

Updated by Anonymous over 10 years ago

It is somehow related to dolphin's locale usage being broken, à la issue 6789. Not sure if it's a dupe...

Issue repros when system is non-"en-US" locale.

Actions #7

Updated by Anonymous over 10 years ago

I don't have time to work on a fix at the moment, but a quick search turned up:
http://trac.osgeo.org/proj/ticket/226d
which leads to
http://msdn.microsoft.com/en-us/library/26c0tb7x.aspx
maybe someone could play around and fix this + the shader issue at once (before I get to it :p).

Actions #8

Updated by delroth over 10 years ago

  • Priority set to High
Actions #9

Updated by Anonymous over 10 years ago

Hm, I'm not sure it should be high priority considering I can't even repro it when I actively try to. Can someone who can repro it just fix it? :/

Actions #10

Updated by Anonymous over 10 years ago

OK, finally reproduced in a Win8 VM.
rachelbryk what version of windows do you have?
It seems to not happen on my main install (up-to-date 8.1), so I'm curious if it might actually be some Windows issue(?!)

I'll try to see where the error is happening on win8, tho...

Actions #11

Updated by Anonymous over 10 years ago

As a note, here is the beginning of the html response for xenoblade:

SX4P01
Xenoblade Chronicles

Colony 9 Level Swapper [Thomas83Lin]
C2087504 00000003
3D80xxxx 618Cxxxx
806DA828 91830E28
60000000 00000000
*Replace X's with level digit
Colony 9 Beta=30313032
Bionis Left Shoulder=30383031
Junk=32343031
Use Skip travel to Colony 9 Central Plaza to enable
(recommend not to save) while in these levels If you do just re-enable code to get out

Note that "3D80xxxx 618Cxxxx\r" is parsed by "std::istringstream >> std::hex >> " and as such is parsed incorrectly - after "x" is dropped. The record becomes [0x00003D80, 0x00000000].

Actions #12

Updated by Anonymous over 10 years ago

For the actual issue:
It looks like in GeckoCodeConfig.cpp:SaveGeckoCode, gcode.user_defined == false for the codes which mysteriously go missing. It looks like this field is not set on any of the codes which are downloaded - the other codes just happen to pass the check because there is some garbage nonzero value there. At this point I would guess the relation to locale setting is just by chance.

Actions #13

Updated by Anonymous over 10 years ago

Indeed, http://pastie.org/9004697 fixes the issue.
What should be done about the downloaded codes which cannot be automatically parsed (comment 11)?

Actions #14

Updated by delroth over 10 years ago

LGTM, looks like this is my fault when I wrote global-user-directory separation between Sys/User :(

Please make a PR and I'll click the merge button (not on my personal laptop atm).

I'd ignore these edge cases with xxxx as "not important enough to care" unless someone wants to take the time to fix it.

Actions

Also available in: Atom PDF