EN:
2.8.0 test build for #1075
This build is 2.8.0 with the new Rust launcher (2.8.0 is not released yet), plus one fix for the start-up exit with code 21.
What changes
- The game starts when another program already holds part of the PS4 address range (#1075, PR #1076). At start-up the game reserves 64 GiB–1 TiB of address space for the PS4's memory. Sometimes another program already holds part of that range, usually through a DLL it loads into every app (overlays, recorders, antivirus hooks). Windows then refused the whole reservation and the game stopped with
reserving the PS4 address range ... error 487(exit code 21). Now the game reserves the free parts around it, logs which module holds the rest, and starts. - Everything else is the 2.8.0 build: the launcher is the new native
SpartanPort.exe. Saves, game settings and launcher settings carry over from 2.7.0.
How to test
- Download
spartanport-windows.zipand extract it over your current port folder. This keeps your saves and settings. - Start
SpartanPort.exeand press Play. - Reply on #1075 with
user/last_run.logand tell us whether the game reaches the main menu.
If the log has a line Runtime: ... of the PS4 address range was already in use (...), that line names what was there. If you know which program it belongs to, please tell us.
Validation
- A new Windows test (
tests/test_memory_reserve.c) takes part of the range first. Before the fix it stopped with the exact error from #1075 (error 487, exit code 21). After the fix it passes. src/runtime_memory.cbuilds with-Wall -Wextra -Werroron Windows and Linux. The CI built this package and opened it on a clean Windows runner without MSYS2.- Not checked: a game session on a PC where another program holds part of the range. We do not have such a PC.
PT-BR:
Build de teste 2.8.0 para o #1075
Esta build é a 2.8.0 com o novo launcher em Rust (a 2.8.0 ainda não foi lançada), mais uma correção para o jogo que fecha na inicialização com código 21.
O que muda
- O jogo inicia quando outro programa já ocupa parte da faixa de endereços do PS4 (#1075, PR #1076). Na inicialização, o jogo reserva 64 GiB–1 TiB de espaço de endereços para a memória do PS4. Às vezes outro programa já ocupa parte dessa faixa, em geral por uma DLL que ele carrega em todo app (overlays, gravadores, ganchos de antivírus). O Windows então recusava a reserva inteira e o jogo parava com
reserving the PS4 address range ... error 487(código de saída 21). Agora o jogo reserva as partes livres ao redor, registra no log qual módulo ocupa o resto e inicia. - O resto é a build 2.8.0: o launcher é o novo
SpartanPort.exenativo. Saves, configurações do jogo e do launcher vêm da 2.7.0.
Como testar
- Baixe o
spartanport-windows.zipe extraia por cima da pasta atual do port. Assim seus saves e configurações ficam. - Abra o
SpartanPort.exee clique em Jogar. - Responda no #1075 com o
user/last_run.loge diga se o jogo chega ao menu principal.
Se o log tiver uma linha Runtime: ... of the PS4 address range was already in use (...), essa linha diz o que estava lá. Se você souber de qual programa é, conte pra gente.
Validação
- Um novo teste Windows (
tests/test_memory_reserve.c) ocupa parte da faixa antes. Sem a correção, ele parava com o mesmo erro do #1075 (error 487, código de saída 21). Com a correção, ele passa. - O
src/runtime_memory.ccompila com-Wall -Wextra -Werrorno Windows e no Linux. O CI gerou este pacote e o abriu num runner Windows limpo, sem MSYS2. - Não verificado: uma partida num PC em que outro programa ocupa parte da faixa. Não temos um PC assim.