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

Aperta Adatta ai principianti
#487 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
69/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
csharp, unity
Ambito
game-dev

Direzione di ricerca

Inizia leggendo GothicIniWriter.WriteSetting e segui cosa fa quando la sezione esiste, ma la chiave no. Riproduci il problema con un Gothic.ini in cui la sezione VR non è l’ultima, poi modifica l’impostazione e riavvia. Il lavoro è completato quando la nuova chiave viene scritta nella propria sezione e viene trovata all’avvio successivo, invece di essere aggiunta ripetutamente alla fine.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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").

Lingua principale
C#
Stelle
33
Fork
1
Merge medio
1g 17h
PR unite (30g)
51

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Gothic-Unity-Project/Gothic-Unity

Tutte le issue di Gothic-Unity-Project/Gothic-Unity

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.