Blue Stinger Builder
====================

O que e
-------
O Builder transforma a SUA imagem CDI do Blue Stinger (Dreamcast, NTSC-U T13001N V1.000)
num jogo nativo para Windows x64: recompila o codigo SH-4 do jogo para C++, compila esse
C++ junto com o runtime aqui, no seu computador, e prepara os dados do disco num formato
proprio. Depois da conversao, o jogo NAO precisa mais do CDI (nem de emulador): a pasta
gerada pode ser movida e o CDI guardado.

Esta pasta NAO contem dados nem codigo do jogo: so o Builder e o codigo-fonte do runtime
(licenca MIT) e do SDL3 (licenca zlib). O jogo gerado (executavel e pasta data\) e derivado
da sua copia: use-o so localmente e nao o publique. Se o VERSAO.txt citar "legendas locais",
esta distribuicao leva legendas transcritas das falas do jogo e tambem e so para uso local.

Requisitos
----------
- Windows 10 ou 11, x64.
- "Build Tools para Visual Studio" (gratuito) com a carga de trabalho
  "Desenvolvimento para desktop com C++" (inclui o compilador MSVC x64, o SDK do Windows e
  as ferramentas CMake do C++). Download: https://visualstudio.microsoft.com/downloads/
  (secao "Ferramentas para Visual Studio"). Um Visual Studio 2022 ou mais novo com essa
  carga de trabalho tambem serve.
- A imagem CDI do Blue Stinger NTSC-U (V1.000). Outras versoes sao recusadas.
- Cerca de 1,2 GB livres (dados do jogo, jogo compilado e cache de compilacao).

Como usar
---------
1. Abra BlueStinger-Recompiler.exe (portugues ou ingles, na lista "Idioma").
2. Escolha a imagem .cdi e a pasta de instalacao. "Modo portatil" (desmarcado por padrao) guarda
   as partidas na pasta saves da instalacao em vez de Documentos\DC-Recomp\Blue Stinger\saves;
   trocar o modo nao move as partidas existentes.
3. Clique em "Recompilar". A primeira conversao leva alguns minutos; as
   seguintes reaproveitam o que ja foi feito.
4. No fim, "Jogar" inicia o jogo e "Abrir pasta" mostra a pasta BlueStinger.

O que o Builder faz: confere a imagem (hash do executavel do jogo), prepara os dados do
disco em BlueStinger\data (conferidos setor a setor com a imagem), analisa e gera o C++,
compila com o seu Visual Studio, monta o pacote numa pasta temporaria, testa o executavel
SEM o CDI (dados e boot curto) e so entao troca a versao instalada. Se qualquer etapa falhar
ou for cancelada, a versao anterior continua intacta. A versao anterior fica guardada em
BlueStinger.anterior (para voltar, renomeie as pastas).

Legendas (mods padrao)
----------------------
Os pacotes de kit\mods-padrao (quando presentes) vao para toda instalacao: BlueStinger\mods\<pacote>
(falas do gameplay) e mods\video (filmes). Na distribuicao local de testes: legendas-en (transcricao
automatica com revisao de texto por IA) e legendas-pt-br (traducao por IA), nenhuma revisada por
humanos. O idioma inicial e o portugues do Brasil quando o pacote existe (senao ingles); troca no
menu do jogo (Esc, Legendas, Idioma: Portugues (Brasil), English ou Desativadas).

Projeto C++ editavel e mods (BlueStinger-Developer.exe)
-------------------------------------------------------
- "Exportar tambem o projeto C++ editavel": cria <saida>\projeto com o C++ gerado, o
  runtime, o mapa de funcoes (endereco SH-4 -> funcao C++), a pasta mods\ e a documentacao
  (LEIA-ME-PROJETO.md). E privado: nao publique.
- "Compilar a partir do projeto editavel": compila o projeto (com os seus mods em C++ e os
  arquivos de mods\assets) pelo mesmo fluxo verificado. Nao precisa do CDI se os dados ja
  foram preparados naquela pasta de saida.

Pastas
------
<saida>\BlueStinger\            o jogo: BlueStinger.exe, data\ (dados do disco), mods\
<saida>\BlueStinger.anterior\   a versao anterior (rollback)
<saida>\projeto\                projeto C++ editavel (se pedido)
<saida>\.bs-build\              trabalho, dados preparados e builder.log
%LOCALAPPDATA%\BlueStingerRecomp\build\<codigo>\   cache de compilacao (pode ser apagado)
Arquivos seus dentro de <saida>\BlueStinger (log, saves) sao mantidos quando o jogo e
recompilado.

Linha de comando
----------------
  bs-builder.exe --disc "D:\Jogos\Blue Stinger.cdi" --out "D:\Jogos\BS" [--projeto "D:\Jogos\BS\projeto"]
  bs-builder.exe --de-projeto "D:\Jogos\BS\projeto" --out "D:\Jogos\BS"
Codigo de saida: 0 = sucesso; 1 = falha; 3 = cancelado. BS_BUILDER_VERBOSE=1 mostra tudo.

Problemas comuns
----------------
- "Visual Studio / Build Tools nao encontrado": instale os Build Tools como acima.
- "sem permissao de gravacao": escolha uma pasta sua (por exemplo em Documentos).
- "caminho longo demais": escolha uma pasta de saida mais curta (ex.: C:\Jogos\BS).
- "O jogo esta aberto?": feche o BlueStinger.exe antes de recompilar.
- Antivirus: alguns analisam cada arquivo compilado e deixam a compilacao bem mais lenta.

A versao e a data desta distribuicao estao em VERSAO.txt.
