added chat height setting

This commit is contained in:
iZePlayz 2025-11-20 22:10:40 +01:00
parent 3872c80a9e
commit 11db52cd09
15 changed files with 39 additions and 4 deletions

View file

@ -333,6 +333,7 @@ L_BUTTON = "Tlačítko L - Znovu načíst aktivní mody"
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "Použít ovládání chatu Terminal/CMD"
CHAT_WIDTH = "Šířka chatu"
CHAT_HEIGHT = "Výška chatu"
CHAT_SIZE_TINY = "Drobná"
CHAT_SIZE_VERY_SMALL = "Velmi malá"
CHAT_SIZE_SMALL = "Malá"

View file

@ -333,6 +333,7 @@ L_BUTTON = "L-knop - Actieve mods opnieuw laden"
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "Terminal/CMD Chatbox besturingen gebruiken"
CHAT_WIDTH = "Chatbreedte"
CHAT_HEIGHT = "Chathoogte"
CHAT_SIZE_TINY = "Zeer klein"
CHAT_SIZE_VERY_SMALL = "Erg klein"
CHAT_SIZE_SMALL = "Klein"

View file

@ -333,6 +333,7 @@ L_BUTTON = "L Button - Reload Active Mods"
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "Use Terminal/CMD Chatbox Controls"
CHAT_WIDTH = "Chat Width"
CHAT_HEIGHT = "Chat Height"
CHAT_SIZE_TINY = "Tiny"
CHAT_SIZE_VERY_SMALL = "Very Small"
CHAT_SIZE_SMALL = "Small"

View file

@ -333,6 +333,7 @@ L_BUTTON = "Bouton L - Recharger les mods actifs"
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "Utiliser les contrôles de chat Terminal/CMD"
CHAT_WIDTH = "Largeur du chat"
CHAT_HEIGHT = "Hauteur du chat"
CHAT_SIZE_TINY = "Minuscule"
CHAT_SIZE_VERY_SMALL = "Très petite"
CHAT_SIZE_SMALL = "Petite"

View file

@ -333,6 +333,7 @@ L_BUTTON = "L-Taste - Aktive Mods neu laden"
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "Terminal/CMD Chatbox-Steuerung verwenden"
CHAT_WIDTH = "Chatbreite"
CHAT_HEIGHT = "Chathöhe"
CHAT_SIZE_TINY = "Winzig"
CHAT_SIZE_VERY_SMALL = "Sehr klein"
CHAT_SIZE_SMALL = "Klein"

View file

@ -331,6 +331,7 @@ L_BUTTON = "Pulsante L - Ricarica Mod Attive"
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "Usa controlli chat Terminale/CMD"
CHAT_WIDTH = "Larghezza chat"
CHAT_HEIGHT = "Altezza chat"
CHAT_SIZE_TINY = "Minuscola"
CHAT_SIZE_VERY_SMALL = "Molto piccola"
CHAT_SIZE_SMALL = "Piccola"

View file

@ -334,6 +334,7 @@ L_BUTTON = "Lボタン - アクティブなMODを再読み込み"
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "ターミナル/CMDチャットボックスコントロールを使用"
CHAT_WIDTH = "チャット幅"
CHAT_HEIGHT = "チャットの高さ"
CHAT_SIZE_TINY = "とても小さい"
CHAT_SIZE_VERY_SMALL = "かなり小さい"
CHAT_SIZE_SMALL = "小さい"

View file

@ -333,6 +333,7 @@ L_BUTTON = "Przycisk L - Przeładuj aktywne mody"
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "Użyj sterowania czatu Terminal/CMD"
CHAT_WIDTH = "Szerokość czatu"
CHAT_HEIGHT = "Wysokość czatu"
CHAT_SIZE_TINY = "Maleńka"
CHAT_SIZE_VERY_SMALL = "Bardzo mała"
CHAT_SIZE_SMALL = "Mała"

View file

@ -333,6 +333,7 @@ L_BUTTON = "Botão L - Recarregar mods ativos"
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "Usar controles de chat Terminal/CMD"
CHAT_WIDTH = "Largura do chat"
CHAT_HEIGHT = "Altura do chat"
CHAT_SIZE_TINY = "Minúsculo"
CHAT_SIZE_VERY_SMALL = "Muito pequena"
CHAT_SIZE_SMALL = "Pequena"

View file

@ -332,6 +332,7 @@ L_BUTTON = "Кнопка L - Перезагрузить активные мод
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "Использовать управление чатом Terminal/CMD"
CHAT_WIDTH = "Ширина чата"
CHAT_HEIGHT = "Высота чата"
CHAT_SIZE_TINY = "Крошечная"
CHAT_SIZE_VERY_SMALL = "Очень маленькая"
CHAT_SIZE_SMALL = "Маленькая"

View file

@ -333,6 +333,7 @@ L_BUTTON = "Botón L - Recargar mods activos"
[CHAT_OPTIONS]
USE_STANDARD_KEY_BINDINGS_CHAT = "Usar controles de chat Terminal/CMD"
CHAT_WIDTH = "Ancho del chat"
CHAT_HEIGHT = "Altura del chat"
CHAT_SIZE_TINY = "Minúsculo"
CHAT_SIZE_VERY_SMALL = "Muy pequeño"
CHAT_SIZE_SMALL = "Pequeño"

