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=suasenhaInicie 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.cfg | O que faz |
|---|---|
global.retroachievements.hardcore | Modo hardcore, veja abaixo |
global.retroachievements.leaderboards | Envio de resultados para os placares |
global.retroachievements.richpresence | Publica no seu perfil o que você está jogando |
global.retroachievements.badges | Mostra o emblema da conquista junto com a notificação |
global.retroachievements.verbose | Mensagens extras do cliente na tela |
global.retroachievements.screenshot | Tira uma captura de tela a cada desbloqueio |
global.retroachievements.challengeindicators | Mostra um indicador enquanto um desafio está em andamento |
global.retroachievements.testunofficial | Inclui conquistas ainda não oficiais |
global.retroachievements.active | Modo encore, redispara conquistas que você já tem |
global.retroachievements.sound | Nome 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:
| Sistema | Padrão | Troque por |
|---|---|---|
| nds | DraStic | melonds, melondsds, desmume ou skyemu |
| psp | PPSSPP autônomo | não há opção libretro do PPSSPP para psp no ArchR |
| saturn | Yabasanshiro autônomo | yabasanshiro 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-infoSem 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.orgO 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.