mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2026-05-10 10:51:39 +00:00
chat sliders with value added
This commit is contained in:
parent
1b5ca52394
commit
df1015900b
13 changed files with 91 additions and 16 deletions
|
|
@ -348,7 +348,7 @@ CHAT_SIZE_VERY_HUGE = "Obří"
|
|||
CHAT_SIZE_MAXIMUM = "Maximum"
|
||||
CHAT_TEXT_SCALE = "Velikost textu chatu"
|
||||
CHAT_OPACITY = "Průhlednost chatu"
|
||||
CHAT_LIFETIME = "Doba zobrazení zpráv (s)"
|
||||
CHAT_LIFETIME = "Doba zobrazení zpráv"
|
||||
CHAT_CHAR_COUNTER = "Zobrazit počitadlo znaků chatu"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "Skrýt chat, když je zavřený"
|
||||
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ CHAT_SIZE_VERY_HUGE = "Gigantisch"
|
|||
CHAT_SIZE_MAXIMUM = "Maximum"
|
||||
CHAT_TEXT_SCALE = "Chat-tekstgrootte"
|
||||
CHAT_OPACITY = "Chat-transparantie"
|
||||
CHAT_LIFETIME = "Weergaveduur berichten (s)"
|
||||
CHAT_LIFETIME = "Weergaveduur berichten"
|
||||
CHAT_CHAR_COUNTER = "Chat-tekensteller weergeven"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "Chat verbergen wanneer gesloten"
|
||||
|
||||
|
|
|
|||
|
|
@ -347,7 +347,7 @@ CHAT_SIZE_VERY_HUGE = "Very Huge"
|
|||
CHAT_SIZE_MAXIMUM = "Maximum"
|
||||
CHAT_TEXT_SCALE = "Chat Text Size"
|
||||
CHAT_OPACITY = "Chat Opacity"
|
||||
CHAT_LIFETIME = "Chat Message Lifetime (s)"
|
||||
CHAT_LIFETIME = "Chat Message Lifetime"
|
||||
CHAT_CHAR_COUNTER = "Show Chat Character Counter"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "Hide Chat When Closed"
|
||||
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ CHAT_SIZE_VERY_HUGE = "Gigantesque"
|
|||
CHAT_SIZE_MAXIMUM = "Maximum"
|
||||
CHAT_TEXT_SCALE = "Taille du texte du chat"
|
||||
CHAT_OPACITY = "Opacité du chat"
|
||||
CHAT_LIFETIME = "Durée d'affichage des messages (s)"
|
||||
CHAT_LIFETIME = "Durée d'affichage des messages"
|
||||
CHAT_CHAR_COUNTER = "Afficher le compteur de caractères du chat"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "Masquer le chat lorsqu'il est fermé"
|
||||
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ CHAT_SIZE_VERY_HUGE = "Gigantisch"
|
|||
CHAT_SIZE_MAXIMUM = "Maximal"
|
||||
CHAT_TEXT_SCALE = "Chat-Textgröße"
|
||||
CHAT_OPACITY = "Chat-Transparenz"
|
||||
CHAT_LIFETIME = "Chat-Anzeigedauer (s)"
|
||||
CHAT_LIFETIME = "Chat-Anzeigedauer"
|
||||
CHAT_CHAR_COUNTER = "Chat-Zeichenzähler anzeigen"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "Verstecke Chat wenn geschlossen"
|
||||
|
||||
|
|
|
|||
|
|
@ -346,7 +346,7 @@ CHAT_SIZE_VERY_HUGE = "Enormissima"
|
|||
CHAT_SIZE_MAXIMUM = "Massimo"
|
||||
CHAT_TEXT_SCALE = "Dimensione testo chat"
|
||||
CHAT_OPACITY = "Opacità chat"
|
||||
CHAT_LIFETIME = "Durata messaggi chat (s)"
|
||||
CHAT_LIFETIME = "Durata messaggi chat"
|
||||
CHAT_CHAR_COUNTER = "Mostra contatore caratteri della chat"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "Nascondi chat quando è chiusa"
|
||||
|
||||
|
|
|
|||
|
|
@ -349,7 +349,7 @@ CHAT_SIZE_VERY_HUGE = "超巨大"
|
|||
CHAT_SIZE_MAXIMUM = "最大"
|
||||
CHAT_TEXT_SCALE = "チャット文字サイズ"
|
||||
CHAT_OPACITY = "チャットの不透明度"
|
||||
CHAT_LIFETIME = "メッセージ表示時間 (秒)"
|
||||
CHAT_LIFETIME = "メッセージ表示時間"
|
||||
CHAT_CHAR_COUNTER = "チャットの文字数カウンターを表示"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "閉じているときはチャットを隠す"
|
||||
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ CHAT_SIZE_VERY_HUGE = "Olbrzymia"
|
|||
CHAT_SIZE_MAXIMUM = "Maksimum"
|
||||
CHAT_TEXT_SCALE = "Rozmiar tekstu czatu"
|
||||
CHAT_OPACITY = "Przezroczystość czatu"
|
||||
CHAT_LIFETIME = "Czas wyświetlania wiadomości (s)"
|
||||
CHAT_LIFETIME = "Czas wyświetlania wiadomości"
|
||||
CHAT_CHAR_COUNTER = "Pokaż licznik znaków czatu"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "Ukryj czat, gdy jest zamknięty"
|
||||
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ CHAT_SIZE_VERY_HUGE = "Enorme demais"
|
|||
CHAT_SIZE_MAXIMUM = "Máximo"
|
||||
CHAT_TEXT_SCALE = "Tamanho do texto do chat"
|
||||
CHAT_OPACITY = "Opacidade do chat"
|
||||
CHAT_LIFETIME = "Duração da mensagem do chat (s)"
|
||||
CHAT_LIFETIME = "Duração da mensagem do chat"
|
||||
CHAT_CHAR_COUNTER = "Mostrar contador de caracteres do chat"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "Ocultar chat quando fechado"
|
||||
|
||||
|
|
|
|||
|
|
@ -346,7 +346,7 @@ CHAT_SIZE_VERY_HUGE = "Гигантская"
|
|||
CHAT_SIZE_MAXIMUM = "Максимум"
|
||||
CHAT_TEXT_SCALE = "Размер текста чата"
|
||||
CHAT_OPACITY = "Прозрачность чата"
|
||||
CHAT_LIFETIME = "Время показа сообщений (с)"
|
||||
CHAT_LIFETIME = "Время показа сообщений"
|
||||
CHAT_CHAR_COUNTER = "Показывать счётчик символов чата"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "Скрывать чат, когда он закрыт"
|
||||
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ CHAT_SIZE_VERY_HUGE = "Enorme+"
|
|||
CHAT_SIZE_MAXIMUM = "Máximo"
|
||||
CHAT_TEXT_SCALE = "Tamaño de texto del chat"
|
||||
CHAT_OPACITY = "Opacidad del chat"
|
||||
CHAT_LIFETIME = "Duración del mensaje de chat (s)"
|
||||
CHAT_LIFETIME = "Duración del mensaje de chat"
|
||||
CHAT_CHAR_COUNTER = "Mostrar contador de caracteres del chat"
|
||||
DISABLE_CHAT_WHEN_CLOSED = "Ocultar chat cuando esté cerrado"
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ static bool djui_chat_message_render(struct DjuiBase* base) {
|
|||
struct DjuiBase* ctBase = &chatMessage->message->base;
|
||||
|
||||
f32 lifeTime = (f32)configChatMessageLifetime;
|
||||
if (lifeTime < 3.0f) lifeTime = 3.0f;
|
||||
if (lifeTime > 60.0f) lifeTime = 60.0f;
|
||||
if (lifeTime < 1.0f) lifeTime = 1.0f;
|
||||
if (lifeTime > 120.0f) lifeTime = 120.0f;
|
||||
|
||||
f32 seconds = clock_elapsed() - chatMessage->createTime;
|
||||
f32 f = 1.0f;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,54 @@
|
|||
#include "pc/utils/misc.h"
|
||||
#include "pc/configfile.h"
|
||||
|
||||
static struct DjuiText* sChatTextScaleLabel = NULL;
|
||||
static struct DjuiText* sChatOpacityLabel = NULL;
|
||||
static struct DjuiText* sChatLifetimeLabel = NULL;
|
||||
|
||||
static void djui_panel_chat_update_value_labels(void) {
|
||||
if (sChatTextScaleLabel != NULL) {
|
||||
char buf[16];
|
||||
snprintf(buf, sizeof(buf), "%u%%", configChatTextScale);
|
||||
djui_text_set_text(sChatTextScaleLabel, buf);
|
||||
struct DjuiBase* base = &sChatTextScaleLabel->base;
|
||||
if (configChatTextScale < 100) {
|
||||
djui_base_set_color(base, 64, 64, 255, 255);
|
||||
} else if (configChatTextScale == 100) {
|
||||
djui_base_set_color(base, 48, 224, 48, 255);
|
||||
} else {
|
||||
djui_base_set_color(base, 255, 64, 64, 255);
|
||||
}
|
||||
}
|
||||
|
||||
if (sChatOpacityLabel != NULL) {
|
||||
char buf[16];
|
||||
snprintf(buf, sizeof(buf), "%u%%", configChatOpacity);
|
||||
djui_text_set_text(sChatOpacityLabel, buf);
|
||||
struct DjuiBase* base = &sChatOpacityLabel->base;
|
||||
if (configChatOpacity < 70) {
|
||||
djui_base_set_color(base, 64, 64, 255, 255);
|
||||
} else if (configChatOpacity == 70) {
|
||||
djui_base_set_color(base, 48, 224, 48, 255);
|
||||
} else {
|
||||
djui_base_set_color(base, 255, 64, 64, 255);
|
||||
}
|
||||
}
|
||||
|
||||
if (sChatLifetimeLabel != NULL) {
|
||||
char buf[16];
|
||||
snprintf(buf, sizeof(buf), "%us", configChatMessageLifetime);
|
||||
djui_text_set_text(sChatLifetimeLabel, buf);
|
||||
struct DjuiBase* base = &sChatLifetimeLabel->base;
|
||||
if (configChatMessageLifetime < 10) {
|
||||
djui_base_set_color(base, 64, 64, 255, 255);
|
||||
} else if (configChatMessageLifetime == 10) {
|
||||
djui_base_set_color(base, 64, 255, 64, 255);
|
||||
} else {
|
||||
djui_base_set_color(base, 255, 64, 64, 255);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void djui_panel_chat_create(struct DjuiBase* caller) {
|
||||
struct DjuiThreePanel* panel = djui_panel_menu_create(DLANG(CHAT_OPTIONS, CHAT), false);
|
||||
struct DjuiBase* body = djui_three_panel_get_body(panel);
|
||||
|
|
@ -91,11 +139,38 @@ void djui_panel_chat_create(struct DjuiBase* caller) {
|
|||
}
|
||||
djui_base_set_color(&gDjuiChatBox->chatFlow->base, 0, 0, 0, alpha);
|
||||
}
|
||||
djui_panel_chat_update_value_labels();
|
||||
}
|
||||
void on_chat_lifetime_change(UNUSED struct DjuiBase* b) {
|
||||
djui_panel_chat_update_value_labels();
|
||||
}
|
||||
|
||||
djui_slider_create(body, DLANG(CHAT_OPTIONS, CHAT_TEXT_SCALE), &configChatTextScale, 50, 150, on_chat_style_change);
|
||||
djui_slider_create(body, DLANG(CHAT_OPTIONS, CHAT_OPACITY), &configChatOpacity, 0, 100, on_chat_style_change);
|
||||
djui_slider_create(body, DLANG(CHAT_OPTIONS, CHAT_LIFETIME), &configChatMessageLifetime, 3, 60, NULL);
|
||||
struct DjuiSlider* sliderTextScale = djui_slider_create(body, DLANG(CHAT_OPTIONS, CHAT_TEXT_SCALE), &configChatTextScale, 50, 150, on_chat_style_change);
|
||||
struct DjuiSlider* sliderOpacity = djui_slider_create(body, DLANG(CHAT_OPTIONS, CHAT_OPACITY), &configChatOpacity, 0, 100, on_chat_style_change);
|
||||
struct DjuiSlider* sliderLifetime = djui_slider_create(body, DLANG(CHAT_OPTIONS, CHAT_LIFETIME), &configChatMessageLifetime, 1, 120, on_chat_lifetime_change);
|
||||
|
||||
sChatTextScaleLabel = djui_text_create(&sliderTextScale->rect->base, "");
|
||||
djui_base_set_alignment(&sChatTextScaleLabel->base, DJUI_HALIGN_CENTER, DJUI_VALIGN_CENTER);
|
||||
djui_base_set_size_type(&sChatTextScaleLabel->base, DJUI_SVT_RELATIVE, DJUI_SVT_RELATIVE);
|
||||
djui_base_set_size(&sChatTextScaleLabel->base, 1.0f, 1.0f);
|
||||
djui_text_set_alignment(sChatTextScaleLabel, DJUI_HALIGN_CENTER, DJUI_VALIGN_CENTER);
|
||||
djui_text_set_drop_shadow(sChatTextScaleLabel, 64, 64, 64, 100);
|
||||
|
||||
sChatOpacityLabel = djui_text_create(&sliderOpacity->rect->base, "");
|
||||
djui_base_set_alignment(&sChatOpacityLabel->base, DJUI_HALIGN_CENTER, DJUI_VALIGN_CENTER);
|
||||
djui_base_set_size_type(&sChatOpacityLabel->base, DJUI_SVT_RELATIVE, DJUI_SVT_RELATIVE);
|
||||
djui_base_set_size(&sChatOpacityLabel->base, 1.0f, 1.0f);
|
||||
djui_text_set_alignment(sChatOpacityLabel, DJUI_HALIGN_CENTER, DJUI_VALIGN_CENTER);
|
||||
djui_text_set_drop_shadow(sChatOpacityLabel, 64, 64, 64, 100);
|
||||
|
||||
sChatLifetimeLabel = djui_text_create(&sliderLifetime->rect->base, "");
|
||||
djui_base_set_alignment(&sChatLifetimeLabel->base, DJUI_HALIGN_CENTER, DJUI_VALIGN_CENTER);
|
||||
djui_base_set_size_type(&sChatLifetimeLabel->base, DJUI_SVT_RELATIVE, DJUI_SVT_RELATIVE);
|
||||
djui_base_set_size(&sChatLifetimeLabel->base, 1.0f, 1.0f);
|
||||
djui_text_set_alignment(sChatLifetimeLabel, DJUI_HALIGN_CENTER, DJUI_VALIGN_CENTER);
|
||||
djui_text_set_drop_shadow(sChatLifetimeLabel, 64, 64, 64, 100);
|
||||
|
||||
djui_panel_chat_update_value_labels();
|
||||
|
||||
djui_button_create(body, DLANG(MENU, BACK), DJUI_BUTTON_STYLE_BACK, djui_panel_menu_back);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue