From eaccfe62e71f4149bee5c7a90b5d1facd066afc2 Mon Sep 17 00:00:00 2001 From: luboslenco Date: Fri, 14 Aug 2026 11:57:40 +0200 Subject: [PATCH] minic: add script_get_material --- paint/sources/minic_api.c | 1 + paint/sources/minic_impl.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/paint/sources/minic_api.c b/paint/sources/minic_api.c index 3cf6304d..408a54f4 100644 --- a/paint/sources/minic_api.c +++ b/paint/sources/minic_api.c @@ -1231,6 +1231,7 @@ void minic_register_builtins() { R(script_get_config, "p:config_t()"); R(script_get_project, "p:project_t()"); R(script_get_object, "p:object_t(p:char s)"); + R(script_get_material, "p:slot_material_t(p:char s)"); R(script_shape_add, "p:object_t(p:char name)"); R(script_object_duplicate, "p:object_t(p:object_t o)"); R(script_add_trait, "v(p:char object,p:char trait)"); diff --git a/paint/sources/minic_impl.c b/paint/sources/minic_impl.c index 90b493fc..b1a64894 100644 --- a/paint/sources/minic_impl.c +++ b/paint/sources/minic_impl.c @@ -164,6 +164,15 @@ object_t *script_get_object(char *s) { return NULL; } +slot_material_t *script_get_material(char *s) { + for (int i = 0; i < g_project->_->materials->length; ++i) { + if (string_equals(g_project->_->materials->buffer[i]->canvas->name, s)) { + return g_project->_->materials->buffer[i]; + } + } + return NULL; +} + static bool script_paint_active = false; static bool script_paint_first = true;