Skip to content

BOTWRecompAndroid 0.2.5 (beta 18): um romfs.bin, vídeos da 1.0.0 / one romfs.bin, 1.0.0 videos

Pre-release
Pre-release

Choose a tag to compare

@mamcjr mamcjr released this 30 Oct 19:29
· 29 commits to main since this release

Beta 18. Os arquivos do jogo num só romfs.bin, os vídeos da 1.0.0 de volta e uma leva de crashes corrigidos.

Novidade

  • Um romfs.bin no lugar de ~41 mil arquivos: copiar a pasta romfs/ inteira para o celular é lento e falha em muitos aparelhos. Agora a pasta escolhida pode ter exefs/ e um romfs.bin já pronto ao lado (feito no PC, por exemplo com hactool --romfs=romfs.bin, com a atualização aplicada por --basenca). O app confere a versão e se o arquivo está inteiro, e funciona tanto em Copiar quanto em Usar no lugar. A pasta romfs/ continua funcionando como antes.

Correções

  • Vídeos da 1.0.0 congelados: o vídeo da torre (e os outros) parava no primeiro quadro. Na 1.0.0 o movie::Buffer do SDK de 2017 é bem menor que o das versões novas, e o app escrevia além dele.
  • Crash numa cena com vídeo (#113): quando um vídeo não abria (a cena do Domínio Zora, num dump usado no lugar), o jogo fechava logo depois. Agora o app procura o arquivo sem diferenciar maiúsculas de minúsculas e, se ele faltar mesmo, toca o fim de outro vídeo da mesma pasta no lugar, e o jogo continua.
  • Árvores pretas ao longe com resolução dinâmica (#112): fora da escala 1x, o passe de luz pulava algumas árvores, que ficavam pretas e sem névoa. O ID do material lido do alvo escalado vinha um pouco abaixo e era truncado (7 virava 6). Agora ele é arredondado. Análise de 3122380113.
  • Crash ao voltar do segundo plano (#108): às vezes o Android entrega a janela nova no mesmo endereço da antiga, e o jogo tentava desenhar na superfície morta (vkCreateSwapchainKHR ... surface lost). Agora ela é refeita no quadro seguinte.
  • O romfs do DLC no lugar do jogo (#87): com o jogo e o DLC na mesma pasta, a configuração podia pegar o romfs do DLC e falhar. Agora só vale o romfs que tem System/Version.txt.
  • Giroscópio do controle (#78, #115): a regra da 0.2.4 (um quarto de segundo de movimento rápido) não deixava uma mira lenta, ou um controle parado, assumir. Agora o giroscópio do controle assume assim que as leituras dele mudam, como um sensor de verdade faz. Um que só manda zeros (GameSir X5 Lite) continua com o do celular. Sem um controle com giroscópio para testar: contem se resolveu.
  • Crashes e engasgos com a memória global da GPU (#54, #89): quando a tabela de faixas de memória enchia, ela juntava tudo numa faixa enorme: os envios cresciam muito e uma escrita de volta atrasada corrompia a memória do jogo.
  • Reiniciar e sair: reiniciar o jogo limpa o que ficava de escritas pendentes, e sair não fecha mais com erro de mutex destruído.
  • Adreno 7xx com nome trocado (#103): no Turnip, o "Automático" do heap da GPU volta a ligar nesses aparelhos. De todwang96.
  • Menus: a escolha Copiar / Usar no lugar e outras 11 linhas sem tradução, agora nos 11 idiomas.

Não precisa compilar o código do jogo de novo: é só instalar por cima da 0.2.x. Os shaders são recompilados uma vez.

Problemas conhecidos

  • 1.0.0 em combate: os inimigos podem deixar linhas e riscos pretos ao morrer, e o jogo pode fechar durante a luta. Isso não acontece na 1.8.2 nem na 1.9.0: use uma delas por enquanto.
  • Aspecto livre: na troca de páginas do menu, a página aparece cortada na borda da parte 16:9 enquanto desliza.
  • A grama baixa ao longe só aparece de perto.
  • Às vezes, logo depois da cena de ativação de uma torre, o terreno aparece esticado em "cortinas". Para resolver, carregue o save depois de a torre estar ativada.
  • O reflexo na água acompanha a câmera quando o Link anda para os lados.
  • No driver de fábrica da Qualcomm, o fundo do menu de pausa fica preto.
  • Modo nativo: o Link às vezes pisca ao levar o primeiro golpe.

Nenhum arquivo do jogo vem incluído. Testada num celular só (POCO F7 Ultra, Adreno 830, Turnip). Para instalar e configurar: 0.1.0-beta. Créditos no README.


Beta 18. The game files as one romfs.bin, 1.0.0's videos back, and a batch of crash fixes.

New

  • One romfs.bin instead of ~41,000 files: copying the whole romfs/ folder to the phone is slow and fails on many devices. The picked folder can now hold exefs/ and a ready-made romfs.bin beside it (made on a PC, e.g. with hactool --romfs=romfs.bin, the update applied with --basenca). The app checks its version and that it's whole, and it works with both Copy them and Use them in place. A romfs/ folder still works as before.

Fixes

  • 1.0.0's videos frozen: the tower video (and the others) stopped at the first frame. In 1.0.0, the 2017 SDK's movie::Buffer is much smaller than the newer versions', and the app wrote past it.
  • Crash at a cutscene with a video (#113): when a video couldn't be opened (Zora's Domain, with a dump used in place), the game closed a moment later. Now the app looks for the file ignoring upper and lower case, and if it's really missing, the end of another video from the same folder plays in its place and the game goes on.
  • Black distant trees with dynamic resolution (#112): away from 1x scale, the lighting pass skipped some trees, which stayed black with no fog. The material ID read from the scaled target came out a little low and was truncated (7 became 6). It's now rounded. Analysis by 3122380113.
  • Crash coming back from the background (#108): sometimes Android gives the new window the old one's address, and the game tried to draw on the dead surface (vkCreateSwapchainKHR ... surface lost). Now it's made again on the next frame.
  • The DLC's romfs taken for the game's (#87): with the game and the DLC in the same folder, the setup could pick the DLC's romfs and fail. Now only a romfs with System/Version.txt counts.
  • Controller gyroscope (#78, #115): 0.2.4's rule (a quarter second of fast movement) didn't let a slow aim, or a controller at rest, take over. Now the controller's gyroscope takes over as soon as its readings change, as a real sensor's do. One that only sends zeros (GameSir X5 Lite) keeps the phone's. There's no controller with a gyroscope here to test with: please tell me if it's fixed.
  • Crashes and hitches with the GPU's global memory (#54, #89): when the table of memory ranges filled up, it merged everything into one huge range: uploads grew a lot, and a late write-back corrupted the game's memory.
  • Restart and exit: restarting the game clears leftover pending writes, and exiting no longer fails on a destroyed mutex.
  • Renamed Adreno 7xx (#103): on Turnip, the GPU heap's "Automatic" turns on again on these devices. By todwang96.
  • Menus: the Copy them / Use them in place choice and 11 more lines that had no translation, now in all 11 languages.

No need to build the game code again: just install over 0.2.x. Shaders recompile once.

Known issues

  • 1.0.0 in combat: enemies can leave black lines and streaks when they die, and the game can close during a fight. This doesn't happen on 1.8.2 or 1.9.0: please use one of them for now.
  • Free aspect: when the menu turns its page, the page shows cut at the 16:9 part's edge while it slides.
  • Short grass in the distance only appears up close.
  • Sometimes, right after a tower's activation scene, the terrain shows stretched into "curtains". To fix it, load the save once the tower is active.
  • The water's reflection follows the camera when Link walks sideways.
  • On Qualcomm's stock driver, the pause menu's background is black.
  • Native mode: Link sometimes flickers on the first hit he takes.

No game files are included. Tested on one phone only (POCO F7 Ultra, Adreno 830, Turnip). To install and set up: 0.1.0-beta. Credits in the README.