Wiki in costruzione. Molti concetti qui descritti provengono dall'alpha 0.2 e possono ancora cambiare. La wiki sarà finalizzata per la versione 1.0 — per ora serve ad aiutare i tester chiusi e, più avanti, i giocatori dell'accesso anticipato a orientarsi. Per le informazioni più aggiornate e affidabili, entra nel Discord — è lì che le novità vengono annunciate per prime e dove puoi chiedere direttamente.

Entra nel Discord per le ultime novità

Impostazioni (in carriera)

L'app Impostazioni dentro la carriera — lingua, unità di misura, scala dell'interfaccia e dell'HUD, modificabili senza uscire dal salvataggio.

In lavorazione. La prima bozza è online, ma i contenuti possono cambiare e gli screenshot sono ancora in arrivo. Hai notato un errore? Segnalacelo su Discord.
In questa pagina

L’app Impostazioni dentro la carriera è una schermata volutamente piccola: tre sezioni — Lingua, Unità di misura, Scala dell’interfaccia — raggiungibili senza uscire da un salvataggio. Esiste per correggere le due cose che più facilmente danno fastidio a metà carriera (testo troppo piccolo ad alta risoluzione, unità di velocità sbagliata) senza tornare al menu principale. Ogni comando scrive nelle stesse chiavi di config.db usate dalle Impostazioni del menu principale, quindi le due schermate sono sempre allineate.

Come aprirla

  • Barra laterale → Impostazioni (icona 19, subito sopra Esci). Disponibile in ogni fase e durante la stagione.
  • Esc, B, o il pulsante Indietro dell’intestazione la chiude.

Non c’è né un pulsante Salva né un pulsante Applica. Ogni clic scrive su disco e ha effetto immediato.

Lingua

Una fila di pulsanti-bandiera, uno per lingua disponibile. Quello attivo è riempito di antracite con bordo ambra; passandoci sopra compare il nome della lingua nella lingua stessa, in una bolla d’aiuto. Una lingua la cui immagine di bandiera manca ripiega sul proprio codice in maiuscolo.

Sei lingue integrate sono incluse nel gioco:

CodiceNomeBandiera
enEnglishgb
frFrançaisfr
esEspañoles
itItalianoit
deDeutschde
pt-BRPortuguês (BR)br

