Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 5 additions & 1 deletion material_maker/globals.gd
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ const DEFAULT_CONFIG : Dictionary = {
node_minimize_button = true,
node_close_button = true,
ui_field_sensitivity = 1.0,
color_picker_floating = false
color_picker_floating = false,
custom_theme_base_color = Color(0.529, 0.467, 0.686),
}


Expand Down Expand Up @@ -237,3 +238,6 @@ func ui_scale_factor() -> float:
if get_tree().root.gui_embed_subwindows:
return 1.0
return get_tree().root.content_scale_factor

func is_custom_theme() -> bool:
return config.get_value("window", "theme") == "custom"
2 changes: 2 additions & 0 deletions material_maker/icons/grab.svg.import
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,6 @@ dest_files=["res://.godot/imported/grab.svg-ddec24461dce91faf127dda78b6db9a7.dpi
base_scale=0.7
saturation=1.0
color_map={}
fix_alpha_border=false
premult_alpha=false
compress=true
21 changes: 18 additions & 3 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 @@ -343,6 +343,10 @@ func on_config_changed() -> void:

if not get_window().gui_embed_subwindows:
get_window().gui_embed_subwindows = mm_globals.get_config("ui_single_window_mode")

# 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 @@ -628,21 +632,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 @@ -1562,3 +1574,6 @@ 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 @@ -416,6 +416,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 @@ -425,6 +429,10 @@ static func draw_links(g : MMGraphEdit) -> void:
var dir_a : Vector2 = (from - to).normalized().rotated(-PI * 0.25)
var dir_b : Vector2 = (from - to).normalized().rotated(PI * 0.25)
var aw : float = 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
111 changes: 108 additions & 3 deletions material_maker/theme/default dark.tres
Original file line number Diff line number Diff line change
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,114 @@ 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"

[sub_resource type="Resource" id="Resource_15q4w"]
script = ExtResource("4_0efyb")
name = "EmbedBorder"
orig = Color(0.21960784, 0.22352941, 0.24313726, 1)
target = Color(0.21960784, 0.22352941, 0.24313726, 1)
metadata/_custom_type_script = "uid://3ga2k3abkk0d"

[sub_resource type="Resource" id="Resource_ai1me"]
script = ExtResource("4_0efyb")
name = "EmbedBorderUnfocus"
orig = Color(0.1764706, 0.18039216, 0.19607843, 1)
target = Color(0.1764706, 0.18039216, 0.19607843, 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"), SubResource("Resource_15q4w"), SubResource("Resource_ai1me")])
6 changes: 3 additions & 3 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 Down
Loading