Merge pull request #61180 from timothyqiu/property-extract
This commit is contained in:
commit
71c40ff4da
|
@ -528,6 +528,16 @@ String DTRN(const String &p_text, const String &p_text_plural, int p_n, const St
|
|||
#define TTRGET(m_value) (m_value)
|
||||
#endif
|
||||
|
||||
// Use this to mark property names for editor translation.
|
||||
// Often for dynamic properties defined in _get_property_list().
|
||||
// Property names defined directly inside EDITOR_DEF, GLOBAL_DEF, and ADD_PROPERTY macros don't need this.
|
||||
#define PNAME(m_value) (m_value)
|
||||
|
||||
// Similar to PNAME, but to mark groups, i.e. properties with PROPERTY_USAGE_GROUP.
|
||||
// Groups defined directly inside ADD_GROUP macros don't need this.
|
||||
// The arguments are the same as ADD_GROUP. m_prefix is only used for extraction.
|
||||
#define GNAME(m_value, m_prefix) (m_value)
|
||||
|
||||
// Runtime translate for the public node API.
|
||||
String RTR(const String &p_text, const String &p_context = "");
|
||||
String RTRN(const String &p_text, const String &p_text_plural, int p_n, const String &p_context = "");
|
||||
|
|
|
@ -560,30 +560,30 @@ public:
|
|||
|
||||
if (use_fps && animation->get_step() > 0) {
|
||||
float max_frame = animation->get_length() / animation->get_step();
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "frame", PROPERTY_HINT_RANGE, "0," + rtos(max_frame) + ",1"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("frame"), PROPERTY_HINT_RANGE, "0," + rtos(max_frame) + ",1"));
|
||||
} else {
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "time", PROPERTY_HINT_RANGE, "0," + rtos(animation->get_length()) + ",0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("time"), PROPERTY_HINT_RANGE, "0," + rtos(animation->get_length()) + ",0.01"));
|
||||
}
|
||||
|
||||
switch (animation->track_get_type(track)) {
|
||||
case Animation::TYPE_POSITION_3D: {
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, "position"));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, PNAME("position")));
|
||||
} break;
|
||||
case Animation::TYPE_ROTATION_3D: {
|
||||
p_list->push_back(PropertyInfo(Variant::QUATERNION, "rotation"));
|
||||
p_list->push_back(PropertyInfo(Variant::QUATERNION, PNAME("rotation")));
|
||||
} break;
|
||||
case Animation::TYPE_SCALE_3D: {
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, "scale"));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, PNAME("scale")));
|
||||
} break;
|
||||
case Animation::TYPE_BLEND_SHAPE: {
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "value"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("value")));
|
||||
} break;
|
||||
case Animation::TYPE_VALUE: {
|
||||
Variant v = animation->track_get_key_value(track, key);
|
||||
|
||||
if (hint.type != Variant::NIL) {
|
||||
PropertyInfo pi = hint;
|
||||
pi.name = "value";
|
||||
pi.name = PNAME("value");
|
||||
p_list->push_back(pi);
|
||||
} else {
|
||||
PropertyHint val_hint = PROPERTY_HINT_NONE;
|
||||
|
@ -599,14 +599,14 @@ public:
|
|||
}
|
||||
|
||||
if (v.get_type() != Variant::NIL) {
|
||||
p_list->push_back(PropertyInfo(v.get_type(), "value", val_hint, val_hint_string));
|
||||
p_list->push_back(PropertyInfo(v.get_type(), PNAME("value"), val_hint, val_hint_string));
|
||||
}
|
||||
}
|
||||
|
||||
} break;
|
||||
case Animation::TYPE_METHOD: {
|
||||
p_list->push_back(PropertyInfo(Variant::STRING_NAME, "name"));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, "arg_count", PROPERTY_HINT_RANGE, "0,32,1,or_greater"));
|
||||
p_list->push_back(PropertyInfo(Variant::STRING_NAME, PNAME("name")));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, PNAME("arg_count"), PROPERTY_HINT_RANGE, "0,32,1,or_greater"));
|
||||
|
||||
Dictionary d = animation->track_get_key_value(track, key);
|
||||
ERR_FAIL_COND(!d.has("args"));
|
||||
|
@ -620,24 +620,24 @@ public:
|
|||
}
|
||||
|
||||
for (int i = 0; i < args.size(); i++) {
|
||||
p_list->push_back(PropertyInfo(Variant::INT, "args/" + itos(i) + "/type", PROPERTY_HINT_ENUM, vtypes));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, vformat("%s/%d/%s", PNAME("args"), i, PNAME("type")), PROPERTY_HINT_ENUM, vtypes));
|
||||
if (args[i].get_type() != Variant::NIL) {
|
||||
p_list->push_back(PropertyInfo(args[i].get_type(), "args/" + itos(i) + "/value"));
|
||||
p_list->push_back(PropertyInfo(args[i].get_type(), vformat("%s/%d/%s", PNAME("args"), i, PNAME("value"))));
|
||||
}
|
||||
}
|
||||
|
||||
} break;
|
||||
case Animation::TYPE_BEZIER: {
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "value"));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR2, "in_handle"));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR2, "out_handle"));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, "handle_mode", PROPERTY_HINT_ENUM, "Free,Balanced"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("value")));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR2, PNAME("in_handle")));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR2, PNAME("out_handle")));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, PNAME("handle_mode"), PROPERTY_HINT_ENUM, "Free,Balanced"));
|
||||
|
||||
} break;
|
||||
case Animation::TYPE_AUDIO: {
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, "stream", PROPERTY_HINT_RESOURCE_TYPE, "AudioStream"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "start_offset", PROPERTY_HINT_RANGE, "0,3600,0.01,or_greater"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "end_offset", PROPERTY_HINT_RANGE, "0,3600,0.01,or_greater"));
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, PNAME("stream"), PROPERTY_HINT_RESOURCE_TYPE, "AudioStream"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("start_offset"), PROPERTY_HINT_RANGE, "0,3600,0.01,or_greater"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("end_offset"), PROPERTY_HINT_RANGE, "0,3600,0.01,or_greater"));
|
||||
|
||||
} break;
|
||||
case Animation::TYPE_ANIMATION: {
|
||||
|
@ -663,13 +663,13 @@ public:
|
|||
}
|
||||
animations += "[stop]";
|
||||
|
||||
p_list->push_back(PropertyInfo(Variant::STRING_NAME, "animation", PROPERTY_HINT_ENUM, animations));
|
||||
p_list->push_back(PropertyInfo(Variant::STRING_NAME, PNAME("animation"), PROPERTY_HINT_ENUM, animations));
|
||||
|
||||
} break;
|
||||
}
|
||||
|
||||
if (animation->track_get_type(track) == Animation::TYPE_VALUE) {
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "easing", PROPERTY_HINT_EXP_EASING));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("easing"), PROPERTY_HINT_EXP_EASING));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -100,6 +100,7 @@ class ExtractType(enum.IntEnum):
|
|||
TEXT = 1
|
||||
PROPERTY_PATH = 2
|
||||
GROUP = 3
|
||||
SUBGROUP = 4
|
||||
|
||||
|
||||
# Regex "(?P<name>([^"\\]|\\.)*)" creates a group named `name` that matches a string.
|
||||
|
@ -115,19 +116,23 @@ message_patterns = {
|
|||
): ExtractType.TEXT,
|
||||
re.compile(r'_initial_set\("(?P<message>[^"]+?)",'): ExtractType.PROPERTY_PATH,
|
||||
re.compile(r'GLOBAL_DEF(_RST)?(_NOVAL)?(_BASIC)?\("(?P<message>[^"]+?)",'): ExtractType.PROPERTY_PATH,
|
||||
re.compile(r'GLOBAL_DEF_BASIC\(vformat\("(?P<message>layer_names/\w+)/layer_%d"'): ExtractType.PROPERTY_PATH,
|
||||
re.compile(r'EDITOR_DEF(_RST)?\("(?P<message>[^"]+?)",'): ExtractType.PROPERTY_PATH,
|
||||
re.compile(
|
||||
r'EDITOR_SETTING(_USAGE)?\(Variant::[_A-Z0-9]+, [_A-Z0-9]+, "(?P<message>[^"]+?)",'
|
||||
): ExtractType.PROPERTY_PATH,
|
||||
re.compile(
|
||||
r'(ADD_PROPERTYI?|ImportOption|ExportOption)\(PropertyInfo\(Variant::[_A-Z0-9]+, "(?P<message>[^"]+?)"[,)]'
|
||||
r"(ADD_PROPERTYI?|ImportOption|ExportOption)\(PropertyInfo\("
|
||||
+ r"Variant::[_A-Z0-9]+" # Name
|
||||
+ r', "(?P<message>[^"]+)"' # Type
|
||||
+ r'(, [_A-Z0-9]+(, "([^"\\]|\\.)*"(, (?P<usage>[_A-Z0-9]+))?)?|\))' # [, hint[, hint string[, usage]]].
|
||||
): ExtractType.PROPERTY_PATH,
|
||||
re.compile(
|
||||
r"(?!#define )LIMPL_PROPERTY(_RANGE)?\(Variant::[_A-Z0-9]+, (?P<message>[^,]+?),"
|
||||
): ExtractType.PROPERTY_PATH,
|
||||
re.compile(r'ADD_GROUP\("(?P<message>[^"]+?)", "(?P<prefix>[^"]*?)"\)'): ExtractType.GROUP,
|
||||
re.compile(r'#define WRTC_\w+ "(?P<message>[^"]+?)"'): ExtractType.PROPERTY_PATH,
|
||||
re.compile(r'ADD_ARRAY\("(?P<message>[^"]+)", '): ExtractType.PROPERTY_PATH,
|
||||
re.compile(r'ADD_ARRAY_COUNT(_WITH_USAGE_FLAGS)?\("(?P<message>[^"]+)", '): ExtractType.TEXT,
|
||||
re.compile(r'(ADD_GROUP|GNAME)\("(?P<message>[^"]+)", "(?P<prefix>[^"]*)"\)'): ExtractType.GROUP,
|
||||
re.compile(r'ADD_GROUP_INDENT\("(?P<message>[^"]+)", "(?P<prefix>[^"]*)", '): ExtractType.GROUP,
|
||||
re.compile(r'ADD_SUBGROUP\("(?P<message>[^"]+)", "(?P<prefix>[^"]*)"\)'): ExtractType.SUBGROUP,
|
||||
re.compile(r'ADD_SUBGROUP_INDENT\("(?P<message>[^"]+)", "(?P<prefix>[^"]*)", '): ExtractType.GROUP,
|
||||
re.compile(r'PNAME\("(?P<message>[^"]+)"\)'): ExtractType.PROPERTY_PATH,
|
||||
}
|
||||
theme_property_patterns = {
|
||||
re.compile(r'set_(constant|font|font_size|stylebox|color|icon)\("(?P<message>[^"]+)", '): ExtractType.PROPERTY_PATH,
|
||||
|
@ -203,6 +208,7 @@ def process_file(f, fname):
|
|||
is_block_translator_comment = False
|
||||
translator_comment = ""
|
||||
current_group = ""
|
||||
current_subgroup = ""
|
||||
|
||||
patterns = message_patterns
|
||||
if os.path.basename(fname) == "default_theme.cpp":
|
||||
|
@ -239,11 +245,25 @@ def process_file(f, fname):
|
|||
if extract_type == ExtractType.TEXT:
|
||||
_add_message(msg, msg_plural, msgctx, location, translator_comment)
|
||||
elif extract_type == ExtractType.PROPERTY_PATH:
|
||||
if current_group:
|
||||
if captures.get("usage") == "PROPERTY_USAGE_NO_EDITOR":
|
||||
continue
|
||||
|
||||
if current_subgroup:
|
||||
if msg.startswith(current_subgroup):
|
||||
msg = msg[len(current_subgroup) :]
|
||||
elif current_subgroup.startswith(msg):
|
||||
pass # Keep this as-is. See EditorInspector::update_tree().
|
||||
else:
|
||||
current_subgroup = ""
|
||||
elif current_group:
|
||||
if msg.startswith(current_group):
|
||||
msg = msg[len(current_group) :]
|
||||
elif current_group.startswith(msg):
|
||||
pass # Keep this as-is. See EditorInspector::update_tree().
|
||||
else:
|
||||
current_group = ""
|
||||
current_subgroup = ""
|
||||
|
||||
if "." in msg: # Strip feature tag.
|
||||
msg = msg.split(".", 1)[0]
|
||||
for part in msg.split("/"):
|
||||
|
@ -251,6 +271,10 @@ def process_file(f, fname):
|
|||
elif extract_type == ExtractType.GROUP:
|
||||
_add_message(msg, msg_plural, msgctx, location, translator_comment)
|
||||
current_group = captures["prefix"]
|
||||
current_subgroup = ""
|
||||
elif extract_type == ExtractType.SUBGROUP:
|
||||
_add_message(msg, msg_plural, msgctx, location, translator_comment)
|
||||
current_subgroup = captures["prefix"]
|
||||
translator_comment = ""
|
||||
|
||||
l = f.readline()
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
#include "core/io/packet_peer.h"
|
||||
|
||||
#define WRTC_IN_BUF "network/limits/webrtc/max_channel_in_buffer_kb"
|
||||
#define WRTC_IN_BUF PNAME("network/limits/webrtc/max_channel_in_buffer_kb")
|
||||
|
||||
class WebRTCDataChannel : public PacketPeer {
|
||||
GDCLASS(WebRTCDataChannel, PacketPeer);
|
||||
|
|
|
@ -207,9 +207,9 @@ static const char *SPLASH_CONFIG_PATH = "res://android/build/res/drawable/splash
|
|||
static const char *GDNATIVE_LIBS_PATH = "res://android/build/libs/gdnativelibs.json";
|
||||
|
||||
static const int icon_densities_count = 6;
|
||||
static const char *launcher_icon_option = "launcher_icons/main_192x192";
|
||||
static const char *launcher_adaptive_icon_foreground_option = "launcher_icons/adaptive_foreground_432x432";
|
||||
static const char *launcher_adaptive_icon_background_option = "launcher_icons/adaptive_background_432x432";
|
||||
static const char *launcher_icon_option = PNAME("launcher_icons/main_192x192");
|
||||
static const char *launcher_adaptive_icon_foreground_option = PNAME("launcher_icons/adaptive_foreground_432x432");
|
||||
static const char *launcher_adaptive_icon_background_option = PNAME("launcher_icons/adaptive_background_432x432");
|
||||
|
||||
static const LauncherIcon launcher_icons[icon_densities_count] = {
|
||||
{ "res/mipmap-xxxhdpi-v4/icon.png", 192 },
|
||||
|
@ -1697,7 +1697,7 @@ void EditorExportPlatformAndroid::get_export_options(List<ExportOption> *r_optio
|
|||
Vector<PluginConfigAndroid> plugins_configs = get_plugins();
|
||||
for (int i = 0; i < plugins_configs.size(); i++) {
|
||||
print_verbose("Found Android plugin " + plugins_configs[i].name);
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "plugins/" + plugins_configs[i].name), false));
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, vformat("%s/%s", PNAME("plugins"), plugins_configs[i].name)), false));
|
||||
}
|
||||
plugins_changed.clear();
|
||||
|
||||
|
@ -1707,7 +1707,7 @@ void EditorExportPlatformAndroid::get_export_options(List<ExportOption> *r_optio
|
|||
// All Android devices supporting Vulkan run 64-bit Android,
|
||||
// so there is usually no point in exporting for 32-bit Android.
|
||||
const bool is_default = abi == "arm64-v8a";
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "architectures/" + abi), is_default));
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, vformat("%s/%s", PNAME("architectures"), abi)), is_default));
|
||||
}
|
||||
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "keystore/debug", PROPERTY_HINT_GLOBAL_FILE, "*.keystore,*.jks"), ""));
|
||||
|
@ -1758,7 +1758,7 @@ void EditorExportPlatformAndroid::get_export_options(List<ExportOption> *r_optio
|
|||
|
||||
const char **perms = android_perms;
|
||||
while (*perms) {
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "permissions/" + String(*perms).to_lower()), false));
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, vformat("%s/%s", PNAME("permissions"), String(*perms).to_lower())), false));
|
||||
perms++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,18 +58,18 @@ struct LoadingScreenInfo {
|
|||
};
|
||||
|
||||
static const LoadingScreenInfo loading_screen_infos[] = {
|
||||
{ "landscape_launch_screens/iphone_2436x1125", "Default-Landscape-X.png", 2436, 1125, false },
|
||||
{ "landscape_launch_screens/iphone_2208x1242", "Default-Landscape-736h@3x.png", 2208, 1242, false },
|
||||
{ "landscape_launch_screens/ipad_1024x768", "Default-Landscape.png", 1024, 768, false },
|
||||
{ "landscape_launch_screens/ipad_2048x1536", "Default-Landscape@2x.png", 2048, 1536, false },
|
||||
{ PNAME("landscape_launch_screens/iphone_2436x1125"), "Default-Landscape-X.png", 2436, 1125, false },
|
||||
{ PNAME("landscape_launch_screens/iphone_2208x1242"), "Default-Landscape-736h@3x.png", 2208, 1242, false },
|
||||
{ PNAME("landscape_launch_screens/ipad_1024x768"), "Default-Landscape.png", 1024, 768, false },
|
||||
{ PNAME("landscape_launch_screens/ipad_2048x1536"), "Default-Landscape@2x.png", 2048, 1536, false },
|
||||
|
||||
{ "portrait_launch_screens/iphone_640x960", "Default-480h@2x.png", 640, 960, true },
|
||||
{ "portrait_launch_screens/iphone_640x1136", "Default-568h@2x.png", 640, 1136, true },
|
||||
{ "portrait_launch_screens/iphone_750x1334", "Default-667h@2x.png", 750, 1334, true },
|
||||
{ "portrait_launch_screens/iphone_1125x2436", "Default-Portrait-X.png", 1125, 2436, true },
|
||||
{ "portrait_launch_screens/ipad_768x1024", "Default-Portrait.png", 768, 1024, true },
|
||||
{ "portrait_launch_screens/ipad_1536x2048", "Default-Portrait@2x.png", 1536, 2048, true },
|
||||
{ "portrait_launch_screens/iphone_1242x2208", "Default-Portrait-736h@3x.png", 1242, 2208, true }
|
||||
{ PNAME("portrait_launch_screens/iphone_640x960"), "Default-480h@2x.png", 640, 960, true },
|
||||
{ PNAME("portrait_launch_screens/iphone_640x1136"), "Default-568h@2x.png", 640, 1136, true },
|
||||
{ PNAME("portrait_launch_screens/iphone_750x1334"), "Default-667h@2x.png", 750, 1334, true },
|
||||
{ PNAME("portrait_launch_screens/iphone_1125x2436"), "Default-Portrait-X.png", 1125, 2436, true },
|
||||
{ PNAME("portrait_launch_screens/ipad_768x1024"), "Default-Portrait.png", 768, 1024, true },
|
||||
{ PNAME("portrait_launch_screens/ipad_1536x2048"), "Default-Portrait@2x.png", 1536, 2048, true },
|
||||
{ PNAME("portrait_launch_screens/iphone_1242x2208"), "Default-Portrait-736h@3x.png", 1242, 2208, true }
|
||||
};
|
||||
|
||||
void EditorExportPlatformIOS::get_export_options(List<ExportOption> *r_options) {
|
||||
|
@ -78,7 +78,7 @@ void EditorExportPlatformIOS::get_export_options(List<ExportOption> *r_options)
|
|||
|
||||
Vector<ExportArchitecture> architectures = _get_supported_architectures();
|
||||
for (int i = 0; i < architectures.size(); ++i) {
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "architectures/" + architectures[i].name), architectures[i].is_default));
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, vformat("%s/%s", PNAME("architectures"), architectures[i].name)), architectures[i].is_default));
|
||||
}
|
||||
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "application/app_store_team_id"), ""));
|
||||
|
@ -99,7 +99,7 @@ void EditorExportPlatformIOS::get_export_options(List<ExportOption> *r_options)
|
|||
|
||||
Vector<PluginConfigIOS> found_plugins = get_plugins();
|
||||
for (int i = 0; i < found_plugins.size(); i++) {
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, "plugins/" + found_plugins[i].name), false));
|
||||
r_options->push_back(ExportOption(PropertyInfo(Variant::BOOL, vformat("%s/%s", PNAME("plugins"), found_plugins[i].name)), false));
|
||||
}
|
||||
|
||||
RBSet<String> plist_keys;
|
||||
|
|
|
@ -57,7 +57,7 @@ bool AudioListener2D::_get(const StringName &p_name, Variant &r_ret) const {
|
|||
}
|
||||
|
||||
void AudioListener2D::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "current"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, PNAME("current")));
|
||||
}
|
||||
|
||||
void AudioListener2D::_notification(int p_what) {
|
||||
|
|
|
@ -81,14 +81,14 @@ bool Bone2D::_get(const StringName &p_path, Variant &r_ret) const {
|
|||
}
|
||||
|
||||
void Bone2D::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "auto_calculate_length_and_angle", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, PNAME("auto_calculate_length_and_angle"), PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT));
|
||||
if (!autocalculate_length_and_angle) {
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "length", PROPERTY_HINT_RANGE, "1, 1024, 1", PROPERTY_USAGE_DEFAULT));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "bone_angle", PROPERTY_HINT_RANGE, "-360, 360, 0.01", PROPERTY_USAGE_DEFAULT));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("length"), PROPERTY_HINT_RANGE, "1, 1024, 1", PROPERTY_USAGE_DEFAULT));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("bone_angle"), PROPERTY_HINT_RANGE, "-360, 360, 0.01", PROPERTY_USAGE_DEFAULT));
|
||||
}
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "editor_settings/show_bone_gizmo", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, PNAME("editor_settings/show_bone_gizmo"), PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT));
|
||||
#endif // TOOLS_ENABLED
|
||||
}
|
||||
|
||||
|
@ -560,7 +560,7 @@ bool Skeleton2D::_get(const StringName &p_path, Variant &r_ret) const {
|
|||
|
||||
void Skeleton2D::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
p_list->push_back(
|
||||
PropertyInfo(Variant::OBJECT, "modification_stack",
|
||||
PropertyInfo(Variant::OBJECT, PNAME("modification_stack"),
|
||||
PROPERTY_HINT_RESOURCE_TYPE,
|
||||
"SkeletonModificationStack2D",
|
||||
PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_DEFERRED_SET_RESOURCE | PROPERTY_USAGE_DO_NOT_SHARE_ON_DUPLICATE));
|
||||
|
|
|
@ -68,7 +68,7 @@ bool AudioListener3D::_get(const StringName &p_name, Variant &r_ret) const {
|
|||
}
|
||||
|
||||
void AudioListener3D::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "current"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, PNAME("current")));
|
||||
}
|
||||
|
||||
void AudioListener3D::_update_listener() {
|
||||
|
|
|
@ -97,7 +97,7 @@ void MeshInstance3D::_get_property_list(List<PropertyInfo> *p_list) const {
|
|||
|
||||
if (mesh.is_valid()) {
|
||||
for (int i = 0; i < mesh->get_surface_count(); i++) {
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, "surface_material_override/" + itos(i), PROPERTY_HINT_RESOURCE_TYPE, "BaseMaterial3D,ShaderMaterial", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_DEFERRED_SET_RESOURCE));
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, vformat("%s/%d", PNAME("surface_material_override"), i), PROPERTY_HINT_RESOURCE_TYPE, "BaseMaterial3D,ShaderMaterial", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_DEFERRED_SET_RESOURCE));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2261,9 +2261,9 @@ bool PhysicalBone3D::PinJointData::_get(const StringName &p_name, Variant &r_ret
|
|||
void PhysicalBone3D::PinJointData::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
JointData::_get_property_list(p_list);
|
||||
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/bias", PROPERTY_HINT_RANGE, "0.01,0.99,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/damping", PROPERTY_HINT_RANGE, "0.01,8.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/impulse_clamp", PROPERTY_HINT_RANGE, "0.0,64.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/bias"), PROPERTY_HINT_RANGE, "0.01,0.99,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/damping"), PROPERTY_HINT_RANGE, "0.01,8.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/impulse_clamp"), PROPERTY_HINT_RANGE, "0.0,64.0,0.01"));
|
||||
}
|
||||
|
||||
bool PhysicalBone3D::ConeJointData::_set(const StringName &p_name, const Variant &p_value, RID j) {
|
||||
|
@ -2333,11 +2333,11 @@ bool PhysicalBone3D::ConeJointData::_get(const StringName &p_name, Variant &r_re
|
|||
void PhysicalBone3D::ConeJointData::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
JointData::_get_property_list(p_list);
|
||||
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/swing_span", PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/twist_span", PROPERTY_HINT_RANGE, "-40000,40000,0.1,or_lesser,or_greater"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/bias", PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/softness", PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/relaxation", PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/swing_span"), PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/twist_span"), PROPERTY_HINT_RANGE, "-40000,40000,0.1,or_lesser,or_greater"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/bias"), PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/softness"), PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/relaxation"), PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
}
|
||||
|
||||
bool PhysicalBone3D::HingeJointData::_set(const StringName &p_name, const Variant &p_value, RID j) {
|
||||
|
@ -2415,12 +2415,12 @@ bool PhysicalBone3D::HingeJointData::_get(const StringName &p_name, Variant &r_r
|
|||
void PhysicalBone3D::HingeJointData::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
JointData::_get_property_list(p_list);
|
||||
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "joint_constraints/angular_limit_enabled"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/angular_limit_upper", PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/angular_limit_lower", PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/angular_limit_bias", PROPERTY_HINT_RANGE, "0.01,0.99,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/angular_limit_softness", PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/angular_limit_relaxation", PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, PNAME("joint_constraints/angular_limit_enabled")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/angular_limit_upper"), PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/angular_limit_lower"), PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/angular_limit_bias"), PROPERTY_HINT_RANGE, "0.01,0.99,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/angular_limit_softness"), PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/angular_limit_relaxation"), PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
}
|
||||
|
||||
bool PhysicalBone3D::SliderJointData::_set(const StringName &p_name, const Variant &p_value, RID j) {
|
||||
|
@ -2530,17 +2530,17 @@ bool PhysicalBone3D::SliderJointData::_get(const StringName &p_name, Variant &r_
|
|||
void PhysicalBone3D::SliderJointData::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
JointData::_get_property_list(p_list);
|
||||
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/linear_limit_upper"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/linear_limit_lower"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/linear_limit_softness", PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/linear_limit_restitution", PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/linear_limit_damping", PROPERTY_HINT_RANGE, "0,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/linear_limit_upper")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/linear_limit_lower")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/linear_limit_softness"), PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/linear_limit_restitution"), PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/linear_limit_damping"), PROPERTY_HINT_RANGE, "0,16.0,0.01"));
|
||||
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/angular_limit_upper", PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/angular_limit_lower", PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/angular_limit_softness", PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/angular_limit_restitution", PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/angular_limit_damping", PROPERTY_HINT_RANGE, "0,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/angular_limit_upper"), PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/angular_limit_lower"), PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/angular_limit_softness"), PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/angular_limit_restitution"), PROPERTY_HINT_RANGE, "0.01,16.0,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, PNAME("joint_constraints/angular_limit_damping"), PROPERTY_HINT_RANGE, "0,16.0,0.01"));
|
||||
}
|
||||
|
||||
bool PhysicalBone3D::SixDOFJointData::_set(const StringName &p_name, const Variant &p_value, RID j) {
|
||||
|
@ -2780,29 +2780,30 @@ bool PhysicalBone3D::SixDOFJointData::_get(const StringName &p_name, Variant &r_
|
|||
}
|
||||
|
||||
void PhysicalBone3D::SixDOFJointData::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
const StringName axis_names[] = { "x", "y", "z" };
|
||||
const StringName axis_names[] = { PNAME("x"), PNAME("y"), PNAME("z") };
|
||||
for (int i = 0; i < 3; ++i) {
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "joint_constraints/" + axis_names[i] + "/linear_limit_enabled"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/linear_limit_upper"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/linear_limit_lower"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/linear_limit_softness", PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "joint_constraints/" + axis_names[i] + "/linear_spring_enabled"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/linear_spring_stiffness"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/linear_spring_damping"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/linear_equilibrium_point"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/linear_restitution", PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/linear_damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "joint_constraints/" + axis_names[i] + "/angular_limit_enabled"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/angular_limit_upper", PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/angular_limit_lower", PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/angular_limit_softness", PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/angular_restitution", PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/angular_damping", PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/erp"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "joint_constraints/" + axis_names[i] + "/angular_spring_enabled"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/angular_spring_stiffness"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/angular_spring_damping"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, "joint_constraints/" + axis_names[i] + "/angular_equilibrium_point"));
|
||||
const String prefix = vformat("%s/%s/", PNAME("joint_constraints"), axis_names[i]);
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, prefix + PNAME("linear_limit_enabled")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("linear_limit_upper")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("linear_limit_lower")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("linear_limit_softness"), PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, prefix + PNAME("linear_spring_enabled")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("linear_spring_stiffness")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("linear_spring_damping")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("linear_equilibrium_point")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("linear_restitution"), PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("linear_damping"), PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, prefix + PNAME("angular_limit_enabled")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("angular_limit_upper"), PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("angular_limit_lower"), PROPERTY_HINT_RANGE, "-180,180,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("angular_limit_softness"), PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("angular_restitution"), PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("angular_damping"), PROPERTY_HINT_RANGE, "0.01,16,0.01"));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("erp")));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, prefix + PNAME("angular_spring_enabled")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("angular_spring_stiffness")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("angular_spring_damping")));
|
||||
p_list->push_back(PropertyInfo(Variant::FLOAT, prefix + PNAME("angular_equilibrium_point")));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2849,9 +2850,9 @@ void PhysicalBone3D::_get_property_list(List<PropertyInfo> *p_list) const {
|
|||
names += parent->get_bone_name(i);
|
||||
}
|
||||
|
||||
p_list->push_back(PropertyInfo(Variant::STRING_NAME, "bone_name", PROPERTY_HINT_ENUM, names));
|
||||
p_list->push_back(PropertyInfo(Variant::STRING_NAME, PNAME("bone_name"), PROPERTY_HINT_ENUM, names));
|
||||
} else {
|
||||
p_list->push_back(PropertyInfo(Variant::STRING_NAME, "bone_name"));
|
||||
p_list->push_back(PropertyInfo(Variant::STRING_NAME, PNAME("bone_name")));
|
||||
}
|
||||
|
||||
if (joint_data) {
|
||||
|
|
|
@ -153,14 +153,14 @@ bool Skeleton3D::_get(const StringName &p_path, Variant &r_ret) const {
|
|||
|
||||
void Skeleton3D::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
for (int i = 0; i < bones.size(); i++) {
|
||||
String prep = "bones/" + itos(i) + "/";
|
||||
p_list->push_back(PropertyInfo(Variant::STRING, prep + "name", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, prep + "parent", PROPERTY_HINT_RANGE, "-1," + itos(bones.size() - 1) + ",1", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, prep + "rest", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, prep + "enabled", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, prep + "position", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::QUATERNION, prep + "rotation", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, prep + "scale", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
const String prep = vformat("%s/%d/", PNAME("bones"), i);
|
||||
p_list->push_back(PropertyInfo(Variant::STRING, prep + PNAME("name"), PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, prep + PNAME("parent"), PROPERTY_HINT_RANGE, "-1," + itos(bones.size() - 1) + ",1", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, prep + PNAME("rest"), PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, prep + PNAME("enabled"), PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, prep + PNAME("position"), PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::QUATERNION, prep + PNAME("rotation"), PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, prep + PNAME("scale"), PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR));
|
||||
}
|
||||
|
||||
#ifndef _3D_DISABLED
|
||||
|
|
|
@ -162,12 +162,13 @@ bool SoftDynamicBody3D::_get(const StringName &p_name, Variant &r_ret) const {
|
|||
void SoftDynamicBody3D::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
const int pinned_points_indices_size = pinned_points.size();
|
||||
|
||||
p_list->push_back(PropertyInfo(Variant::PACKED_INT32_ARRAY, "pinned_points"));
|
||||
p_list->push_back(PropertyInfo(Variant::PACKED_INT32_ARRAY, PNAME("pinned_points")));
|
||||
|
||||
for (int i = 0; i < pinned_points_indices_size; ++i) {
|
||||
p_list->push_back(PropertyInfo(Variant::INT, "attachments/" + itos(i) + "/point_index"));
|
||||
p_list->push_back(PropertyInfo(Variant::NODE_PATH, "attachments/" + itos(i) + "/spatial_attachment_path"));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, "attachments/" + itos(i) + "/offset"));
|
||||
const String prefix = vformat("%s/%d", PNAME("attachments"), i);
|
||||
p_list->push_back(PropertyInfo(Variant::INT, prefix + PNAME("point_index")));
|
||||
p_list->push_back(PropertyInfo(Variant::NODE_PATH, prefix + PNAME("spatial_attachment_path")));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, prefix + PNAME("offset")));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -576,7 +576,6 @@ void AnimationNodeBlend3::_bind_methods() {
|
|||
}
|
||||
|
||||
AnimationNodeBlend3::AnimationNodeBlend3() {
|
||||
blend_amount = "blend_amount";
|
||||
add_input("-blend");
|
||||
add_input("in");
|
||||
add_input("+blend");
|
||||
|
|
|
@ -102,7 +102,7 @@ private:
|
|||
float time;
|
||||
float remaining;*/
|
||||
|
||||
StringName active = "active";
|
||||
StringName active = PNAME("active");
|
||||
StringName prev_active = "prev_active";
|
||||
StringName time = "time";
|
||||
StringName remaining = "remaining";
|
||||
|
@ -148,7 +148,7 @@ VARIANT_ENUM_CAST(AnimationNodeOneShot::MixMode)
|
|||
class AnimationNodeAdd2 : public AnimationNode {
|
||||
GDCLASS(AnimationNodeAdd2, AnimationNode);
|
||||
|
||||
StringName add_amount = "add_amount";
|
||||
StringName add_amount = PNAME("add_amount");
|
||||
bool sync = false;
|
||||
|
||||
protected:
|
||||
|
@ -172,7 +172,7 @@ public:
|
|||
class AnimationNodeAdd3 : public AnimationNode {
|
||||
GDCLASS(AnimationNodeAdd3, AnimationNode);
|
||||
|
||||
StringName add_amount = "add_amount";
|
||||
StringName add_amount = PNAME("add_amount");
|
||||
bool sync = false;
|
||||
|
||||
protected:
|
||||
|
@ -196,7 +196,7 @@ public:
|
|||
class AnimationNodeBlend2 : public AnimationNode {
|
||||
GDCLASS(AnimationNodeBlend2, AnimationNode);
|
||||
|
||||
StringName blend_amount = "blend_amount";
|
||||
StringName blend_amount = PNAME("blend_amount");
|
||||
bool sync = false;
|
||||
|
||||
protected:
|
||||
|
@ -219,7 +219,7 @@ public:
|
|||
class AnimationNodeBlend3 : public AnimationNode {
|
||||
GDCLASS(AnimationNodeBlend3, AnimationNode);
|
||||
|
||||
StringName blend_amount;
|
||||
StringName blend_amount = PNAME("blend_amount");
|
||||
bool sync;
|
||||
|
||||
protected:
|
||||
|
@ -241,7 +241,7 @@ public:
|
|||
class AnimationNodeTimeScale : public AnimationNode {
|
||||
GDCLASS(AnimationNodeTimeScale, AnimationNode);
|
||||
|
||||
StringName scale = "scale";
|
||||
StringName scale = PNAME("scale");
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
@ -260,7 +260,7 @@ public:
|
|||
class AnimationNodeTimeSeek : public AnimationNode {
|
||||
GDCLASS(AnimationNodeTimeSeek, AnimationNode);
|
||||
|
||||
StringName seek_pos = "seek_position";
|
||||
StringName seek_pos = PNAME("seek_position");
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
@ -300,7 +300,7 @@ class AnimationNodeTransition : public AnimationNode {
|
|||
StringName prev_xfading = "prev_xfading";
|
||||
StringName prev = "prev";
|
||||
StringName time = "time";
|
||||
StringName current = "current";
|
||||
StringName current = PNAME("current");
|
||||
StringName prev_current = "prev_current";
|
||||
|
||||
float xfade = 0.0;
|
||||
|
|
|
@ -1077,15 +1077,15 @@ void register_scene_types() {
|
|||
OS::get_singleton()->yield(); // may take time to init
|
||||
|
||||
for (int i = 0; i < 20; i++) {
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/2d_render/layer_%d", i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/3d_render/layer_%d", i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("%s/layer_%d", PNAME("layer_names/2d_render"), i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("%s/layer_%d", PNAME("layer_names/3d_render"), i + 1), "");
|
||||
}
|
||||
|
||||
for (int i = 0; i < 32; i++) {
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/2d_physics/layer_%d", i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/2d_navigation/layer_%d", i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/3d_physics/layer_%d", i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("layer_names/3d_navigation/layer_%d", i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("%s/layer_%d", PNAME("layer_names/2d_physics"), i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("%s/layer_%d", PNAME("layer_names/2d_navigation"), i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("%s/layer_%d", PNAME("layer_names/3d_physics"), i + 1), "");
|
||||
GLOBAL_DEF_BASIC(vformat("%s/layer_%d", PNAME("layer_names/3d_navigation"), i + 1), "");
|
||||
}
|
||||
|
||||
if (RenderingServer::get_singleton()) {
|
||||
|
|
|
@ -100,14 +100,14 @@ bool MeshLibrary::_get(const StringName &p_name, Variant &r_ret) const {
|
|||
|
||||
void MeshLibrary::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
for (const KeyValue<int, Item> &E : item_map) {
|
||||
String name = "item/" + itos(E.key) + "/";
|
||||
p_list->push_back(PropertyInfo(Variant::STRING, name + "name"));
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, name + "mesh", PROPERTY_HINT_RESOURCE_TYPE, "Mesh"));
|
||||
p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, name + "mesh_transform"));
|
||||
p_list->push_back(PropertyInfo(Variant::ARRAY, name + "shapes"));
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, name + "navmesh", PROPERTY_HINT_RESOURCE_TYPE, "NavigationMesh"));
|
||||
p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, name + "navmesh_transform"));
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, name + "preview", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_EDITOR_HELPER));
|
||||
String name = vformat("%s/%d/", PNAME("item"), E.key);
|
||||
p_list->push_back(PropertyInfo(Variant::STRING, name + PNAME("name")));
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, name + PNAME("mesh"), PROPERTY_HINT_RESOURCE_TYPE, "Mesh"));
|
||||
p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, name + PNAME("mesh_transform")));
|
||||
p_list->push_back(PropertyInfo(Variant::ARRAY, name + PNAME("shapes")));
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, name + PNAME("navmesh"), PROPERTY_HINT_RESOURCE_TYPE, "NavigationMesh"));
|
||||
p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, name + PNAME("navmesh_transform")));
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, name + PNAME("preview"), PROPERTY_HINT_RESOURCE_TYPE, "Texture2D", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_EDITOR_HELPER));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -130,11 +130,12 @@ bool Skin::_get(const StringName &p_name, Variant &r_ret) const {
|
|||
}
|
||||
|
||||
void Skin::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
p_list->push_back(PropertyInfo(Variant::INT, "bind_count", PROPERTY_HINT_RANGE, "0,16384,1,or_greater"));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, PNAME("bind_count"), PROPERTY_HINT_RANGE, "0,16384,1,or_greater"));
|
||||
for (int i = 0; i < get_bind_count(); i++) {
|
||||
p_list->push_back(PropertyInfo(Variant::STRING_NAME, "bind/" + itos(i) + "/name"));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, "bind/" + itos(i) + "/bone", PROPERTY_HINT_RANGE, "0,16384,1,or_greater", get_bind_name(i) != StringName() ? PROPERTY_USAGE_NO_EDITOR : PROPERTY_USAGE_DEFAULT));
|
||||
p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, "bind/" + itos(i) + "/pose"));
|
||||
const String prefix = vformat("%s/%d/", PNAME("bind"), i);
|
||||
p_list->push_back(PropertyInfo(Variant::STRING_NAME, prefix + PNAME("name")));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, prefix + PNAME("bone"), PROPERTY_HINT_RANGE, "0,16384,1,or_greater", get_bind_name(i) != StringName() ? PROPERTY_USAGE_NO_EDITOR : PROPERTY_USAGE_DEFAULT));
|
||||
p_list->push_back(PropertyInfo(Variant::TRANSFORM3D, prefix + PNAME("pose")));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -175,8 +175,8 @@ bool ImageTexture::_get(const StringName &p_name, Variant &r_ret) const {
|
|||
}
|
||||
|
||||
void ImageTexture::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, "image", PROPERTY_HINT_RESOURCE_TYPE, "Image", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR2, "size", PROPERTY_HINT_NONE, ""));
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, PNAME("image"), PROPERTY_HINT_RESOURCE_TYPE, "Image", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR2, PNAME("size"), PROPERTY_HINT_NONE, ""));
|
||||
}
|
||||
|
||||
void ImageTexture::create_from_image(const Ref<Image> &p_image) {
|
||||
|
|
|
@ -1547,7 +1547,7 @@ void VisualShader::reset_state() {
|
|||
}
|
||||
void VisualShader::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
//mode
|
||||
p_list->push_back(PropertyInfo(Variant::INT, "mode", PROPERTY_HINT_ENUM, "Node3D,CanvasItem,Particles,Sky,Fog"));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, PNAME("mode"), PROPERTY_HINT_ENUM, "Node3D,CanvasItem,Particles,Sky,Fog"));
|
||||
//render modes
|
||||
|
||||
HashMap<String, String> blend_mode_enums;
|
||||
|
@ -1576,15 +1576,15 @@ void VisualShader::_get_property_list(List<PropertyInfo> *p_list) const {
|
|||
}
|
||||
|
||||
for (const KeyValue<String, String> &E : blend_mode_enums) {
|
||||
p_list->push_back(PropertyInfo(Variant::INT, "modes/" + E.key, PROPERTY_HINT_ENUM, E.value));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, vformat("%s/%s", PNAME("modes"), E.key), PROPERTY_HINT_ENUM, E.value));
|
||||
}
|
||||
|
||||
for (RBSet<String>::Element *E = toggles.front(); E; E = E->next()) {
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "flags/" + E->get()));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, vformat("%s/%s", PNAME("flags"), E->get())));
|
||||
}
|
||||
|
||||
for (const KeyValue<String, Varying> &E : varyings) {
|
||||
p_list->push_back(PropertyInfo(Variant::STRING, "varyings/" + E.key));
|
||||
p_list->push_back(PropertyInfo(Variant::STRING, vformat("%s/%s", PNAME("varyings"), E.key)));
|
||||
}
|
||||
|
||||
for (int i = 0; i < TYPE_MAX; i++) {
|
||||
|
|
|
@ -861,7 +861,7 @@ PhysicsServer2D::~PhysicsServer2D() {
|
|||
Vector<PhysicsServer2DManager::ClassInfo> PhysicsServer2DManager::physics_2d_servers;
|
||||
int PhysicsServer2DManager::default_server_id = -1;
|
||||
int PhysicsServer2DManager::default_server_priority = -1;
|
||||
const String PhysicsServer2DManager::setting_property_name("physics/2d/physics_engine");
|
||||
const String PhysicsServer2DManager::setting_property_name(PNAME("physics/2d/physics_engine"));
|
||||
|
||||
void PhysicsServer2DManager::on_servers_changed() {
|
||||
String physics_servers("DEFAULT");
|
||||
|
|
|
@ -1033,7 +1033,7 @@ PhysicsServer3D::~PhysicsServer3D() {
|
|||
Vector<PhysicsServer3DManager::ClassInfo> PhysicsServer3DManager::physics_servers;
|
||||
int PhysicsServer3DManager::default_server_id = -1;
|
||||
int PhysicsServer3DManager::default_server_priority = -1;
|
||||
const String PhysicsServer3DManager::setting_property_name("physics/3d/physics_engine");
|
||||
const String PhysicsServer3DManager::setting_property_name(PNAME("physics/3d/physics_engine"));
|
||||
|
||||
void PhysicsServer3DManager::on_servers_changed() {
|
||||
String physics_servers2("DEFAULT");
|
||||
|
|
|
@ -192,26 +192,26 @@ ShaderTypes::ShaderTypes() {
|
|||
|
||||
// spatial render modes
|
||||
{
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "blend", "mix", "add", "sub", "mul" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "depth_draw", "opaque", "always", "never" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "depth_prepass_alpha" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "depth_test_disabled" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "sss_mode_skin" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "cull", "back", "front", "disabled" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "unshaded" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "wireframe" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "diffuse", "lambert", "lambert_wrap", "burley", "toon" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "specular", "schlick_ggx", "toon", "disabled" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "skip_vertex_transform" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "world_vertex_coords" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "ensure_correct_normals" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "shadows_disabled" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "ambient_light_disabled" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "shadow_to_opacity" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "vertex_lighting" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "particle_trails" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "alpha_to_coverage" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ "alpha_to_coverage_and_one" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("blend"), "mix", "add", "sub", "mul" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("depth_draw"), "opaque", "always", "never" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("depth_prepass_alpha") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("depth_test_disabled") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("sss_mode_skin") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("cull"), "back", "front", "disabled" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("unshaded") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("wireframe") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("diffuse"), "lambert", "lambert_wrap", "burley", "toon" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("specular"), "schlick_ggx", "toon", "disabled" });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("skip_vertex_transform") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("world_vertex_coords") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("ensure_correct_normals") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("shadows_disabled") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("ambient_light_disabled") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("shadow_to_opacity") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("vertex_lighting") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("particle_trails") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("alpha_to_coverage") });
|
||||
shader_modes[RS::SHADER_SPATIAL].modes.push_back({ PNAME("alpha_to_coverage_and_one") });
|
||||
}
|
||||
|
||||
/************ CANVAS ITEM **************************/
|
||||
|
@ -299,10 +299,10 @@ ShaderTypes::ShaderTypes() {
|
|||
|
||||
// canvasitem render modes
|
||||
{
|
||||
shader_modes[RS::SHADER_CANVAS_ITEM].modes.push_back({ "skip_vertex_transform" });
|
||||
shader_modes[RS::SHADER_CANVAS_ITEM].modes.push_back({ "blend", "mix", "add", "sub", "mul", "premul_alpha", "disabled" });
|
||||
shader_modes[RS::SHADER_CANVAS_ITEM].modes.push_back({ "unshaded" });
|
||||
shader_modes[RS::SHADER_CANVAS_ITEM].modes.push_back({ "light_only" });
|
||||
shader_modes[RS::SHADER_CANVAS_ITEM].modes.push_back({ PNAME("skip_vertex_transform") });
|
||||
shader_modes[RS::SHADER_CANVAS_ITEM].modes.push_back({ PNAME("blend"), "mix", "add", "sub", "mul", "premul_alpha", "disabled" });
|
||||
shader_modes[RS::SHADER_CANVAS_ITEM].modes.push_back({ PNAME("unshaded") });
|
||||
shader_modes[RS::SHADER_CANVAS_ITEM].modes.push_back({ PNAME("light_only") });
|
||||
}
|
||||
|
||||
/************ PARTICLES **************************/
|
||||
|
@ -380,10 +380,10 @@ ShaderTypes::ShaderTypes() {
|
|||
|
||||
// particles render modes
|
||||
{
|
||||
shader_modes[RS::SHADER_PARTICLES].modes.push_back({ "collision_use_scale" });
|
||||
shader_modes[RS::SHADER_PARTICLES].modes.push_back({ "disable_force" });
|
||||
shader_modes[RS::SHADER_PARTICLES].modes.push_back({ "disable_velocity" });
|
||||
shader_modes[RS::SHADER_PARTICLES].modes.push_back({ "keep_data" });
|
||||
shader_modes[RS::SHADER_PARTICLES].modes.push_back({ PNAME("collision_use_scale") });
|
||||
shader_modes[RS::SHADER_PARTICLES].modes.push_back({ PNAME("disable_force") });
|
||||
shader_modes[RS::SHADER_PARTICLES].modes.push_back({ PNAME("disable_velocity") });
|
||||
shader_modes[RS::SHADER_PARTICLES].modes.push_back({ PNAME("keep_data") });
|
||||
}
|
||||
|
||||
/************ SKY **************************/
|
||||
|
@ -430,9 +430,9 @@ ShaderTypes::ShaderTypes() {
|
|||
|
||||
// sky render modes
|
||||
{
|
||||
shader_modes[RS::SHADER_SKY].modes.push_back({ "use_half_res_pass" });
|
||||
shader_modes[RS::SHADER_SKY].modes.push_back({ "use_quarter_res_pass" });
|
||||
shader_modes[RS::SHADER_SKY].modes.push_back({ "disable_fog" });
|
||||
shader_modes[RS::SHADER_SKY].modes.push_back({ PNAME("use_half_res_pass") });
|
||||
shader_modes[RS::SHADER_SKY].modes.push_back({ PNAME("use_quarter_res_pass") });
|
||||
shader_modes[RS::SHADER_SKY].modes.push_back({ PNAME("disable_fog") });
|
||||
}
|
||||
|
||||
/************ FOG **************************/
|
||||
|
|
Loading…
Reference in New Issue