Oltre a queste, l’elenco viene letto da mods/lang/*.txt nel momento in cui la schermata si apre: qualsiasi pacchetto lingua della community trovato lì viene proposto anch’esso, usando le righe di intestazione #name: e #flag: del file per etichetta e bandiera. Un pacchetto non può oscurare una lingua integrata — un mods/lang/fr.txt viene ignorato a favore del francese di serie. Nella build demo dello Steam Next Fest il supporto ai mod è disattivato in fase di compilazione e vengono elencate solo le sei lingue integrate.

Il cambio è a caldo — nessun riavvio, nessun ricaricamento del salvataggio:

  1. Viene caricato il dizionario del nuovo codice.
  2. Un contatore globale di epoca di traduzione viene incrementato, il che invalida ogni template analizzato in cache nel gioco (le cache dei template mescolano l’epoca nel loro hash delle variabili).
  3. ui/language viene scritto in config.db.
  4. Questa schermata scarta il proprio template in cache per ridisegnarsi nella nuova lingua nello stesso frame.

Selezionare un codice sconosciuto ripiega silenziosamente su en.

Un’eccezione voluta: il parlato del tutorial è indicizzato per identificativo di passo, quindi le istruzioni vocali restano in inglese in tutte le lingue, anche quando il testo a schermo è tradotto.

Unità di misura

Due pulsanti a interruttore.

PulsanteValoriSi applica a
Velocitàkm/hmph«Unità di velocità usata in tutto il gioco (HUD, dati vettura, profili).»
Temperatura°C°F«Unità di temperatura per gomme, motore e rilevazioni meteo.»

Ogni clic inverte il valore, lo passa agli helper di formattazione Win95 condivisi (set_speed_unit_kmh / set_temp_unit_c) affinché ogni schermata si ridisegni nella nuova unità, e scrive subito la chiave. Sono solo conversioni di visualizzazione — nella simulazione non cambia nulla.

Scala dell’interfaccia

Tre preimpostazioni per lo zoom dell’interfaccia di carriera Win95: 100 %, 125 %, 150 %. Quella attiva è racchiusa tra parentesi quadre ([125%]). Testo al passaggio del mouse: «Zoom dell’intera interfaccia di carriera. Si applica immediatamente.»

Cliccare una preimpostazione chiama markup::set_ui_scale, scrive la chiave e scarta il template in cache — poiché il layout cambia dimensione, il template analizzato va ricostruito.

Questa è la soluzione al testo piccolo su uno schermo ad alta densità, ed è anche l’impostazione che più facilmente fa traboccare un elenco fuori dalla sua finestra. Il caso è gestito: ogni schermata della barra laterale tranne il Desktop adotta lo scorrimento di pagina generico, la cui ampiezza è misurata dall’altezza reale del contenuto impaginato. Se qualcosa sembra comunque tagliato al 150 %, la riga [app-scroll] scritta in debug.log a ogni apertura di un’app contiene ui_scale, viewport_h, content_h, overflow e max_scroll — è quella la riga che serve a una segnalazione di bug. Vedi Desktop e barra laterale della carriera.

Cosa questa app non copre

Le Impostazioni di carriera sono un sottoinsieme. In particolare, la scala dell’HUD di gara non è qui — vive in Impostazioni → Schermo del menu principale, etichettata come «Scala dell’HUD di gara» con le stesse preimpostazioni 100 / 125 / 150, e scrive hud.race_hud_scale. Poiché l’HUD di gara esiste solo durante una sessione dal vivo, la via pratica è il menu di pausa in gara: Esc → Impostazioni durante una sessione apre la schermata completa delle Impostazioni in sovrimpressione, e la gara rilegge la scala dell’HUD alla chiusura.

Anche tutto il resto resta nella schermata completa delle Impostazioni: Schermo (vsync, limite fps, schermo intero, risoluzione, registrazione dei replay), Audio (volumi motore / radio / pilota / musica), cursori di Simulazione, cursori di Carriera (montepremi, intelligenza finanziaria dell’IA, moltiplicatori di bilanciamento), Comandi, Eventi (azioni automatiche per evento nelle sessioni dal vivo) e la scheda Dev riservata alla modalità --dev.

Le chiavi che scrive

ComandoAmbitoChiaveValore scritto
Linguauilanguageil codice lingua, es. fr, pt-BR
Unità di velocitàhudspeed_unit_kmh1 = km/h, 0 = mph
Unità di temperaturahudtemp_unit_c1 = °C, 0 = °F
Scala dell’interfacciahudui_scale1.00 / 1.25 / 1.50
(solo Impostazioni del menu principale)hudrace_hud_scale1.00 / 1.25 / 1.50

config.db è un file SQLite con un’unica tabella config(scope, key, value), con chiave primaria su (scope, key). Le letture che non trovano nulla ripiegano su un valore predefinito: ui_scale → 1.0, entrambi i flag di unità → vero (km/h e °C).

Approfondimenti

  • Dalla 0.5.1 il config.db di esecuzione vive nella tua cartella dati utente, non più nella cartella del gioco. Le impostazioni sono dati del giocatore, e in passato un aggiornamento del deposito Steam sovrascriveva i tuoi valori personalizzati a ogni patch.

    PiattaformaPercorso
    Linux$XDG_DATA_HOME/TheUndercut/ altrimenti ~/.local/share/TheUndercut/
    Windows%APPDATA%\TheUndercut\
    macOS~/Library/Application Support/TheUndercut/

    Una variabile d’ambiente UNDERCUT_DATA_DIR ha la precedenza, e un file marcatore «portable» accanto all’eseguibile forza la cartella del gioco. Il config.db incluso nella cartella d’installazione è solo il seme: modificarlo con sqlite3 non cambia ciò che legge una partita in corso.

  • L’app di carriera scrive al clic; le Impostazioni del menu principale scrivono al salvataggio. Entrambe applicano le modifiche dal vivo, ma la schermata completa delle Impostazioni persiste solo se confermi. Se imposti le unità dal menu principale ed esci senza salvare, tornano indietro. L’app di carriera non ha questa trappola.

  • I salvataggi delle impostazioni si fondono, non sovrascrivono. Le chiavi che tu (o un mod) avete aggiunto a mano vengono preservate.

  • Le scritture su config.db usano synchronous=NORMAL in modalità WAL. È sicuro contro la corruzione, e significa che un cambio di impostazione non fa un fsync per chiave. Il percorso di salvataggio della carriera mantiene deliberatamente synchronous=FULL — qui si tratta solo di preferenze.

  • Le migrazioni forzate possono sovrascrivere una chiave che avevi regolato. Le righe CONFIG_MIGRATIONS girano esattamente una volta per config.db, indicizzate su un identificativo di migrazione, ed esistono perché una correzione di bilanciamento raggiunga ogni giocatore esistente. Se un valore che avevi impostato torna indietro dopo un aggiornamento, è per questo; una riga [config_db] migration <id> applied: … in debug.log la nomina.

  • Su Steam un aggiornamento del deposito sovrascrive il seme config.db incluso, non la tua copia utente. display_config.txt è volutamente escluso dall’impacchettamento per lo stesso motivo — sovrascrivere vsync e limite fps di un giocatore a ogni aggiornamento sarebbe scortese.

  • I pacchetti lingua sono contenuto, non dati salvati. Restano nel mods/lang/ della cartella del gioco, quindi non vengono sincronizzati sul cloud e non entrano in conflitto con il Workshop.

  • Tutta l’interfaccia è scritta in inglese come chiave di traduzione. Ogni stringa aggiunta al gioco viene consegnata con la sua controparte lang/fr.txt, e fr.txt è il file di riferimento da cui le altre cinque vengono propagate. Una build di rilascio deve riportare 0 MISSING in ogni lingua integrata.

Errori comuni

  • Modificare il config.db nella cartella d’installazione. Dalla 0.5.1 quello è solo il seme. Cambia le impostazioni nel gioco, o modifica la copia nella tua cartella dati utente.
  • Cercare qui la scala dell’HUD di gara. È in Impostazioni → Schermo nel menu principale, oppure nella sovrimpressione Esc → Impostazioni durante la gara.
  • Cercare qui i volumi, i montepremi o i cursori dell’IA. Sono nelle schede Audio / Carriera della schermata completa delle Impostazioni.
  • Impostare le unità dal menu principale e uscire senza salvare. La schermata del menu principale persiste al salvataggio; l’app di carriera persiste al clic.
  • Aspettarsi che la scala al 150 % rompa gli elenchi. Non succede — lo scorrimento di pagina misura il contenuto reale. Se qualcosa è tagliato, prendi la riga [app-scroll] da debug.log per la segnalazione.
  • Installare un pacchetto lingua con il nome di una lingua integrata. mods/lang/de.txt verrà semplicemente ignorato; usa un codice non utilizzato.
  • Aspettarsi che il parlato del tutorial venga tradotto. È indicizzato per identificativo di passo e resta in inglese per scelta.

Vedi anche