Gothic.ini: a new VR key lands at the end of the file and is never read back

Aberta Para iniciantes
#487 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
69/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
csharp, unity
Domínio
game-dev

Direção de pesquisa

Comece lendo GothicIniWriter.WriteSetting e acompanhe o que ele faz quando a seção existe, mas a chave não. Reproduza o problema com um Gothic.ini em que a seção VR não seja a última; depois, altere a configuração e reinicie. O trabalho estará concluído quando a nova chave for gravada em sua própria seção e encontrada na próxima inicialização, em vez de ser anexada repetidamente ao final.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug
Description

GothicIniWriter.WriteSetting: when the section is found but the key isn't, lines.Add appends the key at the end of the file, so it lands in the last section. The next write doesn't find it in its own section and appends it again.

Expected Behavior

A new key is written inside its own section and found again on the next start.

Actual Behavior

Seen on Quest 3, G2: six snapRotationAmount= lines under [ZBUGFIXES] (the last section, written by Spine). The snap rotation setting is back to the default on every start.

Reproduction Steps
  1. Use a Gothic.ini whose VR section exists but lacks the key (e.g. snapRotationAmount), and where that section isn't the last one.
  2. Change the setting in the menu a few times and restart.
  3. The key is appended at the end of the file again each time, and the setting is lost.

Environment Information

  • Reproducibility: Always (for keys missing from an existing, non-last section)
  • Platform: all
  • Game Version: main 83a1aebd2
Notes

BoroBongo has a fix: WriteSettingInSection behind DeveloperConfig.EnableIniWriteInSection in experimental/game-completion-candidate-vibecoded-borobongo. It's in no split yet, and his comment describes the same bug ("marvinPanel 20 times").

Linguagem predominante
C#
Estrelas
33
Forks
1
Merge médio
1d 21h
PRs com merge (30d)
56

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de Gothic-Unity-Project/Gothic-Unity

Todas as issues de Gothic-Unity-Project/Gothic-Unity

Issues semelhantes

Mais issues de C#

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.