._sc_ file is now a ConfigFile for self contained mode

can contain a pre-loaded list of projects to be added to editor_settings.xml
This commit is contained in:
Ariel Manzur 2016-02-21 20:15:47 -03:00
parent 499308e482
commit 9c939d389e
11 changed files with 1063 additions and 4 deletions

View file

@ -170,6 +170,7 @@ void EditorSettings::create() {
String config_path; String config_path;
String config_dir; String config_dir;
String config_file="editor_settings.xml"; String config_file="editor_settings.xml";
Ref<ConfigFile> extra_config = memnew(ConfigFile);
String exe_path = OS::get_singleton()->get_executable_path().get_base_dir(); String exe_path = OS::get_singleton()->get_executable_path().get_base_dir();
DirAccess* d = DirAccess::create_for_path(exe_path); DirAccess* d = DirAccess::create_for_path(exe_path);
@ -178,7 +179,7 @@ void EditorSettings::create() {
// editor is self contained // editor is self contained
config_path = exe_path; config_path = exe_path;
config_dir = "editor_data"; config_dir = "editor_data";
extra_config->load(exe_path + "/._sc_");
} else { } else {
if (OS::get_singleton()->has_environment("APPDATA")) { if (OS::get_singleton()->has_environment("APPDATA")) {
@ -296,10 +297,20 @@ void EditorSettings::create() {
fail: fail:
// patch init projects
if (extra_config->has_section("init_projects")) {
Vector<String> list = extra_config->get_value("init_projects", "list");
for (int i=0; i<list.size(); i++) {
list[i] = exe_path + "/" + list[i];
};
extra_config->set_value("init_projects", "list", list);
};
singleton = Ref<EditorSettings>( memnew( EditorSettings ) ); singleton = Ref<EditorSettings>( memnew( EditorSettings ) );
singleton->config_file_path=config_file_path; singleton->config_file_path=config_file_path;
singleton->settings_path=config_path+"/"+config_dir; singleton->settings_path=config_path+"/"+config_dir;
singleton->_load_defaults(); singleton->_load_defaults(extra_config);
singleton->setup_network(); singleton->setup_network();
singleton->scan_plugins(); singleton->scan_plugins();
@ -445,7 +456,7 @@ void EditorSettings::destroy() {
singleton=Ref<EditorSettings>(); singleton=Ref<EditorSettings>();
} }
void EditorSettings::_load_defaults() { void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
_THREAD_SAFE_METHOD_ _THREAD_SAFE_METHOD_
@ -552,6 +563,17 @@ void EditorSettings::_load_defaults() {
set("run/auto_save_before_running",true); set("run/auto_save_before_running",true);
set("resources/save_compressed_resources",true); set("resources/save_compressed_resources",true);
set("resources/auto_reload_modified_images",true); set("resources/auto_reload_modified_images",true);
if (p_extra_config.is_valid() && p_extra_config->has_section("init_projects") && p_extra_config->has_section_key("init_projects", "list")) {
Vector<String> list = p_extra_config->get_value("init_projects", "list");
for (int i=0; i<list.size(); i++) {
String name = list[i].replace("/", "::");
set("projects/"+name, list[i]);
};
};
} }
void EditorSettings::notify_changes() { void EditorSettings::notify_changes() {

View file

@ -33,6 +33,7 @@
#include "resource.h" #include "resource.h"
#include "os/thread_safe.h" #include "os/thread_safe.h"
#include "core/io/config_file.h"
class EditorPlugin; class EditorPlugin;
@ -86,7 +87,7 @@ private:
EditorPlugin *_load_plugin_editor(const String& p_path); EditorPlugin *_load_plugin_editor(const String& p_path);
Error _load_plugin(const String& p_path,Plugin& plugin); Error _load_plugin(const String& p_path,Plugin& plugin);
void _load_defaults(); void _load_defaults(Ref<ConfigFile> p_extra_config = NULL);
String project_config_path; String project_config_path;

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
tools/steam/header.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

1029
tools/steam/icon32.icns Normal file

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 73 KiB

BIN
tools/steam/icon32.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
tools/steam/icons.zip Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

View file

@ -0,0 +1,7 @@
convert -resize 32x32 ../../godot_icon.svg icon32.ico
convert -resize 32x32 ../../godot_icon.svg icon32.icns
for s in 16 24 32 64 96 128 256; do convert -resize ${s}x$s ../../godot_icon.svg icon$s.png; done
zip icons.zip icon*.png
rm icon*.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB