TH185: character names on the market selection screen, from world.txt
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- game-dev, localization
Línea de trabajo
Empieza rastreando cómo los nombres de world.txt llegan a los puntos de llamada de draw_ctext y cómo se superponen las superficies de ANM VM. Compara los strings real-name y whitespace de las entradas de character y tutorial; la tarea se considera terminada cuando los nombres traducidos se renderizan en el color previsto sin una superposición gris de whitespace.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The one remaining problem is that some character names will always appear greyed out. To understand why this happens, and how one might fix it, we need to understand how the whole system works to begin with:
When the game loads the character names from world.txt, it will add whitespace characters before and after the name. The game will also create text strings made up only of whitespace that are the same length as the character names (including the whitespace).
The game will call draw_ctext and, and use a format string of %s%s%s. The game calls draw_ctext 3 times with parameters as pictured in this graphic. Note that "Real character name" includes the whitespace, in all graphics

Every row in this crudely drawn graphic represents a set of parameters for a draw_ctext call, every column represents an indivdual parameter for the draw_ctext call in question. Every call to draw_ctext will draw to a different surface (ANM VM), with all the surfaces being overlayed ontop of eachother. The reason ZUN does this is because ZUN's text rendering code doesn't allow using different colors with only one draw_?text call
The exact same code is also reused for the 2 character names right below, except this time the calls look like this:

And for the tutorial stage, the same code is used once again, but with these parameters:

The problem mentioned at the start of this issue occurs because thcrap will replace both the real character names and the whitespace with a new string, causing a grey character name to overlay the yellow one. To solve this, thcrap would need to replace whitespace strings with strings that use the layout engine to create the exact right amount of whitespace for the translation string, or that entire code would have to be completely rewritten.
- Lenguaje dominante
- JavaScript
- Estrellas
- 26
- Forks
- 15
- Merge medio
- 4 h 19 min
- PR fusionados (30 d)
- 2
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de thpatch/thcrap-tsa
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
thpatch/thcrap-tsa#127 ·
-
Reduce BGM switching lagAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
thpatch/thcrap-tsa#126 ·
-
Trial supportAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
thpatch/thcrap-tsa#125 ·
-
minor
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
thpatch/thcrap-tsa#124 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
thpatch/thcrap-tsa#118 ·
Todos los issues de thpatch/thcrap-tsa
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
highcharts/highcharts-react#594 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día