diff --git a/src/data/field/choice.cpp b/src/data/field/choice.cpp index df7adfbb..7f86c900 100644 --- a/src/data/field/choice.cpp +++ b/src/data/field/choice.cpp @@ -226,5 +226,5 @@ bool ChoiceValue::update(Context& ctx) { } IMPLEMENT_REFLECTION_NAMELESS(ChoiceValue) { - if (fieldP->save_value) REFLECT_NAMELESS(value); + if (fieldP->save_value || tag.scripting()) REFLECT_NAMELESS(value); } diff --git a/src/data/field/color.cpp b/src/data/field/color.cpp index 83c62f2b..0f341d57 100644 --- a/src/data/field/color.cpp +++ b/src/data/field/color.cpp @@ -82,5 +82,5 @@ bool ColorValue::update(Context& ctx) { } IMPLEMENT_REFLECTION_NAMELESS(ColorValue) { - if (fieldP->save_value) REFLECT_NAMELESS(value); + if (fieldP->save_value || tag.scripting()) REFLECT_NAMELESS(value); } diff --git a/src/data/field/image.cpp b/src/data/field/image.cpp index f1435c11..3de71dd8 100644 --- a/src/data/field/image.cpp +++ b/src/data/field/image.cpp @@ -36,5 +36,5 @@ String ImageValue::toString() const { } IMPLEMENT_REFLECTION_NAMELESS(ImageValue) { - if (fieldP->save_value) REFLECT_NAMELESS(filename); + if (fieldP->save_value || tag.scripting()) REFLECT_NAMELESS(filename); } diff --git a/src/data/field/symbol.cpp b/src/data/field/symbol.cpp index 31943beb..98a9cc1c 100644 --- a/src/data/field/symbol.cpp +++ b/src/data/field/symbol.cpp @@ -46,5 +46,5 @@ String SymbolValue::toString() const { } IMPLEMENT_REFLECTION_NAMELESS(SymbolValue) { - if (fieldP->save_value) REFLECT_NAMELESS(filename); + if (fieldP->save_value || tag.scripting()) REFLECT_NAMELESS(filename); } diff --git a/src/data/field/text.cpp b/src/data/field/text.cpp index f43cb9b5..b28ec44b 100644 --- a/src/data/field/text.cpp +++ b/src/data/field/text.cpp @@ -99,5 +99,5 @@ bool TextValue::update(Context& ctx) { } IMPLEMENT_REFLECTION_NAMELESS(TextValue) { - if (fieldP->save_value) REFLECT_NAMELESS(value); + if (fieldP->save_value || tag.scripting()) REFLECT_NAMELESS(value); } diff --git a/src/util/io/get_member.hpp b/src/util/io/get_member.hpp index 8b16fa36..62004a71 100644 --- a/src/util/io/get_member.hpp +++ b/src/util/io/get_member.hpp @@ -27,6 +27,7 @@ class GetDefaultMember { public: /// Tell the reflection code we are not reading inline bool reading() const { return false; } + inline bool scripting() const { return true; } inline bool isComplex() const { return false; } inline void addAlias(int, const Char*, const Char*) {} inline void handleAppVersion() {} // no effect @@ -67,6 +68,7 @@ class GetMember : private GetDefaultMember { /// Tell the reflection code we are not reading inline bool reading() const { return false; } + inline bool scripting() const { return true; } inline bool isComplex() const { return false; } inline void addAlias(int, const Char*, const Char*) {} inline void handleAppVersion() {} // no effect diff --git a/src/util/io/reader.hpp b/src/util/io/reader.hpp index 7d88e841..25aa3e99 100644 --- a/src/util/io/reader.hpp +++ b/src/util/io/reader.hpp @@ -46,6 +46,8 @@ class Reader { /// Tell the reflection code we are reading inline bool reading() const { return true; } + /// Tell the reflection code we are not related to scripting + inline bool scripting() const { return false; } /// Is the thing currently being read 'complex', i.e. does it have children inline bool isComplex() const { return value.empty(); } /// Add a as an alias for b, all keys a will be replaced with b, only if file_app_version < end_version diff --git a/src/util/io/writer.hpp b/src/util/io/writer.hpp index e61904ba..1ac302ab 100644 --- a/src/util/io/writer.hpp +++ b/src/util/io/writer.hpp @@ -30,6 +30,7 @@ class Writer { /// Tell the reflection code we are not reading inline bool reading() const { return false; } + inline bool scripting() const { return false; } inline bool isComplex() const { return false; } inline void addAlias(int, const Char*, const Char*) {}