Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions material_maker/globals.gd
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,9 @@ const DEFAULT_CONFIG : Dictionary = {
ui_use_native_file_dialogs = true,
win_tablet_driver = 0,
dialog_dim_background = true,
node_minimize_button = true,
node_close_button = true,
node_minimize_button = false,
node_close_button = false,
custom_theme_base_color = Color(0.529, 0.467, 0.686),
}


Expand Down Expand Up @@ -228,3 +229,6 @@ func get_node_title_from_gen(generator : MMGenBase) -> String:
var gnode : GraphNode = graph.get_node(node_path)
return gnode.title.to_snake_case()
return "unnamed"

func is_custom_theme() -> bool:
return config.get_value("window", "theme") == "custom"
19 changes: 15 additions & 4 deletions material_maker/main_window.gd
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ const RECENTS_MENU_CLEAR = 1001
const MENU_SAVE_PRESET : int = 1002
const MENU_MANAGE_PRESETS : int = 1003

const THEMES = ["Default Dark", "Default Light", "Classic"]
const THEMES = ["Default Dark", "Default Light", "Custom", "Classic"]

const MENU : Array[Dictionary] = [
{ menu="File/New material", command="new_material", shortcut="Control+N" },
Expand Down Expand Up @@ -342,6 +342,10 @@ func on_config_changed() -> void:
if c.has_method("update"):
c.update()

# set custom theme
if mm_globals.config.get_value("window", "theme") == "custom":
change_theme_custom.call_deferred()

func get_panel(panel_name : String) -> Control:
return layout.get_panel(panel_name)

Expand Down Expand Up @@ -622,21 +626,29 @@ func create_menu_set_theme(menu : MMMenuManager.MenuBase) -> void:
menu.add_item(t)
menu.connect_id_pressed(self._on_SetTheme_id_pressed)

func change_theme_custom() -> void:
var base : Color = mm_globals.get_config("custom_theme_base_color")
theme = ThemeUtils.generate_custom_theme(base)
$NodeFactory.on_theme_changed()

func change_theme(theme_name) -> void:
if theme_name == "custom":
change_theme_custom()
return

if not ResourceLoader.exists("res://material_maker/theme/"+theme_name+".tres"):
theme_name = "default dark"
var _theme = load("res://material_maker/theme/"+theme_name+".tres")
if _theme == theme:
return
if _theme is EnhancedTheme:
_theme.update()
await get_tree().process_frame
theme = _theme
if "classic" in theme_name:
RenderingServer.set_default_clear_color(Color(0.14, 0.17,0.23))
else:
RenderingServer.set_default_clear_color(
Color("4d4d4d") if "light" in theme_name else Color("1f1f1f"))
Color.WHITE if "light" in theme_name else Color("1f1f1f"))
$NodeFactory.on_theme_changed()

func _on_SetTheme_id_pressed(id) -> void:
Expand Down Expand Up @@ -1537,6 +1549,5 @@ func draw_children(p, x):
func _draw_debug():
draw_children(self, get_global_mouse_position())


func _on_console_resizer_container_mouse_entered() -> void:
pass # Replace with function body.
8 changes: 8 additions & 0 deletions material_maker/nodes/portal/portal.gd
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,10 @@ static func draw_links(g : MMGraphEdit) -> void:
var to : Vector2 = graph_node_center(wo, g)
if wo.selected or wi.selected:
# link / io highlight
g.draw_dashed_line(from, to, Color.BLACK, link_width + 0.2, dash_length, true, true)
g.draw_circle(from, circle_r * zoom, Color.BLACK, false, (circle_outline_width + 1.0) * zoom, true)
g.draw_circle(to, circle_r * zoom, Color.BLACK, false, (circle_outline_width + 1.0) * zoom, true)

g.draw_dashed_line(from, to, link_color, link_width, dash_length, true, true)
g.draw_circle(from, circle_r * zoom, in_color, false, circle_outline_width * zoom, true)
g.draw_circle(to, circle_r * zoom, out_color, false, circle_outline_width * zoom, true)
Expand All @@ -360,6 +364,10 @@ static func draw_links(g : MMGraphEdit) -> void:
var dir_a := (from - to).normalized().rotated(-PI * 0.25)
var dir_b := (from - to).normalized().rotated(PI * 0.25)
var aw := maxf(20.0 * zoom, 15.0)
g.draw_multiline(PackedVector2Array([
mid, mid + dir_a * aw,
mid, mid + dir_b * aw]), Color.BLACK, link_width * 0.8 + 0.25, true)

