Rename the .shader file extension to .gdshader

This lets third-party software recognize Godot shaders more easily,
without relying on guesswork since the `.shader` extension is generic.
This commit is contained in:
Hugo Locurcio 2021-03-24 19:50:41 +01:00
parent 9a64d6b2b2
commit b191a7547c
No known key found for this signature in database
GPG key ID: 39E8F8BE30B0A49C
5 changed files with 12 additions and 6 deletions

View file

@ -1103,7 +1103,7 @@ ProjectSettings::ProjectSettings() {
if (Engine::get_singleton()->has_singleton("GodotSharp")) {
extensions.push_back("cs");
}
extensions.push_back("shader");
extensions.push_back("gdshader");
GLOBAL_DEF("editor/script/search_in_file_extensions", extensions);
custom_prop_info["editor/script/search_in_file_extensions"] = PropertyInfo(Variant::PACKED_STRING_ARRAY, "editor/script/search_in_file_extensions");

View file

@ -137,7 +137,7 @@ void EditorAssetInstaller::open(const String &p_path, int p_depth) {
extension_guess["atlastex"] = tree->get_theme_icon("AtlasTexture", "EditorIcons");
extension_guess["scn"] = tree->get_theme_icon("PackedScene", "EditorIcons");
extension_guess["tscn"] = tree->get_theme_icon("PackedScene", "EditorIcons");
extension_guess["shader"] = tree->get_theme_icon("Shader", "EditorIcons");
extension_guess["gdshader"] = tree->get_theme_icon("Shader", "EditorIcons");
extension_guess["gd"] = tree->get_theme_icon("GDScript", "EditorIcons");
extension_guess["vs"] = tree->get_theme_icon("VisualScript", "EditorIcons");
}

View file

@ -3172,7 +3172,7 @@ void ScriptEditor::_on_find_in_files_result_selected(String fpath, int line_numb
if (ResourceLoader::exists(fpath)) {
RES res = ResourceLoader::load(fpath);
if (fpath.get_extension() == "shader") {
if (fpath.get_extension() == "gdshader") {
ShaderEditorPlugin *shader_editor = Object::cast_to<ShaderEditorPlugin>(EditorNode::get_singleton()->get_editor_data().get_editor("Shader"));
shader_editor->edit(res.ptr());
shader_editor->make_visible(true);

View file

@ -21,6 +21,12 @@
<glob pattern="*.escn"/>
</mime-type>
<mime-type type="application/x-godot-shader">
<comment>Godot Engine shader</comment>
<icon name="x-godot-shader" />
<glob pattern="*.gdshader"/>
</mime-type>
<mime-type type="application/x-gdscript">
<comment>GDScript script</comment>
<icon name="x-gdscript" />

View file

@ -184,7 +184,7 @@ RES ResourceFormatLoaderShader::load(const String &p_path, const String &p_origi
}
void ResourceFormatLoaderShader::get_recognized_extensions(List<String> *p_extensions) const {
p_extensions->push_back("shader");
p_extensions->push_back("gdshader");
}
bool ResourceFormatLoaderShader::handles_type(const String &p_type) const {
@ -193,7 +193,7 @@ bool ResourceFormatLoaderShader::handles_type(const String &p_type) const {
String ResourceFormatLoaderShader::get_resource_type(const String &p_path) const {
String el = p_path.get_extension().to_lower();
if (el == "shader") {
if (el == "gdshader") {
return "Shader";
}
return "";
@ -224,7 +224,7 @@ Error ResourceFormatSaverShader::save(const String &p_path, const RES &p_resourc
void ResourceFormatSaverShader::get_recognized_extensions(const RES &p_resource, List<String> *p_extensions) const {
if (const Shader *shader = Object::cast_to<Shader>(*p_resource)) {
if (shader->is_text_shader()) {
p_extensions->push_back("shader");
p_extensions->push_back("gdshader");
}
}
}