Wiki en construcción. Muchos conceptos de aquí provienen de la alpha 0.2 y todavía pueden cambiar. La wiki se finalizará para la versión 1.0 — por ahora está para ayudar a los testers cerrados y, más adelante, a los jugadores del acceso anticipado a orientarse. Para la información más actual y fiable, únete al Discord — es donde se anuncian los cambios primero y donde puedes preguntar directamente.

Únete al Discord para las últimas novedades

Ajustes (en carrera)

La app de Ajustes dentro de la carrera — idioma, unidades, escala de la interfaz y del HUD, modificables sin salir de la partida.

En elaboración. El primer borrador ya está aquí, pero el contenido puede evolucionar y todavía estamos añadiendo capturas. ¿Has visto algo mal? Cuéntanoslo en Discord.
En esta página

La app de Ajustes dentro de la carrera es una pantalla deliberadamente pequeña: tres secciones — Idioma, Unidades, Escala de la interfaz — a las que llegas sin salir de una partida guardada. Existe para que puedas corregir las dos cosas que más suelen molestar a mitad de carrera (texto demasiado pequeño en alta resolución, unidad de velocidad equivocada) sin volver al menú principal. Cada control escribe en las mismas claves de config.db que usan los Ajustes del menú principal, así que ambas pantallas siempre coinciden.

Cómo abrirla

  • Barra lateral → Ajustes (icono 19, justo encima de Cerrar sesión). Disponible en todas las fases y durante la temporada.
  • Escape, B, o el botón Atrás de la cabecera la cierra.

No hay botón Guardar ni botón Aplicar. Cada clic escribe en disco y surte efecto de inmediato.

Idioma

Una fila de botones con banderas, uno por idioma disponible. El activo aparece relleno en antracita con borde ámbar; al pasar el ratón por cualquiera se muestra el nombre del idioma en su propia lengua, en un globo de ayuda. Un idioma cuya imagen de bandera falte recurre a su código en mayúsculas.

Seis idiomas integrados vienen con el juego:

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

