Blue Stinger Recompiled
Blue Stinger
OrigenDreamcast
TecnologíaRecompilación Estática (C/C++ nativo)
Disponible paraWindows
Ver proyecto oficialSobre el proyecto
Blue Stinger es un videojuego de acción y aventura de 1999 desarrollado por Climax Graphics y publicado por Sega para Dreamcast. Sigue a Eliot Ballade en una isla plagada de monstruos tras el impacto de un meteorito.
Información oficial del proyecto
Blue Stinger Recompiled
Recompilação estática (AOT) de Blue Stinger (Sega Dreamcast, 1999, SH-4) para um executável nativo de Windows x64, em C++20. O código do jogo é traduzido instrução por instrução para C++ e os subsistemas do console (arquivos, tempo, controles, saves, filmes, áudio, vídeo) são substituídos, um por vez, por implementações nativas do PC, sempre provadas contra o jogo original rodando no emulador Flycast. Não usa BIOS nem interpretador do SH-4.
Este repositório não contém o jogo nem nenhum dado dele. Você precisa fornecer a sua própria cópia do disco (CDI, NTSC-U T13001N V1.000). Ver LEGAL.md.
Status (2026-11-02)
Progresso geral: ~82 % do roteiro do port nativo (N0–N10, onze etapas de peso igual; uma etapa parcial conta pela fração concluída; em 2026-10-22 o roteiro ganhou a N9, Remasterização, e os mods passaram para a N10). O jogo roda no Windows a partir do disco do usuário, com arquivos, controles (teclado e controle Xbox), saves, filmes e áudio nativos por padrão (efeitos, falas, música Manatee e o DSP da AICA), e legendas em inglês em português do Brasil por padrão, com inglês como alternativa (pacotes gerados localmente a partir do disco do usuário e instalados pelo Builder; transcrição, tradução e revisão por IA, provisórias; o texto não vai para o repositório). O desenho é feito pelo Vulkan por padrão (N7 funcional, em fechamento técnico), com recuo automático para o renderizador em software.
| Etapa | O que é | Situação | % |
|---|---|---|---|
| M0–M4 | Extrator, decodificador SH-4, gerador de C++, runtime e primeiro executável | concluídas | — |
| N0 | Manifesto de hardware, fronteira jogo/SDK, interfaces nativas | concluída | 100 |
| N1 | Sistema de arquivos nativo | concluída | 100 |
| N2 | Tempo e eventos nativos | concluída funcionalmente (2026-10-24): U1–U8 comprovados; tempo lógico experimental promovido a padrão na janela, com --tempo nativo como recuo e o headless estável para preservar referências e gravações antigas. N2c (retirada de ciclos/INTC/BS_POLL) abre o N8 | 100 |
| N3 | Controles nativos (SDL3/XInput, remapeamento, perfis) | concluída | 100 |
| N4 | Saves nativos (VMS/arquivos, importar/exportar) | concluída | 100 |
| N5 | Filmes nativos (Media Foundation, legendas por mod) | concluída | 100 |
| N6 | Áudio nativo (efeitos, falas, música Manatee, DSP da AICA) | concluída (2026-10-23): nativo é o único áudio do produto (o legado saiu no N8.6); validação contra o original (Flycast) e gravações reais de gameplay. O H9 (tempo real sem faltas de dados) foi aprovado em 2026-10-23, mas voltou a falhar de forma intermitente no N8.8: falha aberta, não corrigida | 100 |
| N7 | Renderização Vulkan | funcional, em fechamento técnico: o Vulkan é o renderizador padrão, com recuo automático para o software (sem GPU compatível, ou se o dispositivo falhar no jogo); desenha o jogo bit a bit igual ao renderizador de referência, 3× mais rápido; resolução interna de 720p a 4K; efeitos de imagem (correção de cor, tonemapping, nitidez, bloom, CRT, shaders de mod); menu de configurações dentro do jogo (Esc ou Back do controle); legendas no gameplay e nos filmes; câmera livre no analógico direito. A falha da AMD integrada foi corrigida no N8.7, e fog por tabela e volumes modificadores estão nos dois renderizadores. Falta o quadro de fog pareado contra o Flycast e o encerramento formal. SSAO, 16:9 real e MSAA permanecem no N9 | 95 |
| N8 | Remoção da camada legada (simulação do console) | fechamento técnico em 2026-11-02, com ressalvas (detalhes): BIOS, GD-ROM, Maple, AICA, TA, VRAM e rasterizador de referência fora do produto; Vulkan e software sobre a mesma IR. O código recompilado segue usando os endereços do hardware, atendidos por serviços nativos. Abertos: campanha completa (obrigatória, depois do N9) e a falha intermitente do H9 | 95 |
| N9 | Remasterização: duas edições instaláveis do mesmo núcleo, Original (fiel ao Dreamcast) e Remastered (câmera Livre obrigatória, menus e saves de PC, legendas ligadas, widescreen, iluminação, água, texturas HD, filmes e áudio remasterizáveis, acessibilidade); instalador gráfico. Planejamento em docs/N9-PLANO.md | iniciada em 2026-11-02: N9.0 feito, o mesmo executável roda as duas edições e a Remastered exige a câmera Livre (detalhes). Próximo: suporte nativo a Linux, marco provisório N9-L, em planejamento (plano) | 8 |
| N10 | Sistema de mods (ferramentas, manifestos, pacotes de idioma, texturas, áudio, vídeo e shaders) e elevação dos sistemas do jogo para C++ editável; revisão final e distribuição | não iniciada (a arquitetura de extensão vem sendo preparada nas etapas anteriores) | 0 |
Desempenho: com o Vulkan (padrão) o gameplay leva ~7 ms por campo numa máquina de desenvolvimento (o tempo real é 16,7 ms) e o áudio costuma tocar sem faltas, mas o H9 registra uma falha intermitente em aberto; no recuo para o software (~17 ms por campo) o jogo pode ficar um pouco lento e o som pode picotar.
Detalhes e evidências de cada verificação: STATUS.md. Arquitetura: ARCHITECTURE.md. Planos por etapa em docs/.
Versão suportada
| Produto | Versão | Região | Status |
|---|---|---|---|
| T13001N | V1.000 (1999-07-05) | NTSC-U | alvo inicial |
Como usar
O Blue Stinger Builder transforma o seu disco em um BlueStinger.exe com os dados de execução ao lado (nada do
disco sai da sua máquina):
bs-builder --disc <seu_disco.cdi> --out <pasta> --kit . --sdl3 build/msvc-release/_deps/sdl3-src
BlueStinger-Recompiler.exe faz o mesmo com uma janela simples (idioma, modo portátil). Ferramentas de linha de
comando para quem desenvolve:
bs-extract <seu_disco.cdi> game-data # extrai e valida o hash
bs-recomp config/bluestinger_us.toml # gera generated/*.cpp a partir do executável do jogo
cmake --build --preset msvc-release # compila o jogo
Extrair o disco
Só imagens CDI por enquanto.
bs-extract --info "ISO/Blue Stinger.cdi" # mostra faixas, IP.BIN e hash sem gravar nada
bs-extract "ISO/Blue Stinger.cdi" game-data # extrai tudo + game-data/manifest.json
O executável 1ST_READ.BIN precisa ter o SHA-256 de uma versão suportada
(tools/extractor/known_versions.h). --force extrai mesmo sem ter, e marca o
resultado como não verificado.
Compilar
Requisitos: Visual Studio 2022+ (ou Build Tools) com CMake e Ninja, ou Clang. Abra um Developer PowerShell e rode:
cmake --preset msvc-debug
cmake --build --preset msvc-debug
ctest --preset msvc-debug
Disassembly (ferramenta de desenvolvimento):
bs-disasm game-data/1ST_READ.BIN 0x8C010000 0x8C010000 64 # base, início, quantidade
bs-disasm --stats game-data/1ST_READ.BIN
O teste real_disc usa a sua imagem se BS_DISC_IMAGE apontar para o .cdi.
Sem essa variável, ele é ignorado.
Estrutura
config/ configuração TOML por versão do jogo (só metadados e endereços)
docs/ notas de hardware e engenharia reversa
tools/ extractor/ (bs-extract), dev/ (scripts opcionais de verificação)
translator/ decoder/ (tabela SH-4 em sh4_isa.inc) e app/ (bs-recomp, bs-disasm)
runtime/ cpu/ memory/ hle/ gdrom/ pvr/ aica/ maple/ platform/ core/ game/ app/
tests/ unit/ (sem dados do jogo) e diff/ (diferencial contra o Flycast)
third_party/ dependências externas (adicionadas por marco)
Pastas locais ignoradas pelo git: ISO/, game-data/, generated/,
analysis/, saves/, build/.