C код - проблема применения окраски к шрифту в строке - PullRequest
0 голосов
/ 04 марта 2020

Я работаю с кодом из 18-летней игры, поэтому прошу прощения за то, что в конечном итоге может быть вызвано устаревшим синтаксисом среди многих других возможностей. Но я пытаюсь применить раскраску к определенному тексту, которого исторически не было. Ниже приведено несколько примеров, которые я объясню.

Пример 1 (работа с цветным шрифтом):

putMovieText ( client, 
               movie, 
               "|c60|%s tried to flee but can't! (%d%% chance)|c43| ",
               client->getName(), chance );

Пример 2 (элемент в исходном состоянии, предварительно применяя раскраску шрифта):

switch ( affect->source ) 
{
    case _AFF_SOURCE_PERMANENT: 
        strcat( str, "Permed with ");
        break;

Пример 3 (красный шрифт применен и возвращен в исходное состояние):

switch ( affect->source ) 
{
    case _AFF_SOURCE_PERMANENT: 
        strcat( str, "|c60|Permed with|c43|");
        break;

Таким образом, шрифт будет реагировать на такие вещи, как разрывы строк (\ n), но не применяется цвет (см. пример 2/3). Формат / синтаксис | c60 | работает в другом месте кода, но не для приведенных выше примеров.

Мысли?

...