Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
Saves, cheats, temas e jogos em um só lugar — interface amigável no Nintendo Switch, com backup de save na nuvem gratuito.
Translation pending
GamesC · C++GitHub @luizfbalvesOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Loading the full README. The saved excerpt is shown below.
Hub de homebrew para Nintendo Switch — um app com interface moderna que reúne, em um só lugar, trapaças (cheats), mods, temas e backups de saves na nuvem dos seus jogos. UI bonita e bilíngue (PT-BR / EN), pensada para toque e controle. Cada recurso usa a melhor fonte open-source disponível: cheats vêm da switch-cheats-db (aplicados pelo Atmosphère no boot), mods vêm do GameBanana e temas vêm do Themezer. Os backups de saves sincronizam com a API na nuvem do próprio projeto.Read the full README ↗
🌐 Site: luizfbalves.github.io/thomaz
Hub de homebrew para Nintendo Switch — um app com interface moderna que reúne, em um só lugar, trapaças (cheats), mods, temas e backups de saves na nuvem dos seus jogos. UI bonita e bilíngue (PT-BR / EN), pensada para toque e controle.
Cada recurso usa a melhor fonte open-source disponível: cheats vêm da switch-cheats-db (aplicados pelo Atmosphère no boot), mods vêm do GameBanana e temas vêm do Themezer. Os backups de saves sincronizam com a API na nuvem do próprio projeto.
⚠️ Status: em desenvolvimento. O app compila e roda na Switch, com lógica testada, mas o fluxo completo ainda não foi validado 100% em hardware real. Use por sua conta e risco.
build_id da versão instalada, lista cada um como um toggle e salva os ativados na SD (aplicados pelo Atmosphère no próximo boot).prod.keys.thomaz.nro na página de Releases./switch/ do cartão SD:
sd:/switch/thomaz.nro
Atualizações futuras podem ser feitas pelo próprio app, em Configurações → Buscar atualizações (ele baixa o
.nromais recente e substitui o atual; basta reiniciar).
A home é um hub: cada card leva a um recurso. Abaixo, o fluxo de cada um.
Para remover cheats: home → Trapaças → Limpar trapaças → marque os jogos → Limpar selecionados.
sd:/atmosphere/contents/<TITLE_ID>/cheats/<BUILD_ID>.txt
Esse é o caminho padrão que o Atmosphère lê. Se um jogo não tem cheats para a versão exata instalada, o thomaz usa os da versão anterior mais próxima (e avisa na tela).
Home → Mods → escolha um jogo → navegue pelos mods do GameBanana e instale; o thomaz baixa e extrai o pacote para você.
Home → Temas → navegue pelos temas do Themezer e aplique direto no console (a extração dos layouts do firmware acontece on-device, sem prod.keys).
Home → Saves (requer login) → faça backup dos saves locais e sincronize com a nuvem.
O projeto usa CMake + o fork mantido do Borealis (UI) sobre libnx/devkitPro.
A forma recomendada é o script scripts/build-switch.sh. Por padrão ele compila dentro da imagem oficial devkitpro/devkita64 (o mesmo caminho do CI via GitHub Actions — só precisa de Docker, nenhum dkp-pacman). Se você já tem o devkitPro instalado localmente, defina DEVKITPRO e ele compila nativo, sem Docker.
git clone --recursive https://github.com/luizfbalves/thomaz.git
cd thomaz
./scripts/build-switch.sh # via Docker (devkitpro/devkita64)
# ou, com devkitPro local:
DEVKITPRO=/opt/devkitpro ./scripts/build-switch.sh # build nativo
Saída: build_switch/thomaz.nro. (Pela CI, baixe o artefato thomaz-nro da execução.)
Instalar a partir do build: copie build_switch/thomaz.nro para o cartão SD em /switch/thomaz.nro, ou envie direto para o hbmenu de um Switch em CFW com nxlink build_switch/thomaz.nro.
O milestone Switch-only se verifica por dois gates, ambos de um único alvo:
make -C tests test # 1. doctest no host — lógica pura (compila o test double saves/fake_cloud_save_client.*)
./scripts/build-switch.sh # 2. build da Switch — produz build_switch/thomaz.nro
Os dois verdes juntos são o fluxo de verificação do projeto (não há mais smoke run de desktop).
A API HTTP (Fastify + PostgreSQL) fica em api/ e cuida de autenticação e dos saves na nuvem. Requer Docker para o banco:
cd api
docker compose up -d
cp .env.example .env
npm install
npx prisma migrate deploy
npm run dev
Detalhes em api/README.md. Contrato REST: docs/superpowers/specs/2026-06-03-thomaz-api.md.
source/
├── core/ # lógica pura, testável, por recurso:
│ # cheat_* (parse, build_id, índice), mods/ (gamebanana),
│ # themes/ (themezer), saves/ (sync) + update
├── platform/ # libnx/IO: listagem de títulos, HTTP/curl, gravação na SD,
│ # settings, self-update, mods/ (extração libarchive),
│ # themes/ (hactool/exelix + extração de firmware),
│ # saves/ (backup + cliente da nuvem)
└── app/ # telas Borealis: home (hub), cheats, mods, temas, saves,
# configurações, boot/login
api/ # backend Fastify (auth + saves na nuvem)
resources/ # i18n (pt-BR/en-US completos) + XML das telas + ícone
tests/ # suíte host (doctest)
docs/ # specs de design e planos das fases
cacert.pem embarcadoCloudStatus para pular uploads desnecessáriosInspirado por ferramentas como EdiZon-SE, Breeze e AIO-switch-updater — com o objetivo de uma interface mais moderna e amigável.
thomaz é uma ferramenta para uso pessoal em jogos que você possui. Cheats e mods podem causar comportamento inesperado; nunca use trapaças em jogos online, sob risco de banimento. Use por sua conta e risco.
Distribuído sob a GNU GPL v2 — veja LICENSE e
THIRD_PARTY.md. Este projeto era MIT até a v0.4; passou a
GPLv2 ao incorporar a engine de temas do
exelix11/SwitchThemeInjector.