summaryrefslogtreecommitdiff
path: root/servers/visual/shader_language.h
diff options
context:
space:
mode:
Diffstat (limited to 'servers/visual/shader_language.h')
-rw-r--r--servers/visual/shader_language.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/servers/visual/shader_language.h b/servers/visual/shader_language.h
index 4d474086a6..aac5795e85 100644
--- a/servers/visual/shader_language.h
+++ b/servers/visual/shader_language.h
@@ -332,6 +332,7 @@ public:
TYPE_MEMBER,
TYPE_ARRAY,
TYPE_ARRAY_DECLARATION,
+ TYPE_ARRAY_CONSTRUCT,
TYPE_STRUCT,
};
@@ -427,6 +428,17 @@ public:
is_const(false) {}
};
+ struct ArrayConstructNode : public Node {
+ DataType datatype;
+ String struct_name;
+ Vector<Node *> initializer;
+
+ ArrayConstructNode() :
+ Node(TYPE_ARRAY_CONSTRUCT),
+ datatype(TYPE_VOID) {
+ }
+ };
+
struct ArrayDeclarationNode : public Node {
DataPrecision precision;
DataType datatype;
@@ -520,9 +532,11 @@ public:
StringName base_struct_name;
DataPrecision precision;
DataType datatype;
+ int array_size;
StringName struct_name;
StringName name;
Node *owner;
+ Node *index_expression;
virtual DataType get_datatype() const { return datatype; }
virtual String get_datatype_name() const { return String(struct_name); }
@@ -531,7 +545,9 @@ public:
Node(TYPE_MEMBER),
basetype(TYPE_VOID),
datatype(TYPE_VOID),
- owner(NULL) {}
+ array_size(0),
+ owner(NULL),
+ index_expression(NULL) {}
};
struct StructNode : public Node {