ARCH R

RetroAchievements

Como as conquistas funcionam no ArchR e como ligar

O RetroAchievements acrescenta conquistas e placares a jogos antigos. No ArchR isso acontece inteiramente dentro do RetroArch. Não existe tela de RetroAchievements no EmulationStation, então você liga o recurso editando um arquivo de configuração por SSH.


Por que não existe menu para isso

As telas de RetroAchievements do EmulationStation (a de conta, o navegador de conquistas e a de progresso por jogo) só entram na compilação quando quem monta a imagem fornece uma chave de desenvolvedor do RetroAchievements. As imagens publicadas do ArchR são compiladas sem essa chave, então essas telas não estão no binário e as entradas de menu que as abririam nunca aparecem.

É uma decisão de compilação, não um defeito nem algo que uma configuração desfaça. E também não impede as conquistas de funcionarem, porque quem desbloqueia é o RetroArch, não o EmulationStation.


Ligando

O setsettings.sh reescreve a configuração do RetroArch antes de cada jogo, lendo de /storage/.config/system/configs/system.cfg. Qualquer coisa que você mude pelo menu do próprio RetroArch é sobrescrita na próxima vez que um jogo inicia, então o lugar de editar é o system.cfg.

Crie uma conta

De graça em retroachievements.org.

Coloque o console na rede

ES → Network Settings → Enable WiFi, depois preencha WiFi SSID e WiFi key.

Abra um shell

Por SSH, ou edite o arquivo a partir do computador por Samba.

Edite o system.cfg

Encontre estas três linhas em /storage/.config/system/configs/system.cfg e preencha:

global.retroachievements=1
global.retroachievements.username=seunome
global.retroachievements.password=suasenha

Inicie um jogo

O próximo lançamento grava cheevos_enable = "true" na configuração do RetroArch junto com suas credenciais, e o RetroArch faz login enquanto o jogo carrega.

Sua senha fica em texto puro no system.cfg, que é legível por qualquer um com acesso ao console ou ao compartilhamento Samba. Vale lembrar disso se você reaproveita senhas.


As outras opções

Cada uma destas é lida do system.cfg e copiada para a configuração do RetroArch. Use 1 para ligado e 0 para desligado.

Chave no system.cfgO que faz
global.retroachievements.hardcoreModo hardcore, veja abaixo
global.retroachievements.leaderboardsEnvio de resultados para os placares
global.retroachievements.richpresencePublica no seu perfil o que você está jogando
global.retroachievements.badgesMostra o emblema da conquista junto com a notificação
global.retroachievements.verboseMensagens extras do cliente na tela
global.retroachievements.screenshotTira uma captura de tela a cada desbloqueio
global.retroachievements.challengeindicatorsMostra um indicador enquanto um desafio está em andamento
global.retroachievements.testunofficialInclui conquistas ainda não oficiais
global.retroachievements.activeModo encore, redispara conquistas que você já tem
global.retroachievements.soundNome do arquivo de som tocado no desbloqueio

As mesmas chaves funcionam por sistema se você trocar o prefixo global. pelo nome do sistema, então snes.retroachievements=0 desliga as conquistas só no SNES.


Quais sistemas são cobertos

O lançador só habilita conquistas para as plataformas da lista dele, que cobre 63 dos sistemas que o ArchR distribui:

3do, arcade, arduboy, atari2600, atari7800, atarilynx, cdi, colecovision, cps1, cps2, cps3, dreamcast, famicom, fbn, fds, gamegear, gb, gba, gbc, genesis, intellivision, mastersystem, megacd, megadrive, megadrive-japan, msx, msx2, n64, nds, neogeo, nes, ngp, ngpc, odyssey2, pcengine, pcenginecd, pcfx, pokemini, psp, psx, saturn, sega32x, segacd, sfc, sg-1000, snes, snesmsu1, supergrafx, supervision, tg16, tg16cd, vectrex, virtualboy, wonderswan e wonderswancolor, mais as variantes de hacks (gbh, gbah, gbav, gbch, genh, ggh, nesh, snesh).

Outros dois nomes estão na lista mas não têm pasta no ArchR: neogeocd e ps2.

Qualquer coisa fora dessa lista inicia com cheevos_enable = "false".


Só núcleos libretro valem

As conquistas vêm do RetroArch. O lançador só grava a configuração de conquistas quando o emulador é o RetroArch, então os emuladores autônomos (DraStic, PPSSPP autônomo, melonDS autônomo, DuckStation autônomo, Flycast autônomo, Mupen64Plus autônomo, Yabasanshiro autônomo) nunca conversam com o RetroAchievements.

Três sistemas da lista de conquistas vêm com um emulador autônomo como padrão:

SistemaPadrãoTroque por
ndsDraSticmelonds, melondsds, desmume ou skyemu
pspPPSSPP autônomonão há opção libretro do PPSSPP para psp no ArchR
saturnYabasanshiro autônomoyabasanshiro sob o RetroArch

Para trocar, abra uma lista de jogos, aperte SELECT para as opções do sistema e escolha Advanced system options, ou defina para um jogo só pelo Advanced game options no menu daquele jogo. Todo o resto da lista de conquistas já vem com um núcleo libretro por padrão.


Modo hardcore

O hardcore é o que dá o emblema de Mastered. Com ele ligado, o RetroArch desliga o rewind, recusa aplicar cheats e desativa a câmera lenta. Você ainda pode salvar um estado, mas no momento em que carrega um, o RetroArch sai do hardcore pelo resto da sessão e avisa na tela.

A maioria das pessoas deixa o hardcore desligado no dia a dia e liga só para uma jogada que quer registrar.


Onde os desbloqueios aparecem

  • Na tela, como notificação do RetroArch no momento em que a conquista dispara.
  • No seu perfil em https://retroachievements.org/user/<seu-usuario>, que é onde ficam as listas de conquistas, os placares e os conjuntos completados.
  • Como PNG em /storage/roms/screenshots/, se você ligou a opção de captura.

Do próprio console dá para imprimir um resumo do perfil sem navegador:

archr-retroachievements-info

Sem argumento ele lê o nome de usuário do system.cfg. Passe um nome para olhar o perfil de outra pessoa. A saída é XML.


Marcando quais jogos têm conquistas

O EmulationStation ainda consegue dizer quais das suas ROMs têm conjunto de conquistas, mesmo sem o navegador de conquistas. Ele calcula o hash de cada arquivo e compara com a lista pública de hashes do RetroAchievements.

ES → System Settings → Frontend Developer Options → Find all games with netplay/achievements. Demora bastante numa biblioteca grande.

Depois disso, User Interface Settings → Show RetroAchievements icon coloca um marcador nesses jogos, e a coleção automática retroachievements, em Game Collection Settings, junta todos numa lista só. As duas coisas precisam de global.retroachievements=1, senão o ícone continua escondido.


Quando algo não funciona

Nada desbloqueia mesmo o jogo estando no RetroAchievements. O serviço identifica os jogos por hash. Uma ROM diferente do dump verificado, mesmo que só por um cabeçalho, produz outro hash e nenhuma conquista. Use dumps no-intro ou Redump.

O login falha. Confira usuário e senha no system.cfg e confira se o console alcança o site:

curl -sI https://retroachievements.org

O hardcore se desligou sozinho. Você carregou um save state. Reinicie o núcleo pelo menu rápido do RetroArch (SELECT + X) para começar uma sessão nova em hardcore.

As mudanças feitas no menu do RetroArch não ficam. Não têm como ficar. O setsettings.sh reescreve essas chaves a cada lançamento a partir do system.cfg.

On this page