From 89578ff257ac95c7dd848689c2fb31b2fa2213e2 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 23 Nov 2024 14:56:06 +0300 Subject: [PATCH 1/6] add json and toml libraries docs reference to scripting.md --- doc/en/scripting.md | 1 + doc/ru/scripting.md | 1 + 2 files changed, 2 insertions(+) diff --git a/doc/en/scripting.md b/doc/en/scripting.md index 7f5f3dda..6d9cc0a1 100644 --- a/doc/en/scripting.md +++ b/doc/en/scripting.md @@ -17,6 +17,7 @@ Subsections: - [hud](scripting/builtins/libhud.md) - [inventory](scripting/builtins/libinventory.md) - [item](scripting/builtins/libitem.md) + - [json, toml](scripting/filesystem.md) - [mat4](scripting/builtins/libmat4.md) - [pack](scripting/builtins/libpack.md) - [player](scripting/builtins/libplayer.md) diff --git a/doc/ru/scripting.md b/doc/ru/scripting.md index 6f092570..0cc3eb97 100644 --- a/doc/ru/scripting.md +++ b/doc/ru/scripting.md @@ -17,6 +17,7 @@ - [hud](scripting/builtins/libhud.md) - [inventory](scripting/builtins/libinventory.md) - [item](scripting/builtins/libitem.md) + - [json, toml](scripting/filesystem.md) - [mat4](scripting/builtins/libmat4.md) - [pack](scripting/builtins/libpack.md) - [player](scripting/builtins/libplayer.md) From 8c0d3605438d2f03734923418f9007dbc9b60c41 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 23 Nov 2024 15:11:17 +0300 Subject: [PATCH 2/6] add doc/*/scripting/builtins/libbase64.md --- doc/en/scripting.md | 3 ++- doc/en/scripting/builtins/libbase64.md | 11 +++++++++++ doc/ru/scripting.md | 3 ++- doc/ru/scripting/builtins/libbase64.md | 11 +++++++++++ 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 doc/en/scripting/builtins/libbase64.md create mode 100644 doc/ru/scripting/builtins/libbase64.md diff --git a/doc/en/scripting.md b/doc/en/scripting.md index 6d9cc0a1..7f0ede5b 100644 --- a/doc/en/scripting.md +++ b/doc/en/scripting.md @@ -9,6 +9,8 @@ Subsections: - [UI properties and methods](scripting/ui.md) - [Entities and components](scripting/ecs.md) - [Libraries](#) + - [base64](scripting/builtins/libbase64.md) + - [bjson, json, toml](scripting/filesystem.md) - [block](scripting/builtins/libblock.md) - [cameras](scripting/builtins/libcameras.md) - [entities](scripting/builtins/libentities.md) @@ -17,7 +19,6 @@ Subsections: - [hud](scripting/builtins/libhud.md) - [inventory](scripting/builtins/libinventory.md) - [item](scripting/builtins/libitem.md) - - [json, toml](scripting/filesystem.md) - [mat4](scripting/builtins/libmat4.md) - [pack](scripting/builtins/libpack.md) - [player](scripting/builtins/libplayer.md) diff --git a/doc/en/scripting/builtins/libbase64.md b/doc/en/scripting/builtins/libbase64.md new file mode 100644 index 00000000..fdfd467e --- /dev/null +++ b/doc/en/scripting/builtins/libbase64.md @@ -0,0 +1,11 @@ +# *base64* library + +Library for base64 encoding/decoding. + +```lua +-- Encode bytes to base64 string +base64.encode(bytes: table|ByteArray) -> str + +-- Decode base64 string to ByteArray or lua table if second argument is set to true +base64.decode(base64string: str, [optional]usetable: bool=false) -> table|ByteArray +``` diff --git a/doc/ru/scripting.md b/doc/ru/scripting.md index 0cc3eb97..47dcb07e 100644 --- a/doc/ru/scripting.md +++ b/doc/ru/scripting.md @@ -9,6 +9,8 @@ - [Свойства и методы UI элементов](scripting/ui.md) - [Сущности и компоненты](scripting/ecs.md) - [Библиотеки](#) + - [base64](scripting/builtins/libbase64.md) + - [bjson, json, toml](scripting/filesystem.md) - [block](scripting/builtins/libblock.md) - [cameras](scripting/builtins/libcameras.md) - [entities](scripting/builtins/libentities.md) @@ -17,7 +19,6 @@ - [hud](scripting/builtins/libhud.md) - [inventory](scripting/builtins/libinventory.md) - [item](scripting/builtins/libitem.md) - - [json, toml](scripting/filesystem.md) - [mat4](scripting/builtins/libmat4.md) - [pack](scripting/builtins/libpack.md) - [player](scripting/builtins/libplayer.md) diff --git a/doc/ru/scripting/builtins/libbase64.md b/doc/ru/scripting/builtins/libbase64.md new file mode 100644 index 00000000..77e877bb --- /dev/null +++ b/doc/ru/scripting/builtins/libbase64.md @@ -0,0 +1,11 @@ +# Библиотека *base64* + +Библиотека для base64 кодирования/декодирования. + +```lua +-- Кодирует массив байт в base64 строку +base64.encode(bytes: table|ByteArray) -> str + +-- Декодирует base64 строку в ByteArray или таблицу чисел, если второй аргумент установлен на true +base64.decode(base64string: str, [optional]usetable: bool=false) -> table|ByteArray +``` From c8a08628be98add14d884e26fd024e06eafad866 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 23 Nov 2024 15:23:52 +0300 Subject: [PATCH 3/6] add gfx.particles docs reference to scripting.md --- doc/en/scripting.md | 1 + doc/ru/scripting.md | 1 + 2 files changed, 2 insertions(+) diff --git a/doc/en/scripting.md b/doc/en/scripting.md index 7f0ede5b..8c46d2eb 100644 --- a/doc/en/scripting.md +++ b/doc/en/scripting.md @@ -15,6 +15,7 @@ Subsections: - [cameras](scripting/builtins/libcameras.md) - [entities](scripting/builtins/libentities.md) - [file](scripting/builtins/libfile.md) + - [gfx.particles](particles.md) - [gui](scripting/builtins/libgui.md) - [hud](scripting/builtins/libhud.md) - [inventory](scripting/builtins/libinventory.md) diff --git a/doc/ru/scripting.md b/doc/ru/scripting.md index 47dcb07e..5b449afc 100644 --- a/doc/ru/scripting.md +++ b/doc/ru/scripting.md @@ -15,6 +15,7 @@ - [cameras](scripting/builtins/libcameras.md) - [entities](scripting/builtins/libentities.md) - [file](scripting/builtins/libfile.md) + - [gfx.particles](particles.md) - [gui](scripting/builtins/libgui.md) - [hud](scripting/builtins/libhud.md) - [inventory](scripting/builtins/libinventory.md) From 9ac22f86e1c167f47cb6c3d37db0cdaf6d808e86 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 23 Nov 2024 16:20:07 +0300 Subject: [PATCH 4/6] update default 3d text 'perspective' value --- res/presets/text3d/player_name.toml | 1 + src/presets/NotePreset.hpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/res/presets/text3d/player_name.toml b/res/presets/text3d/player_name.toml index 7942ff48..8946128c 100644 --- a/res/presets/text3d/player_name.toml +++ b/res/presets/text3d/player_name.toml @@ -1,3 +1,4 @@ display = "projected" xray_opacity = 0.3 render_distance = 128 +perspective = 0.0 diff --git a/src/presets/NotePreset.hpp b/src/presets/NotePreset.hpp index c2a1a88b..6c3f548e 100644 --- a/src/presets/NotePreset.hpp +++ b/src/presets/NotePreset.hpp @@ -20,9 +20,9 @@ struct NotePreset : public Serializable { NoteDisplayMode displayMode = NoteDisplayMode::STATIC_BILLBOARD; glm::vec4 color {1.0f}; float scale = 1.0f; - float renderDistance = 10.0f; + float renderDistance = 32.0f; float xrayOpacity = 0.0f; - float perspective = 0.0f; + float perspective = 1.0f; dv::value serialize() const override; void deserialize(const dv::value& src) override; From 72ae0d5d55df34932576313b17d8fcec26abc279 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 23 Nov 2024 16:22:08 +0300 Subject: [PATCH 5/6] add doc/ru/3d-text.md --- doc/en/scripting.md | 2 +- doc/ru/3d-text.md | 86 ++++++++++++++++++++++++++ doc/ru/scripting.md | 3 +- doc/ru/scripting/builtins/libbase64.md | 2 +- 4 files changed, 90 insertions(+), 3 deletions(-) create mode 100644 doc/ru/3d-text.md diff --git a/doc/en/scripting.md b/doc/en/scripting.md index 8c46d2eb..9a39c504 100644 --- a/doc/en/scripting.md +++ b/doc/en/scripting.md @@ -15,7 +15,7 @@ Subsections: - [cameras](scripting/builtins/libcameras.md) - [entities](scripting/builtins/libentities.md) - [file](scripting/builtins/libfile.md) - - [gfx.particles](particles.md) + - [gfx.particles](particles.md#gfxparticles-library) - [gui](scripting/builtins/libgui.md) - [hud](scripting/builtins/libhud.md) - [inventory](scripting/builtins/libinventory.md) diff --git a/doc/ru/3d-text.md b/doc/ru/3d-text.md new file mode 100644 index 00000000..db5fdfd3 --- /dev/null +++ b/doc/ru/3d-text.md @@ -0,0 +1,86 @@ +# 3D Текст + +2D текст отображаемый в 3D пространстве. + +Вид 3D текста, как и [частицы](particles.md), настраивается через таблицу, все поля которой опциональны. + +| Поле | Описание | По-умолчанию | +| --------------- | ------------------------------------------------------- | ----------------- | +| display | Формат отображения | static_billboard | +| color | Цвет текста | {1, 1, 1, 1} | +| scale | Масштаб | 1 | +| renderDistance | Дистанция отрисовки текста | 32 | +| xray_opacity | Коэффициент видимости через препятствия (просвечивание) | 0 | +| perspective | Коэффициент перспективы | 1 | + +Доступные форматы отображения: + +| Формат | Описание | +| ----------------- | ----------------------------------------------------------------- | +| static_billboard | Простой 3D текст в мире с ручным управлением размером и вращением | +| y_free_billboard | Свободно вращающийся по оси Y текст, направляющийся на камеру | +| xy_free_billboard | Свободно вращающийся текст, направляющийся на камеру | +| projected | Проецируемый текст (отображается в экранной системе координат) | + +## Библиотека *gfx.text3d* + +```lua +gfx.text3d.show( + -- позиция текста + position: vec3, + -- отображаемый текст + text: str, + -- таблица настроек частиц + preset: table, + -- дополнительная таблица настроек частиц + [опционально] extension: table +) -> int +``` + +Создаёт 3D текст, возвращая его id. + +```lua +gfx.text3d.hide(id: int) +``` + +Удаляет 3D текст. + +```lua +gfx.text3d.get_text(id: int) -> str +gfx.text3d.set_text(id: int, text: str) +``` + +Геттер и сеттер текста. + +```lua +gfx.text3d.get_pos(id: int) -> vec3 +gfx.text3d.set_pos(id: int, pos: vec3) +``` + +Геттер и сеттер позиции текста. + +```lua +gfx.text3d.get_axis_x(id: int) -> vec3 +gfx.text3d.set_axis_x(id: int, pos: vec3) +``` + +Геттер и сеттер вектора X. + +```lua +gfx.text3d.get_axis_y(id: int) -> vec3 +gfx.text3d.set_axis_y(id: int, pos: vec3) +``` + +Геттер и сеттер вектора Y. + +```lua +gfx.text3d.set_rotation(id: int, rotation: mat4) +``` + +Устанавливает вращение текста (Устанавливает повернутые вектора X,Y). + +```lua +gfx.text3d.update_settings(id: int, preset: table) +``` + +Обновляет настройки отображения текста. diff --git a/doc/ru/scripting.md b/doc/ru/scripting.md index 5b449afc..19f4570a 100644 --- a/doc/ru/scripting.md +++ b/doc/ru/scripting.md @@ -15,7 +15,8 @@ - [cameras](scripting/builtins/libcameras.md) - [entities](scripting/builtins/libentities.md) - [file](scripting/builtins/libfile.md) - - [gfx.particles](particles.md) + - [gfx.particles](particles.md#библиотека-gfxparticles) + - [gfx.text3d](3d-text.md#библиотека-gfxtext3d) - [gui](scripting/builtins/libgui.md) - [hud](scripting/builtins/libhud.md) - [inventory](scripting/builtins/libinventory.md) diff --git a/doc/ru/scripting/builtins/libbase64.md b/doc/ru/scripting/builtins/libbase64.md index 77e877bb..7078fa0b 100644 --- a/doc/ru/scripting/builtins/libbase64.md +++ b/doc/ru/scripting/builtins/libbase64.md @@ -7,5 +7,5 @@ base64.encode(bytes: table|ByteArray) -> str -- Декодирует base64 строку в ByteArray или таблицу чисел, если второй аргумент установлен на true -base64.decode(base64string: str, [optional]usetable: bool=false) -> table|ByteArray +base64.decode(base64string: str, [опционально]usetable: bool=false) -> table|ByteArray ``` From 761a19a96094fcf683d31352f2fdd1b3d367829f Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 23 Nov 2024 16:36:47 +0300 Subject: [PATCH 6/6] add doc/en/3d-text.md --- doc/en/3d-text.md | 86 +++++++++++++++++++++++++++++++++++++++++++++ doc/en/scripting.md | 1 + doc/ru/3d-text.md | 4 +-- 3 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 doc/en/3d-text.md diff --git a/doc/en/3d-text.md b/doc/en/3d-text.md new file mode 100644 index 00000000..3f3dc7f1 --- /dev/null +++ b/doc/en/3d-text.md @@ -0,0 +1,86 @@ +# 3D Text + +2D text displayed in 3D space. + +The appearance of 3D text, is configured via a table, like [particles](particles.md). All fields are optional. + +| Field | Description | Default | +| -------------- | ---------------------------- | ---------------- | +| display | Display format | static_billboard | +| color | Text color | {1, 1, 1, 1} | +| scale | Text scale | 1 | +| renderDistance | Text rendering distance | 32 | +| xray_opacity | Visibility through obstacles | 0 | +| perspective | Perspective coefficient | 1 | + +Available display formats: + +| Format | Description | +| ----------------- | ----------------------------------------------------------------- | +| static_billboard | Simple 3D text in the world with manual size and rotation control | +| y_free_billboard | Freely rotating text on the Y axis facing the camera | +| xy_free_billboard | Freely rotating text facing the camera | +| projected | Projected text (displayed in screen coordinates) | + +## *gfx.text3d* library + +```lua +gfx.text3d.show( + -- text position + position: vec3, + -- text to display + text: str, + -- text display settings table + preset: table, + -- additional text display settings table + [optional] extension: table +) -> int +``` + +Creates 3D text, returning its id. + +```lua +gfx.text3d.hide(id: int) +``` + +Removes 3D text. + +```lua +gfx.text3d.get_text(id: int) -> str +gfx.text3d.set_text(id: int, text: str) +``` + +Text getter and setter. + +```lua +gfx.text3d.get_pos(id: int) -> vec3 +gfx.text3d.set_pos(id: int, pos: vec3) +``` + +Text position getter and setter. + +```lua +gfx.text3d.get_axis_x(id: int) -> vec3 +gfx.text3d.set_axis_x(id: int, pos: vec3) +``` + +Getter and setter of vector X. + +```lua +gfx.text3d.get_axis_y(id: int) -> vec3 +gfx.text3d.set_axis_y(id: int, pos: vec3) +``` + +Getter and setter of vector Y. + +```lua +gfx.text3d.set_rotation(id: int, rotation: mat4) +``` + +Sets the text rotation (Sets the rotated vectors X,Y). + +```lua +gfx.text3d.update_settings(id: int, preset: table) +``` + +Updates text display settings. diff --git a/doc/en/scripting.md b/doc/en/scripting.md index 9a39c504..6b33f7d9 100644 --- a/doc/en/scripting.md +++ b/doc/en/scripting.md @@ -16,6 +16,7 @@ Subsections: - [entities](scripting/builtins/libentities.md) - [file](scripting/builtins/libfile.md) - [gfx.particles](particles.md#gfxparticles-library) + - [gfx.text3d](3d-text.md#gfxtext3d-library) - [gui](scripting/builtins/libgui.md) - [hud](scripting/builtins/libhud.md) - [inventory](scripting/builtins/libinventory.md) diff --git a/doc/ru/3d-text.md b/doc/ru/3d-text.md index db5fdfd3..ac6affd3 100644 --- a/doc/ru/3d-text.md +++ b/doc/ru/3d-text.md @@ -30,9 +30,9 @@ gfx.text3d.show( position: vec3, -- отображаемый текст text: str, - -- таблица настроек частиц + -- таблица настроек отображение текста preset: table, - -- дополнительная таблица настроек частиц + -- дополнительная таблица настроек отображения текста [опционально] extension: table ) -> int ```