Además de estos, la lista se escanea desde mods/lang/*.txt en el momento en que se abre la pantalla: cualquier paquete de idioma de la comunidad encontrado ahí también se ofrece, usando las líneas de cabecera #name: y #flag: del archivo para su etiqueta y su bandera. Un paquete no puede eclipsar a un idioma integrado — un mods/lang/fr.txt se ignora en favor del francés incluido. En la build de demostración del Steam Next Fest el soporte de mods está desactivado en tiempo de compilación y solo se listan los seis idiomas integrados.

El cambio es en caliente — sin reinicio, sin recargar la partida:

  1. Se carga el diccionario del nuevo código.
  2. Se incrementa un contador global de época de traducción, lo que invalida todas las plantillas analizadas en caché del juego (las cachés de plantillas mezclan la época en su hash de variables).
  3. Se escribe ui/language en config.db.
  4. Esta pantalla descarta su propia plantilla en caché para redibujarse en el nuevo idioma en el mismo fotograma.

Seleccionar un código desconocido recurre silenciosamente a en.

Una excepción deliberada: la voz en off del tutorial está indexada por identificador de paso, así que las indicaciones habladas siguen en inglés en todos los idiomas, aunque el texto en pantalla sí se traduzca.

Unidades

Dos botones de alternancia.

BotónValoresSe aplica a
Velocidadkm/hmph«Unidad de velocidad usada en todo el juego (HUD, datos del coche, perfiles).»
Temperatura°C°F«Unidad de temperatura para neumáticos, motor y lecturas meteorológicas.»

Cada clic invierte el valor, lo empuja a los ayudantes de formato Win95 compartidos (set_speed_unit_kmh / set_temp_unit_c) para que cada pantalla se redibuje en la nueva unidad, y escribe la clave al instante. Son solo conversiones de visualización — nada cambia en la simulación.

Escala de la interfaz

Tres preajustes para el zoom de la interfaz de carrera Win95: 100 %, 125 %, 150 %. El activo aparece entre corchetes ([125%]). Texto al pasar el ratón: «Zoom de toda la interfaz de carrera. Se aplica de inmediato.»

Hacer clic en un preajuste llama a markup::set_ui_scale, escribe la clave y descarta la plantilla en caché — como el diseño cambia de tamaño, la plantilla analizada debe reconstruirse.

Esta es la solución para el texto pequeño en una pantalla de alta densidad, y también el ajuste con más probabilidades de hacer que una lista desborde su ventana. Está contemplado: todas las pantallas de la barra lateral salvo el Escritorio se acogen al desplazamiento de página genérico, cuyo rango se mide a partir de la altura real del contenido maquetado. Si algo sigue pareciendo cortado al 150 %, la línea [app-scroll] que se escribe en debug.log cada vez que se abre una app contiene ui_scale, viewport_h, content_h, overflow y max_scroll — esa es la línea que necesita un informe de error. Véase Escritorio y barra lateral de carrera.

Lo que esta app no cubre

Los Ajustes de carrera son un subconjunto. En particular, la escala del HUD de carrera no está aquí — vive en Ajustes → Pantalla del menú principal, etiquetada como «Escala del HUD de carrera» con los mismos preajustes 100 / 125 / 150, y escribe hud.race_hud_scale. Como el HUD de carrera solo existe durante una sesión en vivo, la vía práctica es el menú de pausa en carrera: Escape → Ajustes durante una sesión abre la pantalla completa de Ajustes como superposición, y la carrera vuelve a leer la escala del HUD al cerrarla.

Todo lo demás también permanece en la pantalla completa de Ajustes: Pantalla (vsync, límite de fps, pantalla completa, resolución, grabación de repeticiones), Audio (volúmenes de motor / radio / piloto / música), deslizadores de Simulación, deslizadores de Carrera (bolsas de premios, inteligencia financiera de la IA, multiplicadores de equilibrio), Atajos de teclado, Eventos (acciones automáticas por evento en sesiones en vivo) y la pestaña Dev exclusiva del modo --dev.

Las claves que escribe

ControlÁmbitoClaveValor escrito
Idiomauilanguageel código de idioma, p. ej. fr, pt-BR
Unidad de velocidadhudspeed_unit_kmh1 = km/h, 0 = mph
Unidad de temperaturahudtemp_unit_c1 = °C, 0 = °F
Escala de la interfazhudui_scale1.00 / 1.25 / 1.50
(solo Ajustes del menú principal)hudrace_hud_scale1.00 / 1.25 / 1.50

config.db es un archivo SQLite con una única tabla config(scope, key, value), con clave primaria en (scope, key). Las lecturas que no encuentran nada recurren a un valor por defecto: ui_scale → 1.0, ambos indicadores de unidad → verdadero (km/h y °C).

Para profundizar

  • Desde la 0.5.1 el config.db de ejecución vive en tu directorio de datos de usuario, ya no en la carpeta del juego. Los ajustes son datos del jugador, y una actualización del depósito de Steam solía sobrescribir tus valores ajustados en cada parche.

    PlataformaUbicación
    Linux$XDG_DATA_HOME/TheUndercut/ si no ~/.local/share/TheUndercut/
    Windows%APPDATA%\TheUndercut\
    macOS~/Library/Application Support/TheUndercut/

    Una variable de entorno UNDERCUT_DATA_DIR tiene prioridad, y un archivo marcador «portable» junto al ejecutable fuerza la carpeta del juego. El config.db incluido en el directorio de instalación es solo la semilla: editarlo con sqlite3 no cambia lo que lee una partida en marcha.

  • La app de carrera escribe al hacer clic; los Ajustes del menú principal escriben al guardar. Ambas aplican sus cambios en vivo, pero la pantalla completa de Ajustes solo persiste cuando confirmas. Si fijas las unidades desde el menú principal y sales sin guardar, se revierten. La app de carrera no tiene esa trampa.

  • Los guardados de ajustes se fusionan, no se sobrescriben. Las claves que tú (o un mod) añadisteis a mano se conservan.

  • Las escrituras en config.db usan synchronous=NORMAL bajo WAL. Es seguro frente a corrupción, y significa que un cambio de ajuste no hace fsync por clave. La ruta de guardado de la carrera mantiene deliberadamente synchronous=FULL — aquí solo se trata de preferencias.

  • Las migraciones forzadas pueden sobrescribir una clave que ajustaste. Las filas CONFIG_MIGRATIONS se ejecutan exactamente una vez por config.db, indexadas por un identificador de migración, y existen para que una corrección de equilibrio llegue a todos los jugadores existentes. Si un valor que fijaste se revierte tras una actualización, es por eso; una línea [config_db] migration <id> applied: … en debug.log la identifica.

  • En Steam, una actualización del depósito sobrescribe la semilla config.db incluida, no tu copia de usuario. display_config.txt está deliberadamente excluido del empaquetado por la misma razón — sobrescribir el vsync/límite de fps de un jugador en cada actualización sería grosero.

  • Los paquetes de idioma son contenido, no datos guardados. Permanecen en el mods/lang/ de la carpeta del juego, así que no se sincronizan en la nube ni entran en conflicto con el Workshop.

  • Toda la interfaz está escrita en inglés como clave de traducción. Cualquier cadena añadida al juego se entrega con su pareja lang/fr.txt, y fr.txt es el archivo de referencia desde el que se propagan los otros cinco. Una build de lanzamiento debe reportar 0 MISSING en todos los idiomas integrados.

Errores frecuentes

  • Editar el config.db de la carpeta de instalación. Desde la 0.5.1 eso es solo la semilla. Cambia los ajustes en el juego, o edita la copia en tu directorio de datos de usuario.
  • Buscar aquí la escala del HUD de carrera. Está en Ajustes → Pantalla del menú principal, o en la superposición Escape → Ajustes durante la carrera.
  • Buscar aquí los volúmenes, las bolsas de premios o los deslizadores de IA. Están en las pestañas Audio / Carrera de la pantalla completa de Ajustes.
  • Fijar unidades desde el menú principal y salir sin guardar. La pantalla del menú principal persiste al guardar; la app de carrera persiste al hacer clic.
  • Esperar que la escala al 150 % rompa las listas. No lo hace — el desplazamiento de página mide el contenido real. Si algo queda cortado, coge la línea [app-scroll] de debug.log para el informe.
  • Instalar un paquete de idioma con el nombre de uno integrado. mods/lang/de.txt simplemente se ignorará; usa un código sin usar.
  • Esperar que la voz en off del tutorial se traduzca. Está indexada por identificador de paso y sigue en inglés por diseño.

Véase también