g.draw_multiline(PackedVector2Array([
mid, mid + dir_a * aw,
mid, mid + dir_b * aw]), link_color, link_width*0.8, true)
Expand Down
99 changes: 95 additions & 4 deletions material_maker/theme/default dark.tres
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[gd_resource type="Theme" script_class="EnhancedTheme" load_steps=42 format=3 uid="uid://dhuhq2immquoh"]
[gd_resource type="Theme" script_class="EnhancedTheme" format=3 uid="uid://dhuhq2immquoh"]

[ext_resource type="Theme" uid="uid://b628lwfk6ig2c" path="res://material_maker/theme/default.tres" id="3_xjelh"]
[ext_resource type="Script" uid="uid://3ga2k3abkk0d" path="res://material_maker/theme/enhanced_theme_system/color_swap.gd" id="4_0efyb"]
Expand Down Expand Up @@ -199,8 +199,8 @@ metadata/_custom_type_script = "uid://3ga2k3abkk0d"
[sub_resource type="Resource" id="Resource_i62a2"]
script = ExtResource("4_0efyb")
name = "AddNodePopupList"
orig = Color(0.0980392, 0.0980392, 0.101961, 1)
target = Color(0.0980392, 0.0980392, 0.101961, 1)
orig = Color(0.11764706, 0.10980392, 0.10980392, 1)
target = Color(0.09803922, 0.09803922, 0.101960786, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_0m7hk"]
Expand Down Expand Up @@ -238,9 +238,100 @@ orig = Color(0.9882353, 1, 1, 1)
target = Color(0.2509804, 0.26666668, 0.2901961, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_m5moq"]
script = ExtResource("4_0efyb")
name = "FileDialogPanel"
orig = Color(0.13333334, 0.14509805, 0.14509805, 1)
target = Color(0.13333334, 0.14509805, 0.14509805, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_dcu6r"]
script = ExtResource("4_0efyb")
name = "PanelMenuBackgrounds"
orig = Color(0.0666667, 0.0705882, 0.0784314, 1)
target = Color(0.06666667, 0.07058824, 0.078431375, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_wxjhn"]
script = ExtResource("4_0efyb")
name = "TreeHover"
orig = Color(0.5882353, 0.6039216, 0.6039216, 1)
target = Color(0.2827941, 0.29489788, 0.31771314, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_5p331"]
script = ExtResource("4_0efyb")
name = "TreeHoverSelected"
orig = Color(0.59607846, 0.6039216, 0.6039216, 1)
target = Color(0.28235295, 0.29411766, 0.31764707, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_jfdia"]
script = ExtResource("4_0efyb")
name = "PopupMenuHover"
orig = Color(0.15686275, 0.1764706, 0.19215687, 1)
target = Color(0.16862746, 0.1764706, 0.19215687, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_4wnip"]
script = ExtResource("4_0efyb")
name = "ItemListHover"
orig = Color(0.16078432, 0.16862746, 0.18431373, 1)
target = Color(0.22795805, 0.23807225, 0.25829834, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_xhoey"]
script = ExtResource("4_0efyb")
name = "CodeEditNormal"
orig = Color(0.09803922, 0.09803922, 0.101960786, 1)
target = Color(0.09803922, 0.09803922, 0.101960786, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_ek7vi"]
script = ExtResource("4_0efyb")
name = "RerouteNormal"
orig = Color(0.3137255, 0.3137255, 0.34901962, 1)
target = Color(0.3137255, 0.3137255, 0.34901962, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_vl7cx"]
script = ExtResource("4_0efyb")
name = "RerouteSelected"
orig = Color(0.42352942, 0.42352942, 0.4627451, 1)
target = Color(0.42352942, 0.42352942, 0.4627451, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_qv0im"]
script = ExtResource("4_0efyb")
name = "CodeEditNormal"
orig = Color(0.08627451, 0.09803922, 0.101960786, 1)
target = Color(0.08627451, 0.09803922, 0.101960786, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_27dwd"]
script = ExtResource("4_0efyb")
name = "PortalLink"
orig = Color(0.61960787, 0.49411765, 0.7254902, 1)
target = Color(0.61960787, 0.49411765, 0.7254902, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_pi8e2"]
script = ExtResource("4_0efyb")
name = "NodeTitleBarBG"
orig = Color(0.49, 0.506, 0.545, 1)
target = Color(0.49019608, 0.5058824, 0.54509807, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_5xfna"]
script = ExtResource("4_0efyb")
name = "AcceptDialog"
orig = Color(0.15686275, 0.1764706, 0.19215687, 1)
target = Color(0.0869, 0.09960501, 0.11, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[resource]
script = ExtResource("5_yjidp")
base_theme = ExtResource("3_xjelh")
font_color_swaps = Array[ExtResource("4_0efyb")]([SubResource("Resource_silay"), SubResource("Resource_eavso"), SubResource("Resource_1jhxl"), SubResource("Resource_qiwix"), SubResource("Resource_5yhcl"), SubResource("Resource_vdnfu"), SubResource("Resource_21aar"), SubResource("Resource_us4qf")])
icon_color_swaps = Array[ExtResource("4_0efyb")]([SubResource("Resource_cisvi"), SubResource("Resource_j2h7k"), SubResource("Resource_8dhbo"), SubResource("Resource_5oh4i")])
theme_color_swaps = Array[ExtResource("4_0efyb")]([SubResource("Resource_ub5ur"), SubResource("Resource_5rv7m"), SubResource("Resource_xqbwo"), SubResource("Resource_a2t6i"), SubResource("Resource_pekt7"), SubResource("Resource_vbpcr"), SubResource("Resource_qngft"), SubResource("Resource_5mixu"), SubResource("Resource_kxmra"), SubResource("Resource_siafh"), SubResource("Resource_s732t"), SubResource("Resource_j1t84"), SubResource("Resource_g7e3b"), SubResource("Resource_oirgf"), SubResource("Resource_1pump"), SubResource("Resource_fxm05"), SubResource("Resource_mfxjg"), SubResource("Resource_upxps"), SubResource("Resource_430ei"), SubResource("Resource_svk4l"), SubResource("Resource_i62a2"), SubResource("Resource_0m7hk"), SubResource("Resource_0s6l0"), SubResource("Resource_odamo"), SubResource("Resource_baiyy"), SubResource("Resource_tcqgv")])
theme_color_swaps = Array[ExtResource("4_0efyb")]([SubResource("Resource_ub5ur"), SubResource("Resource_5rv7m"), SubResource("Resource_xqbwo"), SubResource("Resource_a2t6i"), SubResource("Resource_pekt7"), SubResource("Resource_vbpcr"), SubResource("Resource_qngft"), SubResource("Resource_5mixu"), SubResource("Resource_kxmra"), SubResource("Resource_siafh"), SubResource("Resource_s732t"), SubResource("Resource_j1t84"), SubResource("Resource_g7e3b"), SubResource("Resource_oirgf"), SubResource("Resource_1pump"), SubResource("Resource_fxm05"), SubResource("Resource_mfxjg"), SubResource("Resource_upxps"), SubResource("Resource_430ei"), SubResource("Resource_svk4l"), SubResource("Resource_i62a2"), SubResource("Resource_0m7hk"), SubResource("Resource_0s6l0"), SubResource("Resource_odamo"), SubResource("Resource_baiyy"), SubResource("Resource_tcqgv"), SubResource("Resource_m5moq"), SubResource("Resource_dcu6r"), SubResource("Resource_wxjhn"), SubResource("Resource_5p331"), SubResource("Resource_jfdia"), SubResource("Resource_4wnip"), SubResource("Resource_xhoey"), SubResource("Resource_ek7vi"), SubResource("Resource_vl7cx"), SubResource("Resource_qv0im"), SubResource("Resource_27dwd"), SubResource("Resource_pi8e2"), SubResource("Resource_5xfna")])
78 changes: 74 additions & 4 deletions material_maker/theme/default light.tres
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ metadata/_custom_type_script = "uid://3ga2k3abkk0d"
[sub_resource type="Resource" id="Resource_p6yfp"]
script = ExtResource("4_rhf2q")
name = "AddNodePopupList"
orig = Color(0.0980392, 0.0980392, 0.101961, 1)
orig = Color(0.11764706, 0.10980392, 0.10980392, 1)
target = Color(0.821789, 0.821789, 0.821789, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

Expand Down Expand Up @@ -312,7 +312,7 @@ metadata/_custom_type_script = "uid://3ga2k3abkk0d"
[sub_resource type="Resource" id="Resource_5w06f"]
script = ExtResource("4_rhf2q")
name = "CodeEditNormal"
orig = Color(0.0980392, 0.0980392, 0.101961, 1)
orig = Color(0.08627451, 0.09803922, 0.101960786, 1)
target = Color(0.804688, 0.804688, 0.804688, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

Expand Down Expand Up @@ -366,7 +366,7 @@ metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_wwbst"]
script = ExtResource("4_rhf2q")
name = "ScrollbarGrabberHighlight"
name = "ScrollBarGrabberHighlight"
orig = Color(0.9843137, 1, 1, 1)
target = Color(0.2901961, 0.30980393, 0.32156864, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"
Expand All @@ -384,9 +384,79 @@ name = "RichTextLabelDefaultColor"
orig = Color(1, 1, 1, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_d2i8i"]
script = ExtResource("4_rhf2q")
name = "FloatFillHover"
orig = Color(0.357, 0.357, 0.357, 1)
target = Color(0.35686275, 0.35686275, 0.35686275, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_jbrv2"]
script = ExtResource("4_rhf2q")
name = "TreeHover"
orig = Color(0.5882353, 0.6039216, 0.6039216, 1)
target = Color(0.5882353, 0.6039216, 0.6039216, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_yllg0"]
script = ExtResource("4_rhf2q")
name = "TreeHoverSelected"
orig = Color(0.59607846, 0.6039216, 0.6039216, 1)
target = Color(0.59607846, 0.6039216, 0.6039216, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_085hi"]
script = ExtResource("4_rhf2q")
name = "PopupMenuHover"
orig = Color(0.15686275, 0.1764706, 0.19215687, 1)
target = Color(0.16862746, 0.1764706, 0.19215687, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_0upd8"]
script = ExtResource("4_rhf2q")
name = "ItemListHover"
orig = Color(0.16078432, 0.16862746, 0.18431373, 1)
target = Color(0.6048, 0.6132, 0.63, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_xa7pd"]
script = ExtResource("4_rhf2q")
name = "RerouteNormal"
orig = Color(0.3137255, 0.3137255, 0.34901962, 1)
target = Color(0.3137255, 0.3137255, 0.34901962, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_3jhyj"]
script = ExtResource("4_rhf2q")
name = "RerouteSelected"
orig = Color(0.42352942, 0.42352942, 0.4627451, 1)
target = Color(0.42352942, 0.42352942, 0.4627451, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_f7xk8"]
script = ExtResource("4_rhf2q")
name = "PortalLink"
orig = Color(0.61960787, 0.49411765, 0.7254902, 1)
target = Color(0.61960787, 0.49411765, 0.7254902, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_4va63"]
script = ExtResource("4_rhf2q")
name = "NodeTitleBarBG"
orig = Color(0.49019608, 0.5058824, 0.54509807, 1)
target = Color(0.49019608, 0.5058824, 0.54509807, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_6ekoh"]
script = ExtResource("4_rhf2q")
name = "AcceptDialog"
orig = Color(0.15686275, 0.1764706, 0.19215687, 1)
target = Color(0.78, 0.78, 0.78, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[resource]
script = ExtResource("5_fagh3")
base_theme = ExtResource("1_ugsao")
font_color_swaps = Array[ExtResource("4_rhf2q")]([SubResource("Resource_silay"), SubResource("Resource_eavso"), SubResource("Resource_1jhxl"), SubResource("Resource_qiwix"), SubResource("Resource_5yhcl"), SubResource("Resource_vdnfu"), SubResource("Resource_21aar"), SubResource("Resource_us4qf"), SubResource("Resource_3wcad"), SubResource("Resource_mhcke"), SubResource("Resource_41atc")])
icon_color_swaps = Array[ExtResource("4_rhf2q")]([SubResource("Resource_cisvi"), SubResource("Resource_j2h7k"), SubResource("Resource_8dhbo"), SubResource("Resource_5oh4i")])
theme_color_swaps = Array[ExtResource("4_rhf2q")]([SubResource("Resource_ub5ur"), SubResource("Resource_5rv7m"), SubResource("Resource_xqbwo"), SubResource("Resource_a2t6i"), SubResource("Resource_pekt7"), SubResource("Resource_vbpcr"), SubResource("Resource_qngft"), SubResource("Resource_5mixu"), SubResource("Resource_kxmra"), SubResource("Resource_siafh"), SubResource("Resource_s732t"), SubResource("Resource_j1t84"), SubResource("Resource_g7e3b"), SubResource("Resource_oirgf"), SubResource("Resource_1pump"), SubResource("Resource_fxm05"), SubResource("Resource_mfxjg"), SubResource("Resource_upxps"), SubResource("Resource_upxps"), SubResource("Resource_lk0mo"), SubResource("Resource_sgt8g"), SubResource("Resource_p6yfp"), SubResource("Resource_mntha"), SubResource("Resource_5l403"), SubResource("Resource_qx1ic"), SubResource("Resource_skxhu"), SubResource("Resource_gf74u"), SubResource("Resource_6iwcg"), SubResource("Resource_emwrq"), SubResource("Resource_g0345"), SubResource("Resource_mqr67"), SubResource("Resource_enwto"), SubResource("Resource_t0kvp"), SubResource("Resource_tw3yc"), SubResource("Resource_5w06f"), SubResource("Resource_m8hbw"), SubResource("Resource_xnhnj"), SubResource("Resource_jh8b5"), SubResource("Resource_2d8ce"), SubResource("Resource_qqxbn"), SubResource("Resource_4naeq"), SubResource("Resource_pu57y"), SubResource("Resource_wwbst"), SubResource("Resource_q74a5"), SubResource("Resource_41atc"), SubResource("Resource_kh8x1")])
theme_color_swaps = Array[ExtResource("4_rhf2q")]([SubResource("Resource_ub5ur"), SubResource("Resource_5rv7m"), SubResource("Resource_xqbwo"), SubResource("Resource_a2t6i"), SubResource("Resource_pekt7"), SubResource("Resource_vbpcr"), SubResource("Resource_qngft"), SubResource("Resource_5mixu"), SubResource("Resource_kxmra"), SubResource("Resource_siafh"), SubResource("Resource_s732t"), SubResource("Resource_j1t84"), SubResource("Resource_g7e3b"), SubResource("Resource_oirgf"), SubResource("Resource_1pump"), SubResource("Resource_fxm05"), SubResource("Resource_mfxjg"), SubResource("Resource_upxps"), SubResource("Resource_upxps"), SubResource("Resource_lk0mo"), SubResource("Resource_sgt8g"), SubResource("Resource_p6yfp"), SubResource("Resource_mntha"), SubResource("Resource_5l403"), SubResource("Resource_qx1ic"), SubResource("Resource_skxhu"), SubResource("Resource_gf74u"), SubResource("Resource_6iwcg"), SubResource("Resource_emwrq"), SubResource("Resource_g0345"), SubResource("Resource_mqr67"), SubResource("Resource_enwto"), SubResource("Resource_t0kvp"), SubResource("Resource_tw3yc"), SubResource("Resource_5w06f"), SubResource("Resource_m8hbw"), SubResource("Resource_xnhnj"), SubResource("Resource_jh8b5"), SubResource("Resource_2d8ce"), SubResource("Resource_qqxbn"), SubResource("Resource_4naeq"), SubResource("Resource_pu57y"), SubResource("Resource_wwbst"), SubResource("Resource_q74a5"), SubResource("Resource_kh8x1"), SubResource("Resource_d2i8i"), SubResource("Resource_jbrv2"), SubResource("Resource_yllg0"), SubResource("Resource_085hi"), SubResource("Resource_0upd8"), SubResource("Resource_xa7pd"), SubResource("Resource_3jhyj"), SubResource("Resource_f7xk8"), SubResource("Resource_4va63"), SubResource("Resource_6ekoh")])
Loading