Como Colaborar - ZeebxTeam/zeebx-emu GitHub Wiki
Dá para ajudar sem programar: testar jogos, comparar com o console real e relatar o que está diferente já é metade do trabalho. A conversa do dia a dia acontece no Discord.
Antes de abrir, procure nas issues se ele já foi relatado. Se foi, comente lá com o que você tiver de novo.
Uma boa issue diz:
- A versão do Zeebx (em Configurações › Geral › Atualizações) e qual interface: Qt, egui, Android, iOS, RetroArch ou headless
- O sistema e a máquina: Windows, Linux ou macOS, e a placa de vídeo. Num Mac, se é Intel ou chip da Apple
- O jogo e o ponto exato: "depois da fase 1-5", "ao sair da tela de título"
- O que aconteceu e o que deveria acontecer. Se você tem o console, a comparação com o aparelho de verdade vale ouro
- As configurações que fazem diferença: 3D na placa ou na CPU, resolução interna, configurações próprias do jogo
-
O log: ligue Gravar cada sessão em arquivo em Configurações › Depuração e anexe o
.logda sessão que travou - Screenshot (F9) ou vídeo, quando o problema é visual
Não anexe ROMs nem links para elas. O projeto não distribui jogos.
- Faça um fork e trabalhe numa branch a partir da
development - Abra o PR contra a
development. Amasterrecebe só os merges de release, e PRs para ela são redirecionados ou fechados - Preencha o modelo do PR: o que mudou, como foi testado e as observações
-
Leia o
AGENTS.md. Apesar do nome, ele é o guia do repositório para qualquer pessoa: onde as coisas moram, o que não pode quebrar e como o projeto escreve -
Mensagem de commit em português, numa frase declarativa que diz o que mudou e por quê, sem
prefixo do tipo
feat: - Comentário explica o porquê, não o quê
- Afirmação vem com medida. "De 296% para 391% no teste de velocidade", e não "ficou mais rápido"
-
Frontend novo entra em
frontends/<nome>/e ganha um alvo norelease.yml, para sair junto na release -
Dependência nova: confira a licença (nada GPL-2.0-only), atualize o
Cargo.locke rodepython3 ferramentas/avisos_de_terceiros.pypara regenerar oTHIRD-PARTY-NOTICES.txt, no mesmo commit - O core Libretro não liga biblioteca do sistema (janela, som, controle). O CI confere
-
Notas de versão: uma mudança que o jogador percebe ganha uma linha no rascunho da próxima
versão, em
docs/patch-notes/, escrita na linguagem de quem joga
Os workflows de build são disparados à mão (workflow_dispatch), e não a cada push, porque cada
execução tem onze jobs. Se o seu PR mexe em algo que só um deles cobre (a APK, o core num alvo
ARM, o iOS), avise no PR para alguém disparar aquele workflow.
A tag de versão (v0.0.0) é o único gatilho automático: ela monta a release como rascunho.
Os idiomas da interface são arquivos JSON em
assets/lang/. Para um
idioma novo, copie o en.json, traduza os valores e mande um PR. Para testar sem recompilar, ponha
o arquivo na pasta lang dentro da pasta de configurações do Zeebx.
O código é GPL-2.0-or-later, e os binários da release saem sob a GPLv3, porque ligam bibliotecas Apache-2.0. Ao contribuir, você concorda em licenciar o seu código nos mesmos termos.