v1.8.8
Uma versão focada em entrada, shaders e ergonomia da biblioteca. Entrada e Modo TV: os jogos de DOS agora podem ver seu joystick, com novas opções de configuração, melhor tratamento de portas de controle para DOSBox-Pure e melhor monitoramento de cliques de mouse. As correções de gamepad fazem com que pressionamentos consecutivos sejam registrados de forma confiável, a sobreposição da barra de ferramentas (L3+R3 / Start+Select) funciona enquanto outro app está focado, e a caixa de diálogo de Stop pode ser confirmada com o botão A no Modo TV. O Modo TV também escolhe a tela correta na primeira inicialização, e um novo aviso de tela externa passa o jogo com uma breve espera antes da troca. Shaders: parâmetros que não tinham efeito agora aparecem esmaecidos, trocar entre shaders complexos é mais rápido com um spinner em vez de um painel vazio, e presets que emulam vídeo composto/NTSC agora renderizam como deveriam. Biblioteca: capas personalizadas a partir de um arquivo local, atualização dinâmica de capas em toda a biblioteca e pinch-to-zoom com reflow de colunas ao vivo na grade.
Destaques
- Os jogos de DOS agora podem ver seu joystick: Seu controle conectado agora é visível para os jogos de DOS via DOSBox-Pure, com novas opções para escolher o preset de joystick por jogo ou sistema, um hotkey para ativá-lo e melhor tratamento de portas de controle e cliques de mouse.
- Somente os sliders de shader que funcionam são mostrados: Parâmetros de shader que não tinham efeito sobre a imagem agora aparecem esmaecidos — você só vê os sliders que realmente mudam algo.
- Troca de shaders mais rápida: Trocar entre shaders complexos não mostra mais um painel vazio de "Sem parâmetros"; os parâmetros carregam em segundo plano com um spinner.
- Renderização CRT corrigida: Presets que emulam vídeo composto/NTSC (como
ntsc-md-rainbows) agora renderizam como deveriam. - Capas personalizadas: Defina sua própria capa a partir de um arquivo local, e as capas agora são atualizadas dinamicamente em toda a biblioteca.
- Pinch to zoom na biblioteca: Zoom por pinça no trackpad com reflow de colunas ao vivo na grade da biblioteca.
- Transição para tela externa: Conecte uma tela e o TruchiEmu se oferece para mover o jogo, com uma breve espera antes da troca — e o Modo TV agora escolhe a tela correta na primeira inicialização.
- Correções de gamepad e Modo TV: Pressionamentos consecutivos de botões são registrados de forma confiável, a barra de ferramentas de gamepad (L3+R3 / Start+Select) funciona enquanto outro app está focado, e você pode confirmar a caixa de diálogo de Stop com o botão A no Modo TV.
- Polimento de hotkeys: Novo hotkey de tela cheia, dica de Escape quando o teclado está capturado, layout estável da linha de hotkeys e hotkeys do app desativados enquanto o teclado está capturado para DOS/ScummVM.
- Estabilidade: Parar um jogo não congela mais o app enquanto o iCloud sincroniza arquivos.
- Ícones na barra de menu: Os itens personalizados da barra de menu agora mostram ícones adequados em vez de texto simples.
Mudanças detalhadas
- feat: adicionar suporte a joystick para DOS e opções de configuração — enum
DOSJoystickPreset, persistência em AppSettings,DOSJoystickSettingsViewintegrada ao GameDetailView, hotkey de ativação, traduções en/es/pt/ja, suporte XPC para tipos de joystick DOS - feat: melhorar o tratamento de portas de controle para DOSBox-Pure e o monitoramento de cliques de mouse
- fix: desativar parâmetros de shader slang inertes na UI — calcular o conjunto de nomes consumidos uma vez por cadeia, marcar
ShaderUniform.disabled, cachear por caminho de preset + fingerprint de mtime - feat: implementar reflexão assíncrona de presets slang no ShaderManager e no ShaderEditorSidebar; as correções posteriores chegam nos commits seguintes
- feat: mostrar indicador de carregamento enquanto os parâmetros de shader são refletidos — estado
isReflectingParametersemShaderPresetPickerVieweShaderEditorSidebar; uma falha de reflexão não pode mais deixar o spinner girando - fix: rotear presets slang
scale_type=sourcepor um intermediário do tamanho da fonte — detecçãohasSourceSizedFinalPass,needsSourceSizedIntermediate, fixado em.bgra8Unormpara satisfazer a validação do Metal - feat: implementar tratamento de texturas fora de tela do tamanho da fonte para cadeias PassFeedback e melhorar o pipeline de renderização
- feat: apontar o submódulo slang-shaders para um fork com correções de caminhos no macOS
- feat: melhorar o ShaderEditorSidebar com ScrollViewReader para restaurar a posição de scroll
- fix: limpar o override de shader por jogo ao aceitar o shader do sistema
- feat: adicionar seletor de arquivo local para capas e atualizar traduções
- feat: integrar o BoxArtService para atualizações dinâmicas de capas nos componentes da UI
- feat: pinch-to-zoom suave com reflow de colunas ao vivo na grade da biblioteca
- feat: adicionar aviso de tela externa com pílula de aquecimento e transição do jogo
- fix: resolver a seleção de tela na inicialização a frio do Modo TV depois que a janela está aberta
- fix: limpar o estado de navegação de gamepad obsoleto quando todos os botões são soltos — redefinir o estado transitório de poll no caminho inativo para que pressionamentos repetidos produzam bordas de subida
- fix: o contexto da barra de ferramentas de gamepad supera a navegação do Modo TV para que a confirmação de Stop receba o pressionamento de A
- fix: acionar a sobreposição da barra de ferramentas de gamepad (L3+R3 / Start+Select) enquanto o app não está focado — evita o filtro de key-window que pausava silenciosamente o runner
- feat: adicionar hotkey de tela cheia e atualizar traduções
- feat: adicionar funcionalidade de dica de Escape e atualizar traduções
- fix: manter estável o layout da linha de hotkeys quando os botões reset e clear aparecem
- fix: desativar os hotkeys do app enquanto o teclado está capturado para DOS/ScummVM
- refactor: simplificar a lógica de fundo e cor de traço no GameCardView
- feat: adicionar ícones SF Symbol a todos os itens personalizados da barra de menu
- fix: evitar o congelamento da UI ao parar o jogo por materialização do iCloud — proxy XPC assíncrono com timeout real, materialização de inicialização fora da fila de conexão, orçamento compartilhado para o percurso de diretórios
- Subir a versão de marketing para 1.8.8 e o número de build para 31 em
project.yml, nos doisInfo.pliste emdocs/_config.yml