Retroarch: Achievement List missing issue in latest nightly

Created on 26 Nov 2016  Â·  22Comments  Â·  Source: libretro/RetroArch

achievement list not working in latest nightly, older builds works
achievement issue

minor

All 22 comments

Confirmed
@leiradel any ideas?

thanks. can't wait for the commit. also a related issue, can i confirm if Contra(Japan) supported in achievements? cant seem to load the rom when achievements are ON. Contra(USA)works. hangs on "CHEEVOS testing NES (discards VROM)" rom is a verified NoIntro rom.

@retro-wertz http://retroachievements.org/gameList.php?c=7

I think the achievements might be broken in Contra (Japan) as I think I finished the Jungle (first level) and got inside... I saw something of a notification, but couldn't make out what it was... It went away pretty too fast.

I think we should add a black background for notification just like consoles did... because of where I was in the game (ground covered with yellow rocks blended in with the yellow notification), I am not able to verify if the notification was displayed long enough to read or if the notification went away pretty too fast after displaying (as I think it is the latter at the moment). I'm also not seeing anything on Achievements site for my first level achievement.

@retro-wertz There was a bug that could cause RetroArch to hang while testing ROMs, but that has already been solved: https://github.com/leiradel/RetroArch/commit/38e201ba2d0a78ebc62d73289f5a5ffda99683f5

Contra (Japan) is failing to load with QuickNES for me though, RetroArch just exits. I'm running from the command line, and there's this message:

RetroArch [ERROR] :: Failed to load content.

It doesn't seem to be related to achievements.

@meleu Could you try and see if cheevos are working for this game?

I'll run some tests soon. But I know that the Japanese version of Contra doesn't have cheevos.

@leiradel can you send the japanese version to my email?

Not getting an achievement for beating first level. Contra (USA) on QuickNES. 1min ago.

@leiradel here is my report:

  • I have just updated from source RetroArch, QuickNES and FCEUmm.

  • I went to my settings in retroachievements.org and deleted two of my already awarded cheevos for Contra (USA): use Konami Code, and Beat Level 1.

  • Tested those two cheevos with fceumm, everything was fine.

  • Deleted those cheevos again.

  • Tested those two cheevos with quicknes, everything was fine.

  • Tested Contra (Japan) with fceumm and cheevos OFF: the game runs fine.

  • Tested Contra (Japan) with quicknes and cheevos OFF: RetroArch [ERROR] :: Failed to load content.

  • Tested Contra (Japan) with fceumm and cheevos ON: RetroArch stucks in RetroArch [INFO] :: CHEEVOS testing NES (discards VROM). and I noticed an intense activity on CPU. I ran htop and retroarch was eating 100% of my CPU! Stopped retroarch with ctrl+c.

  • Tested Contra (Japan) with quicknes and cheevos ON: RetroArch [ERROR] :: Failed to load content. (very predictable).

EDIT: I've reported the QuickNES unable to load Contra (Japan) issue in its own issue tracker.

Thanks a bunch, @meleu

I'll check the issuw with the Japanese version and FCEUmm.

achievements
thanks for the update. seems to have worked. but dont know if its retroarchievement,org issue or RA but Mike Tyson's Punchout(Japan, Japan A, Gold, USA, USA-A) does not register achievements anymore-and is seen in my retroachievement as "Power Punch II". i can play the game but no achievements are registering-like defeating Glass Joe, but when you exit, RA crashes. Contra(USA)(was trying to get stage 2 no press down/up on waterfall and others) does not also register new achievements. i reset all my achievements from retroachievement Contra(USA) now works but Mike Tyson's Punchout is now behaving like the issue with Contra(Japan) wherein RA is stuck at "RetroArch [INFO] :: CHEEVOS Testing NES (discards VROM)" and wont play anymore unless achievements are turned off.

