# JG2 Retro - Plataforma de Jogos Retrô

## O que há de novo nesta versão

### 1. Jogos rodando direto no site do cliente
A página `cliente/jogar.php` agora usa o **EmulatorJS** (emulador JavaScript que roda no navegador). O cliente clica em **▶️ Jogar** e o jogo abre na hora, sem instalar nada.

Consoles suportados no navegador:
- **NES** (Nintendo / NES)
- **SNES** (Super Nintendo)
- **Mega Drive** (Genesis)
- **Master System**
- **Arcade** (ROMs em .zip compatíveis com MAME 2003)
- **Game Boy / GBC / GBA**

Controles incluídos: save/load de estado, fullscreen, controles na tela (mobile), gamepad, mutar e screenshot.

### 2. Upload de ROMs com nome e capa automáticos
No admin (`admin/jogos.php`), ao selecionar o arquivo da ROM:
- O **nome é sugerido automaticamente** a partir do nome do arquivo (limpa extensões, códigos como (USA), [h1], etc.) — basta confirmar ou editar.
- O **console é detectado automaticamente** pela extensão do arquivo (.nes, .smc, .gen, etc.).
- Se não enviar uma capa personalizada, o jogo recebe uma **capa padrão do console** gerada automaticamente.
- Campo opcional para enviar **capa personalizada** (imagem .jpg/.png/.webp) com pré-visualização.
- Novas visualizações em **tabela** e **grid de capas**.

## Instalação

1. Envie a pasta `jg2retro` para a hospedagem (cPanel, etc.).
2. Aponte o domínio/subdomínio do admin para a pasta `admin/` e o do cliente para `cliente/`.
3. Confira as permissões das pastas `dados/` e `dados/uploads/`, `dados/capas/` (leitura e escrita, chmod 755 ou 775).
4. A extensão GD do PHP precisa estar ativa na hospedagem (a maioria já tem; usada para gerar as capas padrão).
5. O **EmulatorJS é hospedado localmente** também em `cliente/emulatorjs/`. Isso é importante quando o site dos clientes usa um domínio/subdomínio separado, pois o navegador não consegue carregar `/admin/emulatorjs/` a partir do domínio do cliente.

## Estrutura

```
jg2retro/
├── admin/            Painel do administrador
│   ├── jogos.php     Gerenciar jogos (upload com nome/capa automáticos)
│   ├── clientes.php  Gerenciar clientes
│   ├── capas/        Capas padrão geradas por console
│   ├── emulatorjs/   Emulador EmulatorJS hospedado localmente (não remover)
│   └── css/estilo.css
├── cliente/          Área do cliente
│   ├── index.php     Biblioteca de jogos (com capas)
│   ├── jogar.php     Emulador no navegador
│   └── rom.php       Entrega segura da ROM ao emulador
├── dados/
│   ├── admin.json    Usuário/senha do admin
│   ├── clientes.json Clientes
│   ├── jogos.json    Lista de jogos
│   ├── uploads/      ROMs enviadas
│   └── capas/        Capas personalizadas
└── LEIA-ME.md
```

## Observações

- ROMs de **Arcade** precisam ser do formato compatível com MAME 2003 (.zip com ROMs não-bios).
- O login do admin padrão é usuário `admin` / senha `2026` (altere em `dados/admin.json`).
- O emulador funciona melhor em navegadores Chrome, Edge, Firefox e Safari atualizados.
