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
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
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.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.