roms are verified NoIntro sets(or whatever NES rdb is based on since im playing from playlist. tested using latest commit and latest available nightly

UPDATE: Build 269c32a : everything seems to work now. Mike Tyson's Punchout and Punchout Mr. Dream(although no achievements to do) is now detected in activity and not crashing upon load. achievements are recorded. Contra(Japan) is working with archievements.

@retro-wertz

Contra(Japan) is working with archievements.

With "working" you mean "the game loads fine but have no cheevos", right? This ROM doesn't have cheevos for it.

i can get achievements in Contra Japan using FCEUmm, but nothing when using Nestopia with any rom. is this achievement thing has core/emulator compatibility? what i mean that it is working is that it is not getting stuck at that "CHEEVOS" thing-but i may have to retract that, since some roms when exiting will crash RA if achievement is ON

again i am not able to get achievements using Nestopia-already reset all my achievements still nothing despite seeing the achievement list when loading the rom

is this achievement thing has core/emulator compatibility?

https://github.com/libretro/RetroArch/wiki/RetroAchievements

contra japan achievements
Uploading contra2.jpg…

contra

contra2

indeed! I confirmed here too.

here contra(japan) using nestopia no achievements received.
contra-nestopia

Even a hacked japanese version with english translation is working here.

Hash from the USA version:
RetroArch [INFO] :: CHEEVOS getting game id for hash 5a5c2f4f1cafb1f55a8dc0d5ad4550e5

Hash from the Japan version:
RetroArch [INFO] :: CHEEVOS getting game id for hash a6c907ab7d6f5bd05adf282131280d41

Hash from the hacked Japanese version:
RetroArch [INFO] :: CHEEVOS getting game id for hash 308b478cee0052dba7bc1d05d6a98cb8

All three return the game id for contra:
RetroArch [INFO] :: CHEEVOS got game id 1447.

As far as I knew the cheevos are developed using a specific version of ROM. I'll see what happens with RANes.

@retro-wertz now I'm a bit confused about this issue opened here. Looks like the original problem (from the first post) were solved, right? :-)

By the way, if you find some specific game doesn't triggering cheevos on RetroArch (and triggering on the official RAchievements emulators), you can post on this issue tracker.

This issue has been fixed and I think @retro-wertz can close it now. Other problems deserve their own issues so we can better track individual problems.

I'd just like to clarify how RetroArch identifies ROMs so it's easier to everyone involved to contribute:

  • ROM identification does not depend on the core. You can load Super Mario World with the Stella (Atari 2600) core, and the ROM will be correctly identified, as long as the core doesn't fail to load a ROM that's not for it (if it does fail, RetroArch doesn't even get to the point where ROMs are identified).
  • Retro Achievements have separate emulators for each system, and each one identify the ROM with its own method. In RetroArch, we don't know which system we're emulating before the ROM is recognized, so we have to try all methods implemented by the RA emulators. This was leading to lots problems, where a ROM would be incorrectly identified as being an entirely different game, so we now look to the ROM extension to decide which methods will be tried first. The methods are:

    • SNES (8Mb padding): will be tried first if the ROM extension is one of smc, fig, sfc, gd3, gd7, dx2, bsx, swc

    • Genesis (6Mb padding): ditto, for extensions mdx, md, smd, gen, bin, cue, iso, sms, gg, sg

    • NES (discards VROM): will be tried if the previous methods (if any, since they are only applied for those extensions) fail

    • Generic (plain content): ditto

  • Note: Even though ROM identification seems to be working without issues for some time now, I expect that some problems will be introduced when/if we support other systems where ROMs have extensions equal to the above.
  • Even though a ROM is correctly identified, achievements may not work depending on the specific core used to play it. To work with achievements, a core must implement at least one of:

    • The retro_get_memory functions, which gives external access to some of its memory

    • The RETRO_ENVIRONMENT_SET_MEMORY_MAPS environment call, which has the same purpose but allows for a more complete and accurate description of the system's memory layout. This is the preferred way and will be used if both methods are implemented

  • In addition to the above, achievements may also depend on some tweaks on the RetroArch's side. Each of the Retro Achievements emulators has its own way to look into the emulated memory which doesn't necessarily map 1:1 to the address space of the system's memory layout, or to the assumptions that had to be made when using retro_get_memory functions. In this case, an exception to cheevos.c is added for the system in question, to adjust the cheevos addresses to the way they need to be. For example, last week I've added exceptions to SNES in cheevos.c and a number of SNES cores started working with cheevos, though some tests are required to validate that they're 100% compatible.

issue fixed in build b712747

Was this page helpful?
0 / 5 - 0 ratings