sleeping_root/game/gui.rpy

487 lines
22 KiB
Plaintext
Raw Normal View History

################################################################################
## Инициализация
################################################################################
## Оператор init offset повышает приоритет инициализации в этом файле над
## другими файлами, из-за чего инициализация здесь запускается первее.
init offset = -2
## Вызываю gui.init, чтобы сбросить стили, чувствительные к стандартным
## значениям, и задать высоту и ширину окна игры.
init python:
gui.init(1920, 1080)
## Включить проверку на недопустимые или нестабильные свойства в экранах или
## преобразованиях
define config.check_conflicting_properties = True
################################################################################
## Конфигурируемые Переменные GUI
################################################################################
## Цвета #######################################################################
##
## Цвета текста в интерфейсе.
## Акцентный цвет используется в заголовках и подчёркнутых текстах.
define gui.accent_color = '#66cc00'
## Цвет, используемый в текстовой кнопке, когда она не выбрана и не наведена.
define gui.idle_color = '#888888'
## Small_color используется в маленьком тексте, который должен быть ярче/темнее,
## для того, чтобы выделяться.
define gui.idle_small_color = '#aaaaaa'
## Цвет, используемых в кнопках и панелях, когда они наведены.
define gui.hover_color = '#a3e066'
## Цвет, используемый текстовой кнопкой, когда она выбрана, но не наведена.
## Кнопка может быть выбрана, если это текущий экран или текущее значение
## настройки.
define gui.selected_color = '#ffffff'
## Цвет, используемый текстовой кнопкой, когда она не может быть выбрана.
define gui.insensitive_color = '#8888887f'
## Цвета, используемые для частей панелей, которые не заполняются. Они
## используются не напрямую, а только при воссоздании файлов изображений.
define gui.muted_color = '#285100'
define gui.hover_muted_color = '#3d7a00'
## Цвета, используемые в тексте диалогов и выборов.
define gui.text_color = '#ffffff'
define gui.interface_text_color = '#ffffff'
## Шрифты и их размеры #########################################################
## Шрифт, используемый внутриигровым текстом.
define gui.text_font = "terminus.ttf"
## Шрифт, используемый именами персонажей.
define gui.name_text_font = "terminus.ttf"
## Шрифт, используемый текстом вне игры.
define gui.interface_text_font = "terminus.ttf"
## Размер нормального текста диалога.
define gui.text_size = 33
## Размер имён персонажей.
define gui.name_text_size = 45
## Размер текста в пользовательском интерфейсе.
define gui.interface_text_size = 33
## Размер заголовков в пользовательском интерфейсе.
define gui.label_text_size = 36
## Размер текста на экране уведомлений.
define gui.notify_text_size = 24
## Размер заголовка игры.
define gui.title_text_size = 75
## Главное и игровое меню. #####################################################
## Изображения, используемые в главном и игровом меню.
define gui.main_menu_background = "gui/main_menu.png"
define gui.game_menu_background = "gui/game_menu.png"
## Диалог ######################################################################
##
## Эти переменные контролируют, как диалог появляется на отдельной строчке.
## Высота текстового окна, содержащего диалог.
define gui.textbox_height = 278
## Местоположение текстового окна по вертикали экрана. 0.0 — верх, 0.5 — центр и
## 1.0 — низ.
define gui.textbox_yalign = 1.0
## Местоположение имени говорящего персонажа по отношению к текстовому окну.
## Это могут быть целые значения в пикселях слева и сверху от начала окна или
## процентное отношение, например, 0.5 для центрирования.
define gui.name_xpos = 360
define gui.name_ypos = 0
## Горизонтальное выравнивание имени персонажа. Это может быть 0.0 для
## левоориентированного, 0.5 для центрированного и 1.0 для правоориентированного
## выравнивания.
define gui.name_xalign = 0.0
## Ширина, высота и границы окна, содержащего имя персонажа или None, для
## автоматической размерки.
define gui.namebox_width = None
define gui.namebox_height = None
## Границы окна, содержащего имя персонажа слева, сверху, справа и снизу по
## порядку.
define gui.namebox_borders = Borders(5, 5, 5, 5)
## Если True, фон текстового окна будет моститься (расширяться по эффекту
## плитки). Если False, фон текстового окна будет фиксированным.
define gui.namebox_tile = False
## Размещение диалога по отношению к текстовому окну. Это могут быть целые
## значения в пикселях слева и сверху от текстового окна или процентное
## отношение, например, 0.5 для центрирования.
define gui.dialogue_xpos = 402
define gui.dialogue_ypos = 75
## Максимальная ширина текста диалога в пикселях.
define gui.dialogue_width = 1116
## Горизонтальное выравнивание текста диалога. Это может быть 0.0 для
## левоориентированного, 0.5 для центрированного и 1.0 для правоориентированного
## выравнивания.
define gui.dialogue_text_xalign = 0.0
## Кнопки ######################################################################
##
## Эти переменные, вместе с файлами изображений в gui/button, контролируют
## аспекты того, как отображаются кнопки.
## Ширина и высота кнопки в пикселях. Если None, Ren'Py самостоятельно
## рассчитает размер.
define gui.button_width = None
define gui.button_height = None
## Границы каждой стороны кнопки в порядке слева, сверху, справа, снизу.
define gui.button_borders = Borders(6, 6, 6, 6)
## Если True, фон изображения будет моститься. Если False, фон изображения будет
## линейно масштабирован.
define gui.button_tile = False
## Шрифт, используемый кнопкой.
define gui.button_text_font = gui.interface_text_font
## Размер текста, используемый кнопкой.
define gui.button_text_size = gui.interface_text_size
## Цвет текста в кнопке в различных состояниях.
define gui.button_text_idle_color = gui.idle_color
define gui.button_text_hover_color = gui.hover_color
define gui.button_text_selected_color = gui.selected_color
define gui.button_text_insensitive_color = gui.insensitive_color
## Горизонтальное выравнивание текста в кнопке. (0.0 — лево, 0.5 — по центру,
## 1.0 — право).
define gui.button_text_xalign = 0.0
## Эти переменные переписывают настройки различных видов кнопок. Пожалуйста,
## посмотрите документацию по gui для просмотра всех вариаций кнопок и для чего
## каждая из них нужна.
##
## Эти настройки используются стандартным интерфейсом:
define gui.radio_button_borders = Borders(27, 6, 6, 6)
define gui.check_button_borders = Borders(27, 6, 6, 6)
define gui.confirm_button_text_xalign = 0.5
define gui.page_button_borders = Borders(15, 6, 15, 6)
define gui.quick_button_borders = Borders(15, 6, 15, 0)
define gui.quick_button_text_size = 21
define gui.quick_button_text_idle_color = gui.idle_small_color
define gui.quick_button_text_selected_color = gui.accent_color
## Вы также можете добавить собственные настройки, добавляя правильно
## именованные переменные. Например, вы можете раскомментировать следующую
## строчку, чтобы установить ширину кнопок навигации.
# define gui.navigation_button_width = 250
## Кнопки Выбора ###############################################################
##
## Кнопки выбора используются во внутриигровых меню.
define gui.choice_button_width = 1185
define gui.choice_button_height = None
define gui.choice_button_tile = False
define gui.choice_button_borders = Borders(150, 8, 150, 8)
define gui.choice_button_text_font = gui.text_font
define gui.choice_button_text_size = gui.text_size
define gui.choice_button_text_xalign = 0.5
define gui.choice_button_text_idle_color = '#888888'
define gui.choice_button_text_hover_color = "#ffffff"
define gui.choice_button_text_insensitive_color = '#8888887f'
## Кнопки Слотов ###############################################################
##
## Кнопка слотов — особый вид кнопки. Она содержит миниатюру и текст,
## описывающий слот сохранения. Слот сохранения использует файлы из gui/button,
## как и другие виды кнопок.
## Кнопка слота сохранения.
define gui.slot_button_width = 414
define gui.slot_button_height = 309
define gui.slot_button_borders = Borders(15, 15, 15, 15)
define gui.slot_button_text_size = 21
define gui.slot_button_text_xalign = 0.5
define gui.slot_button_text_idle_color = gui.idle_small_color
define gui.slot_button_text_selected_idle_color = gui.selected_color
define gui.slot_button_text_selected_hover_color = gui.hover_color
## Ширина и высота миниатюры, используемой слотом сохранения.
define config.thumbnail_width = 384
define config.thumbnail_height = 216
## Количество колонок и рядов в таблице слотов.
define gui.file_slot_cols = 3
define gui.file_slot_rows = 2
## Позиционирование и Интервалы ################################################
##
## Эти переменные контролируют позиционирование и интервалы различных элементов
## пользовательского интерфейса.
## Местоположение левого края навигационных кнопок по отношению к левому краю
## экрана.
define gui.navigation_xpos = 60
## Вертикальная позиция индикатора пропуска.
define gui.skip_ypos = 15
## Вертикальная позиция экрана уведомлений.
define gui.notify_ypos = 68
## Интервал между выборами в меню.
define gui.choice_spacing = 33
## Кнопки в секции навигации главного и игрового меню.
define gui.navigation_spacing = 6
## Контролирует интервал между настройками.
define gui.pref_spacing = 15
## Контролирует интервал между кнопками настройки.
define gui.pref_button_spacing = 0
## Интервал между кнопками страниц.
define gui.page_spacing = 0
## Интервал между слотами.
define gui.slot_spacing = 15
## Позиция текста главного меню.
define gui.main_menu_text_xalign = 1.0
## Рамки #######################################################################
##
## Эти переменные контролируют вид рамок, содержащих компоненты
## пользовательского интерфейса, когда наложения или окна не представлены.
## Генерируем рамки.
define gui.frame_borders = Borders(6, 6, 6, 6)
## Рамки, используемые в частях экрана подтверждения.
define gui.confirm_frame_borders = Borders(60, 60, 60, 60)
## Рамки, используемые в частях экрана пропуска.
define gui.skip_frame_borders = Borders(24, 8, 75, 8)
## Рамки, используемые в частях экрана уведомлений.
define gui.notify_frame_borders = Borders(24, 8, 60, 8)
## Должны ли фоны рамок моститься?
define gui.frame_tile = False
## Панели, Полосы прокрутки и Ползунки #########################################
##
## Эти настройки контролируют вид и размер панелей, полос прокрутки и ползунков.
##
## Стандартный GUI использует только ползунки и вертикальные полосы прокрутки.
## Все остальные полосы используются только в новосозданных экранах.
## Высота горизонтальных панелей, полос прокрутки и ползунков. Ширина
## вертикальных панелей, полос прокрутки и ползунков.
define gui.bar_size = 38
define gui.scrollbar_size = 18
define gui.slider_size = 38
## True, если изображения панелей должны моститься. False, если они должны быть
## линейно масштабированы.
define gui.bar_tile = False
define gui.scrollbar_tile = False
define gui.slider_tile = False
## Горизонтальные границы.
define gui.bar_borders = Borders(6, 6, 6, 6)
define gui.scrollbar_borders = Borders(6, 6, 6, 6)
define gui.slider_borders = Borders(6, 6, 6, 6)
## Вертикальные границы.
define gui.vbar_borders = Borders(6, 6, 6, 6)
define gui.vscrollbar_borders = Borders(6, 6, 6, 6)
define gui.vslider_borders = Borders(6, 6, 6, 6)
## Что делать с непрокручиваемыми полосами прокрутки в интерфейсе. "hide" прячет
## их, а None их показывает.
define gui.unscrollable = "hide"
## История #####################################################################
##
## Экран истории показывает диалог, который игрок уже прошёл.
## Количество диалоговых блоков истории, которые Ren'Py будет хранить.
define config.history_length = 250
## Высота доступных записей на экране истории, или None, чтобы задать высоту в
## зависимости от производительности.
define gui.history_height = 210
## Дополнительное пространство добавляемое между записями экрана истории.
define gui.history_spacing = 0
## Местоположение, ширина и выравнивание заголовка, показывающего имя говорящего
## персонажа.
define gui.history_name_xpos = 233
define gui.history_name_ypos = 0
define gui.history_name_width = 233
define gui.history_name_xalign = 1.0
## Местоположение, ширина и выравнивание диалогового текста.
define gui.history_text_xpos = 255
define gui.history_text_ypos = 3
define gui.history_text_width = 1110
define gui.history_text_xalign = 0.0
## Режим NVL ###################################################################
##
## Экран режима NVL показывает диалог NVL персонажей.
## Границы фона окна NVL.
define gui.nvl_borders = Borders(0, 15, 0, 30)
## Максимальное число показываемых строк в режиме NVL. Когда количество строчек
## начинает превышать это значение, старые строчки очищаются.
define gui.nvl_list_length = 6
## Высота доступных строчек в режиме NVL. Установите на None, чтобы строчки
## динамически регулировали свою высоту.
define gui.nvl_height = 173
## Интервал между строчками в режиме NVL, если gui.nvl_height имеет значение
## None, а также между строчками и меню режима NVL.
define gui.nvl_spacing = 15
## Местоположение, ширина и выравнивание заголовка, показывающего имя говорящего
## персонажа.
define gui.nvl_name_xpos = 645
define gui.nvl_name_ypos = 0
define gui.nvl_name_width = 225
define gui.nvl_name_xalign = 1.0
## Местоположение, ширина и выравнивание диалогового текста.
define gui.nvl_text_xpos = 675
define gui.nvl_text_ypos = 12
define gui.nvl_text_width = 885
define gui.nvl_text_xalign = 0.0
## Местоположение, ширина и выравнивание текста nvl_thought (текст от лица
## персонажа nvl_narrator).
define gui.nvl_thought_xpos = 360
define gui.nvl_thought_ypos = 0
define gui.nvl_thought_width = 1170
define gui.nvl_thought_xalign = 0.0
## Местоположение кнопок меню NVL.
define gui.nvl_button_xpos = 675
define gui.nvl_button_xalign = 0.0
## Локализация #################################################################
## Эта настройка контролирует доступ к разрыву линий. Стандартная настройка
## подходит для большинства языков. Список доступных значений можно найти на
## https://www.renpy.org/doc/html/style_properties.html#style-property-language
define gui.language = "unicode"
################################################################################
## Мобильные устройства
################################################################################
init python:
## Этот параметр увеличивает размер быстрых кнопок, чтобы сделать их
## доступнее для нажатия на планшетах и телефонах.
@gui.variant
def touch():
gui.quick_button_borders = Borders(60, 21, 60, 0)
## Это изменяет размеры и интервалы различных элементов GUI, чтобы
## убедиться, что они будут лучше видны на телефонах.
@gui.variant
def small():
## Размеры шрифтов.
gui.text_size = 45
gui.name_text_size = 54
gui.notify_text_size = 38
gui.interface_text_size = 45
gui.button_text_size = 45
gui.label_text_size = 51
## Регулирует местоположение текстового окна.
gui.textbox_height = 360
gui.name_xpos = 120
gui.dialogue_xpos = 135
gui.dialogue_width = 1650
## Изменяет размеры и интервалы различных объектов.
gui.slider_size = 54
gui.choice_button_width = 1860
gui.choice_button_text_size = 45
gui.navigation_spacing = 30
gui.pref_button_spacing = 15
gui.history_height = 285
gui.history_text_width = 1035
gui.quick_button_text_size = 30
## Местоположение кнопок слотов.
gui.file_slot_cols = 2
gui.file_slot_rows = 2
## Режим NVL.
gui.nvl_height = 255
gui.nvl_name_width = 458
gui.nvl_name_xpos = 488
gui.nvl_text_width = 1373
gui.nvl_text_xpos = 518
gui.nvl_text_ypos = 8
gui.nvl_thought_width = 1860
gui.nvl_thought_xpos = 30
gui.nvl_button_width = 1860
gui.nvl_button_xpos = 30