View file

@ -136,6 +136,7 @@ bool configUseStandardKeyBindingsChat = true;
bool configChatCharCounter = true;
bool configDisableChatWhenClosed = false;
unsigned int configChatWidth = 800;
unsigned int configChatHeight = 400;
bool configSmoothScrolling = false;
// free camera settings
bool configEnableFreeCamera = false;
@ -283,6 +284,7 @@ static const struct ConfigOption options[] = {
#endif
{.name = "use_standard_key_bindings_chat", .type = CONFIG_TYPE_BOOL, .boolValue = &configUseStandardKeyBindingsChat},
{.name = "chat_width", .type = CONFIG_TYPE_UINT, .uintValue = &configChatWidth},
{.name = "chat_height", .type = CONFIG_TYPE_UINT, .uintValue = &configChatHeight},
{.name = "chat_char_counter", .type = CONFIG_TYPE_BOOL, .boolValue = &configChatCharCounter},
{.name = "disable_chat_when_closed", .type = CONFIG_TYPE_BOOL, .boolValue = &configDisableChatWhenClosed},
{.name = "smooth_scrolling", .type = CONFIG_TYPE_BOOL, .boolValue = &configSmoothScrolling},

View file

@ -99,6 +99,7 @@ extern bool configUseStandardKeyBindingsChat;
extern bool configChatCharCounter;
extern bool configDisableChatWhenClosed;
extern unsigned int configChatWidth;
extern unsigned int configChatHeight;
extern bool configSmoothScrolling;
// free camera settings
extern bool configEnableFreeCamera;

View file

@ -645,7 +645,7 @@ struct DjuiChatBox* djui_chat_box_create(void) {
djui_base_init(&gDjuiRoot->base, base, djui_chat_box_render, djui_chat_box_destroy);
djui_base_set_size_type(base, DJUI_SVT_ABSOLUTE, DJUI_SVT_ABSOLUTE);
djui_base_set_size(base, configChatWidth, 400);
djui_base_set_size(base, configChatWidth, configChatHeight);
djui_base_set_alignment(base, DJUI_HALIGN_LEFT, DJUI_VALIGN_BOTTOM);
djui_base_set_color(base, 0, 0, 0, 0);
djui_base_set_padding(base, 0, 8, 8, 8);

View file

@ -25,7 +25,19 @@ void djui_panel_chat_create(struct DjuiBase* caller) {
default: sChatWidthIndex = 3; break;
}
char* chatWidthChoices[] = {
static unsigned int sChatHeightIndex = 3;
switch (configChatHeight) {
case 250: sChatHeightIndex = 0; break;
case 300: sChatHeightIndex = 1; break;
case 350: sChatHeightIndex = 2; break;
case 400: sChatHeightIndex = 3; break;
case 450: sChatHeightIndex = 4; break;
case 500: sChatHeightIndex = 5; break;
case 550: sChatHeightIndex = 6; break;
default: sChatHeightIndex = 3; break;
}
char* chatSizeChoices[] = {
DLANG(CHAT_OPTIONS, CHAT_SIZE_TINY),
DLANG(CHAT_OPTIONS, CHAT_SIZE_VERY_SMALL),
DLANG(CHAT_OPTIONS, CHAT_SIZE_SMALL),
@ -34,7 +46,7 @@ void djui_panel_chat_create(struct DjuiBase* caller) {
DLANG(CHAT_OPTIONS, CHAT_SIZE_VERY_BIG),
DLANG(CHAT_OPTIONS, CHAT_SIZE_HUGE)
};
void on_CHAT_SIZE_change(UNUSED struct DjuiBase* b) {
void on_chat_width_change(UNUSED struct DjuiBase* b) {
unsigned int idx = sChatWidthIndex;
unsigned int widths[] = { 500, 600, 700, 800, 900, 1000, 1100 };
configChatWidth = widths[idx];
@ -42,7 +54,16 @@ void djui_panel_chat_create(struct DjuiBase* caller) {
djui_base_set_size(&gDjuiChatBox->base, configChatWidth, gDjuiChatBox->base.height.value);
}
}
djui_selectionbox_create(body, DLANG(CHAT_OPTIONS, CHAT_WIDTH), chatWidthChoices, 7, &sChatWidthIndex, on_CHAT_SIZE_change);
void on_chat_height_change(UNUSED struct DjuiBase* b) {
unsigned int idx = sChatHeightIndex;
unsigned int heights[] = { 250, 300, 350, 400, 450, 500, 550 };
configChatHeight = heights[idx];
if (gDjuiChatBox != NULL) {
djui_base_set_size(&gDjuiChatBox->base, gDjuiChatBox->base.width.value, configChatHeight);
}
}
djui_selectionbox_create(body, DLANG(CHAT_OPTIONS, CHAT_WIDTH), chatSizeChoices, 7, &sChatWidthIndex, on_chat_width_change);
djui_selectionbox_create(body, DLANG(CHAT_OPTIONS, CHAT_HEIGHT), chatSizeChoices, 7, &sChatHeightIndex, on_chat_height_change);
djui_button_create(body, DLANG(MENU, BACK), DJUI_BUTTON_STYLE_BACK, djui_panel_menu_back);
}