v1.8.4

24 de julho de 2026

Versão hotfix: o Modo TV agora respeita corretamente o último estado de sessão do usuário, então fechar o app no modo normal e reabrir não traz mais o usuário de volta ao Modo TV. Também traz presets de controle empacotados e um script de exportação para mapeamentos padrão de gamepad.

Destaques

  • Modo TV respeita a última sessão: TVModeSettingsManager agora lê tvMode_currentlyActive no init (a chave de modo runtime que já vinha escrevendo a cada alteração) e só recorre à preferência launchInTVMode em um primeiro lançamento de fato, então sair do Modo TV e fechar o app agora persiste de verdade.
  • Presets de controle empacotados: Novo BundledControllerPresets.swift carrega mapeamentos padrão de controle a partir de JSON no lançamento, com presets para 8BitDo Ultimate 3-mode (layout Xbox), Lic Pro Controller e Xbox Wireless Controller. ControllerService os usa como fonte dos mapeamentos padrão.
  • Utilitário de exportação de presets: O script scripts/export_controller_presets.py exporta os mapeamentos de controle salvos pelo usuário para os arquivos JSON de presets empacotados.

Mudanças detalhadas

  • Leitura de tvMode_currentlyActive no init de TVModeSettingsManager com fallback para launchInTVMode somente quando não há sessão prévia registrada, para que o Modo TV ao iniciar corresponda ao estado ao fechar o app
  • Adicionado BundledControllerPresets.swift para carregar mapeamentos padrão de controle a partir de JSON no lançamento do app
  • Adicionados arquivos JSON de presets de controle para 8BitDo Ultimate 3mode Xbox, Lic Pro Controller e Xbox Wireless Controller
  • Atualizado ControllerService para usar os presets empacotados como fonte dos mapeamentos padrão
  • Adicionado script export_controller_presets.py para exportar mapeamentos de controle salvos pelo usuário para os arquivos de presets empacotados
  • Atualizado project.pbxproj para incluir os novos arquivos-fonte e recursos