Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
b37badc
First work on new style system
Jowan-Spooner Feb 4, 2026
26a9d78
Further improvements on initial design
Jowan-Spooner Feb 4, 2026
4f3b0c2
Attempt at a default style with this new system
Jowan-Spooner Feb 5, 2026
c99058a
Improve handling of @all_children exposes and other stuff
Jowan-Spooner Feb 6, 2026
eb9758a
Many Update to Styles Editor (Initial UndoRedo and splitting scripts)
Jowan-Spooner Feb 9, 2026
2729f1c
Add Undo Redo for layer overrides
Jowan-Spooner Feb 9, 2026
c8d62f7
New Customize Layer Popup
Jowan-Spooner Feb 9, 2026
0625e9e
Add warning about shared resources
Jowan-Spooner Feb 10, 2026
7262217
Bunch of updates
Jowan-Spooner Feb 10, 2026
235282a
Fix build
Jowan-Spooner Feb 10, 2026
54681ee
More updates to new layers
Jowan-Spooner Feb 13, 2026
8be7027
Update speaker textbox layer
Jowan-Spooner Feb 13, 2026
acc304e
MANNNY changes
Jowan-Spooner Feb 19, 2026
0a71658
Various improvements, e.g. updating history layer
Jowan-Spooner Feb 20, 2026
59a1848
Fix? missing path_to_uid method
Jowan-Spooner Feb 20, 2026
e437311
Many changes AGAIN!
Jowan-Spooner Feb 21, 2026
88c9443
Add three two more animations to default panel layer
Jowan-Spooner Feb 22, 2026
ec88677
Add coloring to layer icons
Jowan-Spooner Feb 22, 2026
540eb6e
Improve DialogicPortraitContainer slightly
Jowan-Spooner Feb 22, 2026
f5bf5bb
Smol fixes
Jowan-Spooner Feb 22, 2026
08d5766
Pretty unrelated stuff
Jowan-Spooner Feb 22, 2026
4d5c2ee
Fixes/Changes to Make Full Layout Custom
Jowan-Spooner Mar 3, 2026
f0d3179
Some more commit-leftovers
Jowan-Spooner Feb 23, 2026
38aff73
Various small fixes
Jowan-Spooner Mar 3, 2026
3ec12ab
Various style editor improvements
Jowan-Spooner Mar 11, 2026
a782fe0
Commit long overdue changes
Jowan-Spooner Apr 22, 2026
6eee1d0
Various small changes
Jowan-Spooner Jul 20, 2026
cd3cf2b
Small fixes
Jowan-Spooner Jul 21, 2026
70b19c9
Make layout sidebar actually read-only for instanced scenes.
Jowan-Spooner Aug 11, 2026
e4a5bec
First steps at fixing full custom layouts
Jowan-Spooner Aug 11, 2026
7f85e6e
Small UX fixes
Jowan-Spooner Aug 11, 2026
ab0ba62
Some unfinished changes
Jowan-Spooner Aug 14, 2026
bfedc0c
Make Full Custom seems to work
Jowan-Spooner Aug 14, 2026
636959c
Allow creating Inherited style on right-click
Jowan-Spooner Aug 29, 2026
f70dfc5
Rename style_customization to export_overrides & store less fluff
Jowan-Spooner Aug 29, 2026
4761ea7
More fixes and compatibility improvements
Jowan-Spooner Aug 29, 2026
ba8eb39
New PixelArt textbox, Change how NextIndicator works
Jowan-Spooner Aug 29, 2026
15a039c
Add Simple Text layer
Jowan-Spooner Aug 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
26 changes: 14 additions & 12 deletions Tests/Resources/unit_test_character.dch
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
{
"@path": "res://addons/dialogic/Resources/character.gd",
"@subpath": NodePath(""),
"_translation_id": "",
"color": Color(1, 1, 1, 1),
"custom_info": {
&"_translation_id": "",
&"color": Color(1, 1, 1, 1),
&"custom_info": {
"prefix": "",
"sound_mood_default": "",
"sound_moods": {},
"style": ""
"style": "",
"suffix": ""
},
"default_portrait": "",
"description": "",
"display_name": "unit_test_character",
"mirror": false,
"nicknames": [""],
"offset": Vector2(0, 0),
"portraits": {},
"scale": 1.0
&"default_portrait": "",
&"description": "",
&"display_name": "unit_test_character",
&"mirror": false,
&"nicknames": [""],
&"offset": Vector2(0, 0),
&"portraits": {},
&"scale": 1.0
}
476 changes: 307 additions & 169 deletions addons/dialogic/Core/DialogicUtil.gd

Large diffs are not rendered by default.

48 changes: 29 additions & 19 deletions addons/dialogic/Core/index_class.gd
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ var this_folder: String = get_script().resource_path.get_base_dir()

## Overwrite if this module contains any events. [br]
## Return an array with all the paths to the event scripts.[br]
## You can use the [property this_folder].path_join('my_event.gd')
## You can use the [property this_folder].path_join("my_event.gd")
func _get_events() -> Array:
if ResourceLoader.exists(this_folder.path_join('event.gd')):
return [this_folder.path_join('event.gd')]
if ResourceLoader.exists(this_folder.path_join("event.gd")):
return [this_folder.path_join("event.gd")]
return []


Expand Down Expand Up @@ -71,11 +71,11 @@ func _get_portrait_scene_presets() -> Array[Dictionary]:
#region HELPERS
################################################################################

func list_dir(subdir:='') -> Array:
func list_dir(subdir:="") -> Array:
return Array(DirAccess.get_files_at(this_folder.path_join(subdir))).map(func(file):return this_folder.path_join(subdir).path_join(file))


func list_special_resources(subdir:='', extension:="") -> Dictionary:
func list_special_resources(subdir:="", extension:="") -> Dictionary:
var dict := {}
for i in list_dir(subdir):
if extension.is_empty() or i.ends_with(extension) or (extension == ".gd" and i.ends_with(".gdc")):
Expand Down Expand Up @@ -119,31 +119,41 @@ func _get_layout_parts() -> Array[Dictionary]:
func scan_for_layout_parts() -> Array[Dictionary]:
var dir := DirAccess.open(this_folder)
var style_list: Array[Dictionary] = []
if !dir:
if not dir:
return style_list
dir.list_dir_begin()
var dir_name := dir.get_next()
while dir_name != "":
if !dir.current_is_dir() or !dir.file_exists(dir_name.path_join('part_config.cfg')):
if !dir.current_is_dir() or !dir.file_exists(dir_name.path_join("part_config.cfg")):
dir_name = dir.get_next()
continue
var config := ConfigFile.new()
config.load(this_folder.path_join(dir_name).path_join('part_config.cfg'))
var default_image_path: String = this_folder.path_join(dir_name).path_join('preview.png')
config.load(this_folder.path_join(dir_name).path_join("part_config.cfg"))
var default_image_path: String = this_folder.path_join(dir_name).path_join("preview.png")

style_list.append(
{
'type': config.get_value('style', 'type', 'Unknown type'),
'name': config.get_value('style', 'name', 'Unnamed Layout'),
'path': this_folder.path_join(dir_name).path_join(config.get_value('style', 'scene', '')),
'author': config.get_value('style', 'author', 'Anonymous'),
'description': config.get_value('style', 'description', 'No description'),
'preview_image': [config.get_value('style', 'image', default_image_path)],
'style_path':config.get_value('style', 'style_path', ''),
'icon':this_folder.path_join(dir_name).path_join(config.get_value('style', 'icon', '')),
"type": config.get_value("style", "type", "Unknown type"),
"name": config.get_value("style", "name", "Unnamed Layout"),
"path": config.get_value("style", "scene", ""),
"author": config.get_value("style", "author", "Anonymous"),
"description": config.get_value("style", "description", "No description"),
"preview_image": config.get_value("style", "image", default_image_path),
"style_path":config.get_value("style", "style_path", ""),
"icon": this_folder.path_join(dir_name).path_join(config.get_value("style", "icon", "")),
"color": config.get_value("style", "color", "")
})

if not style_list[-1].style_path.begins_with('res://'):
style_list[-1].style_path = this_folder.path_join(dir_name).path_join(style_list[-1].style_path)
if typeof(style_list[-1].preview_image) == TYPE_STRING:
style_list[-1].preview_image = [style_list[-1].preview_image]

## TODO this is a compatibility thing for pre alpha 20
if not style_list[-1].path.begins_with("uid://"):
style_list[-1].path = ResourceUID.id_to_text(ResourceLoader.get_resource_uid(this_folder.path_join(dir_name).path_join(style_list[-1].path)))

if not style_list[-1].style_path.begins_with("uid://"):
# TODO replace with ResourceUID.path_to_uid() when dropping 4.4 support
style_list[-1].style_path = ResourceUID.id_to_text(ResourceLoader.get_resource_uid(this_folder.path_join(dir_name).path_join(style_list[-1].style_path)))

dir_name = dir.get_next()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,11 +79,12 @@ func _recheck(data: Dictionary, force:=false):


## On any change, save the export override to the portrait items metadata.
func set_export_override(property_name:String, value:String = "") -> void:
func set_export_override(property_name:String, value:Variant) -> void:
value = var_to_str(value)
var data: Dictionary = selected_item.get_metadata(0)
if !data.has('export_overrides'):
if not data.has('export_overrides'):
data['export_overrides'] = {}
if !value.is_empty():
if not value.is_empty():
data.export_overrides[property_name] = value
else:
data.export_overrides.erase(property_name)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,38 +1,46 @@
[gd_scene load_steps=6 format=3 uid="uid://djq4aasoihexj"]
[gd_scene format=3 uid="uid://djq4aasoihexj"]

[ext_resource type="Script" uid="uid://busjn8oo7kl1s" path="res://addons/dialogic/Editor/CharacterEditor/char_edit_p_section_main.gd" id="1_ht8lu"]
[ext_resource type="PackedScene" uid="uid://7mvxuaulctcq" path="res://addons/dialogic/Editor/Events/Fields/field_file.tscn" id="2_k8xs0"]
[ext_resource type="PackedScene" uid="uid://b1wn8r84uh11b" path="res://addons/dialogic/Editor/CharacterEditor/portrait_scene_browser.tscn" id="3_ngvgq"]

[sub_resource type="Image" id="Image_m6kd3"]
data = {
"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
"format": "RGBA8",
"height": 16,
"mipmaps": false,
"width": 16
[sub_resource type="DPITexture" id="DPITexture_m6kd3"]
_source = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"><path fill=\"#e0e0e0\" d=\"M8 1v2H6a5 5 0 0 0-4 8l1.414-1.414A3 3 0 0 1 6 5h2v2l4-3-4-3zm6 4-1.414 1.414A3 3 0 0 1 10 11H8V9l-4 3 4 3v-2h2a5 5 0 0 0 4-8z\"/></svg>
"
saturation = 2.0
color_map = {
Color(1, 0.37254903, 0.37254903, 1): Color(1, 0.47, 0.42, 1),
Color(0.37254903, 1, 0.5921569, 1): Color(0.45, 0.95, 0.5, 1),
Color(1, 0.8666667, 0.39607844, 1): Color(0.83, 0.78, 0.62, 1)
}

[sub_resource type="ImageTexture" id="ImageTexture_f5xt2"]
image = SubResource("Image_m6kd3")
[sub_resource type="DPITexture" id="DPITexture_m6spw"]
_source = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"><path fill=\"#e0e0e0\" d=\"m5 9 5.5-5.5L8 1h7v7l-2.5-2.5L7 11zm7 6H4a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3h2a1 1 0 0 1 0 2H4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-2a1 1 0 0 1 2 0v2a3 3 0 0 1-3 3z\"/></svg>
"
saturation = 2.0
color_map = {
Color(1, 0.37254903, 0.37254903, 1): Color(1, 0.47, 0.42, 1),
Color(0.37254903, 1, 0.5921569, 1): Color(0.45, 0.95, 0.5, 1),
Color(1, 0.8666667, 0.39607844, 1): Color(0.83, 0.78, 0.62, 1)
}

[node name="Scene" type="GridContainer"]
[node name="Scene" type="GridContainer" unique_id=1126127257]
offset_right = 298.0
offset_bottom = 86.0
size_flags_horizontal = 3
script = ExtResource("1_ht8lu")

[node name="HBox" type="HBoxContainer" parent="."]
[node name="HBox" type="HBoxContainer" parent="." unique_id=441546737]
layout_mode = 2
size_flags_horizontal = 3

[node name="ChangeSceneButton" type="Button" parent="HBox"]
[node name="ChangeSceneButton" type="Button" parent="HBox" unique_id=176989498]
unique_name_in_owner = true
layout_mode = 2
tooltip_text = "Change Scene"
icon = SubResource("ImageTexture_f5xt2")
icon = SubResource("DPITexture_m6kd3")

[node name="SceneLabel" type="Label" parent="HBox"]
[node name="SceneLabel" type="Label" parent="HBox" unique_id=106695530]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
Expand All @@ -41,21 +49,21 @@ theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "asdsdasdasd"
clip_text = true

[node name="ScenePicker" parent="HBox" instance=ExtResource("2_k8xs0")]
[node name="ScenePicker" parent="HBox" unique_id=1159415974 instance=ExtResource("2_k8xs0")]
unique_name_in_owner = true
visible = false
layout_mode = 2
size_flags_horizontal = 3
file_filter = "*.tscn, *.scn; Scenes"
placeholder = "Default scene"

[node name="OpenSceneButton" type="Button" parent="HBox"]
[node name="OpenSceneButton" type="Button" parent="HBox" unique_id=484226158]
unique_name_in_owner = true
layout_mode = 2
tooltip_text = "Open/Edit Scene"
icon = SubResource("ImageTexture_f5xt2")
icon = SubResource("DPITexture_m6spw")

[node name="PortraitSceneBrowserWindow" type="Window" parent="."]
[node name="PortraitSceneBrowserWindow" type="Window" parent="." unique_id=331146861]
unique_name_in_owner = true
title = "Portrait Scene Browser"
position = Vector2i(0, 36)
Expand All @@ -64,7 +72,7 @@ wrap_controls = true
transient = true
popup_window = true

[node name="PortraitSceneBrowser" parent="PortraitSceneBrowserWindow" instance=ExtResource("3_ngvgq")]
[node name="PortraitSceneBrowser" parent="PortraitSceneBrowserWindow" unique_id=2027996746 instance=ExtResource("3_ngvgq")]
unique_name_in_owner = true

[connection signal="pressed" from="HBox/ChangeSceneButton" to="." method="_on_change_scene_button_pressed"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,12 @@ func load_portrait_scene_export_variables() -> void:
skip = true
continue

func set_export_override(property_name:String, value:String = "") -> void:
func set_export_override(property_name:String, value:Variant) -> void:
value = var_to_str(value)
var data: Dictionary = selected_item.get_metadata(0)
if !data.has('export_overrides'):
if not data.has('export_overrides'):
data['export_overrides'] = {}
if !value.is_empty():
if not value.is_empty():
data['export_overrides'][property_name] = value
else:
data['export_overrides'].erase(property_name)
Expand Down
6 changes: 5 additions & 1 deletion addons/dialogic/Editor/CharacterEditor/character_editor.gd
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ var def_portrait_path: String = DialogicUtil.get_module_path('Character').path_j
func _register() -> void:
## Makes the editor open this when a .dch file is selected.
## Then _open_resource() is called.
editors_manager.register_resource_editor("dch", self)
editors_manager.register_resource_editor(self, "dch")

## Add an "add character" button
var add_character_button: Button = editors_manager.add_button(
Expand All @@ -51,6 +51,10 @@ func _get_icon() -> Texture:
return load("res://addons/dialogic/Editor/Images/Resources/character.svg")


func _can_edit(resource:Resource) -> bool:
return resource is DialogicCharacter


## Called when a character is opened somehow
func _open_resource(resource:Resource) -> void:
if resource == null:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,15 +88,19 @@ func load_part_info(info:Dictionary) -> void:
"General":
%ActivateButton.text = "Use this scene"
%TypeDescription.text = "This is a general use scene, it can be used directly."
%NewBasedButton.show()
"Preset":
%ActivateButton.text = "Customize this scene"
%TypeDescription.text = "This is a preset you can use for a custom portrait scene. Dialogic will promt you to save a copy of this scene that you can then use and customize."
%ActivateButton.hide() #text = "Customize this scene"
%TypeDescription.text = "This is a template you can use for a custom portrait scene. Dialogic will promt you to save a copy of this scene that you can then use and customize."
%NewBasedButton.show()
"Default":
%ActivateButton.text = "Use default scene"
%TypeDescription.text = ""
%NewBasedButton.hide()
"Custom":
%ActivateButton.text = "Select a custom scene"
%TypeDescription.text = ""
%NewBasedButton.hide()

if info.get("documentation", ""):
%DocumentationButton.show()
Expand Down
Loading