nerevar / jmc

JMC - Jaba Mud Client
25 stars 15 forks source link

Support 256 ANSI colors #87

Open mlengle opened 1 year ago

mlengle commented 1 year ago

Превед, возможно ли добавить поддержку 256 ANSI цветов в jmc?

konelav commented 1 year ago

Это интересный вопрос. На первый взгляд, особых проблем быть не должно, ни с 256, ни с TrueColor. По-моему, у меня как-то были проблемы с тем, чтобы найти сервер, который что-то такое поддерживает, чтобы поиграться/потестить.

mlengle commented 1 year ago

широко известный arctic mud в новом вайпе добавляет использование 256 цветов. сейчас jmc их показывать не умеет

mlengle commented 1 year ago

цвета через esc[38;5;??m

konelav commented 1 year ago

Как я понимаю, 38;5;nm, 48;5;nm -- это 256 бит; 38;2;r;g;bm, 48;2;r;g;bm -- это True Color. ( https://en.wikipedia.org/wiki/ANSI_escape_sequences#8-bit ) На данный момент ведь arctic mud этим не пользуется? В гугле полно клиентов, которые это поддерживают, но с сервером по-прежнему сложнее %)

mlengle commented 1 year ago

пока что они изменения не выкатили, только поставили бота в ренте Соласа, на которого можно посмотреть, чтобы проверить свой клиент. У бота только одна шмотка выделенная цветом через 38;5;31m 2 декабря обещают выкатить всё.

prool commented 1 year ago

я решил тоже поучаствовать в движухе и на своем тестовом CircleMUD по-быстрому сделал тестовую команду prool которая выдает все 256 цветов

только что проверил, в tintin++ цвета работают

host: mud.kharkov.org port: 6000

prool commented 1 year ago

Кстати, на длинной строке JMC падает. Я уже поправил тестовую команду prool и она теперь выдает цветные слова по 8 слов в строку, но поведение JMC на очень длинных строках надо бы пофиксить. tintin++ или tortilla на этих строках не падали

konelav commented 1 year ago

https://github.com/konelav/jmc/releases/tag/3.7.2.0rc @mlengle Попробуйте пока такой предварительный вариант. В опциях появилась галка "Extended colors" ("Расширенные цвета"), если она не стоит, то поведение будет старым.

@prool Благодарю, длинные строки вроде заработали.

Пока сделал только в отображении (отрисовке). Также надо сделать в HTML-логах (видимо, придётся использовать inline styles наряду с классами) и что-то придумать для цветных триггеров.

mlengle commented 1 year ago

в цветных триггерах, думаю, надо делать что-то типа &Q233 кодировки, html логи, имхо не горят совсем :)

prool commented 1 year ago

Да, я проверил новую версию JMC - она уже не падает на длинных строках и цвета из набора 256 рисует.

Я хочу для теста кроме 256 цветов добавить еще и RGB, но чесно говоря, я в затруднии: какие тройки параметров RGB перебирать в цикле

prool commented 1 year ago

На тестовом Circle (mud.kharkov.org:6000)добавил команду тестирования true color. Команда такая proolrgb 1 2 3 где 1 2 3 - числа от 0 до 255 В новой версии JMC работают (а вот в терминале MacOS нет)

mlengle commented 11 months ago

@konelav не пора ли релиз сделать, а то он так и застрял на уровне релиз кандидата. фича уже долго тестируется, всех всё устраивает :)