<?php
/**
 * Gera imagens de capa padrão por console (usadas quando o admin não envia capa).
 * Executar uma vez para criar as PNGs em admin/capas/.
 */
function gerarCapa($arquivo, $cor1, $cor2, $icone, $nomeConsole) {
    $w = 400; $h = 600;
    $img = imagecreatetruecolor($w, $h);

    // Gradiente vertical
    $c1 = hex2rgb($cor1);
    $c2 = hex2rgb($cor2);
    for ($y = 0; $y < $h; $y++) {
        $t = $y / $h;
        $r = round($c1[0] + ($c2[0] - $c1[0]) * $t);
        $g = round($c1[1] + ($c2[1] - $c1[1]) * $t);
        $b = round($c1[2] + ($c2[2] - $c1[2]) * $t);
        $cor = imagecolorallocate($img, $r, $g, $b);
        imageline($img, 0, $y, $w, $y, $cor);
        imagecolordeallocate($img, $cor);
    }

    $branco = imagecolorallocate($img, 255, 255, 255);
    // Círculo central
    imagefilledellipse($img, $w/2, $h/2 - 60, 220, 220, imagecolorallocatealpha($img, 255,255,255,150));

    // Texto do console
    $fonte = 4; // fonte built-in, tamanho pequeno -> desenhar texto via GD não suporta tamanho grande nativo;
    // Usamos imagemstringt up - mas para qualidade, melhor usar imagem de texto simples
    // Fallback: escreve texto branco
    imagestring($img, 5, $w/2 - 90, $h/2 - 40, $nomeConsole, $branco);

    imagepng($img, $arquivo);
    imagedestroy($img);
    echo "Gerado: $arquivo\n";
}

function hex2rgb($hex) {
    $hex = ltrim($hex, '#');
    return [hexdec(substr($hex,0,2)), hexdec(substr($hex,2,2)), hexdec(substr($hex,4,2))];
}

gerarCapa(__DIR__ . '/capas/nes.png', '1a3a5c', 'b0c4de', 'NES', 'NES');
gerarCapa(__DIR__ . '/capas/snes.png', '4a0080', '9b59b6', 'SNES', 'SNES');
gerarCapa(__DIR__ . '/capas/mega.png', '0a0a2a', '1a3a5c', 'MD', 'Mega Drive');
gerarCapa(__DIR__ . '/capas/mastersystem.png', '1a5c2e', '5cb85c', 'SMS', 'Master System');
gerarCapa(__DIR__ . '/capas/arcade.png', '8b0000', 'cc3333', 'ARC', 'Arcade');
