diff options
-rw-r--r-- | .appveyor.yml | 5 | ||||
-rw-r--r-- | .travis.yml | 23 | ||||
-rw-r--r-- | SConstruct | 5 | ||||
-rw-r--r-- | editor/editor_settings.cpp | 4 | ||||
-rw-r--r-- | editor/plugins/spatial_editor_plugin.cpp | 8 | ||||
-rw-r--r-- | scene/3d/camera.cpp | 2 | ||||
-rw-r--r-- | scene/main/node.cpp | 12 | ||||
-rw-r--r-- | servers/visual/visual_server_scene.cpp | 2 | ||||
-rw-r--r-- | servers/visual/visual_server_scene.h | 4 |
9 files changed, 36 insertions, 29 deletions
diff --git a/.appveyor.yml b/.appveyor.yml index dbd56ab7e0..e31e29e0d8 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,7 +1,9 @@ os: Visual Studio 2015 environment: + HOME: "%HOMEDRIVE%%HOMEPATH%" PYTHON: C:\Python27 + SCONS_CACHE: "%HOME%\\scons_cache" matrix: - VS: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat GD_PLATFORM: windows @@ -9,6 +11,9 @@ environment: TARGET: release_debug ARCH: amd64 +cache: + - "%SCONS_CACHE%" + install: - SET "PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" - pip install --egg scons # it will fail on AppVeyor without --egg flag diff --git a/.travis.yml b/.travis.yml index 974ef93d3f..6747905292 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,13 @@ dist: trusty sudo: false -cache: ccache +env: + global: + - SCONS_CACHE=$HOME/.scons_cache + +cache: + directories: + - $SCONS_CACHE matrix: include: @@ -67,20 +73,12 @@ install: fi - if [ "$TRAVIS_OS_NAME" = "osx" ]; then misc/travis/scons-local-osx.sh; - misc/travis/ccache-osx.sh; fi - if [ "$TRAVIS_OS_NAME" = "osx" ] && [ "$GODOT_TARGET" = "android" ]; then misc/travis/android-tools-osx.sh; fi before_script: - - if [ "$TRAVIS_OS_NAME" = "linux" ]; then - export CCACHE="/usr/bin/ccache"; - fi - - if [ "$TRAVIS_OS_NAME" = "osx" ]; then - export CCACHE="/usr/local/bin/ccache"; - export PATH="/usr/local/opt/ccache/libexec:$PATH"; - fi - if [ "$GODOT_TARGET" = "android" ]; then export ANDROID_HOME=$TRAVIS_BUILD_DIR/godot-dev/build-tools/android-sdk; export ANDROID_NDK_ROOT=$TRAVIS_BUILD_DIR/godot-dev/build-tools/android-ndk; @@ -92,10 +90,3 @@ script: else scons -j2 CC=$CC CXX=$CXX platform=$GODOT_TARGET TOOLS=$TOOLS verbose=yes progress=no; fi - -after_success: - - if [ "$STATIC_CHECKS" != "yes" ] && [ $(command -v ccache) ]; then - which ccache; - ccache --version | grep "ccache version"; - ccache -s; - fi; diff --git a/SConstruct b/SConstruct index 61edb1233b..b5885f896f 100644 --- a/SConstruct +++ b/SConstruct @@ -434,6 +434,11 @@ if selected_platform in platform_list: if (True): # FIXME: detect GLES3 env.Append( BUILDERS = { 'GLES3_GLSL' : env.Builder(action = methods.build_gles3_headers, suffix = 'glsl.gen.h',src_suffix = '.glsl') } ) + scons_cache_path = os.environ.get("SCONS_CACHE") + if scons_cache_path != None: + CacheDir(scons_cache_path) + print("Scons cache enabled... (path: '" + scons_cache_path + "')") + Export('env') # build subdirs, the build order is dependent on link order. diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index 8bec8854ca..818f1b0218 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -370,8 +370,8 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) { _initial_set("editors/3d/grid_color", Color::html("808080")); hints["editors/3d/grid_color"] = PropertyInfo(Variant::COLOR, "editors/3d/grid_color", PROPERTY_HINT_COLOR_NO_ALPHA, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_RESTART_IF_CHANGED); - _initial_set("editors/3d/default_fov", 55.0); - _initial_set("editors/3d/default_z_near", 0.1); + _initial_set("editors/3d/default_fov", 70.0); + _initial_set("editors/3d/default_z_near", 0.05); _initial_set("editors/3d/default_z_far", 500.0); // navigation diff --git a/editor/plugins/spatial_editor_plugin.cpp b/editor/plugins/spatial_editor_plugin.cpp index 20dda8b695..9636df970a 100644 --- a/editor/plugins/spatial_editor_plugin.cpp +++ b/editor/plugins/spatial_editor_plugin.cpp @@ -4828,8 +4828,8 @@ void SpatialEditor::_bind_methods() { void SpatialEditor::clear() { - settings_fov->set_value(EDITOR_DEF("editors/3d/default_fov", 55.0)); - settings_znear->set_value(EDITOR_DEF("editors/3d/default_z_near", 0.1)); + settings_fov->set_value(EDITOR_DEF("editors/3d/default_fov", 70.0)); + settings_znear->set_value(EDITOR_DEF("editors/3d/default_z_near", 0.05)); settings_zfar->set_value(EDITOR_DEF("editors/3d/default_z_far", 1500.0)); for (uint32_t i = 0; i < VIEWPORTS_COUNT; i++) { @@ -5072,14 +5072,14 @@ SpatialEditor::SpatialEditor(EditorNode *p_editor) { settings_fov->set_max(MAX_FOV); settings_fov->set_min(MIN_FOV); settings_fov->set_step(0.01); - settings_fov->set_value(EDITOR_DEF("editors/3d/default_fov", 55.0)); + settings_fov->set_value(EDITOR_DEF("editors/3d/default_fov", 70.0)); settings_vbc->add_margin_child(TTR("Perspective FOV (deg.):"), settings_fov); settings_znear = memnew(SpinBox); settings_znear->set_max(MAX_Z); settings_znear->set_min(MIN_Z); settings_znear->set_step(0.01); - settings_znear->set_value(EDITOR_DEF("editors/3d/default_z_near", 0.1)); + settings_znear->set_value(EDITOR_DEF("editors/3d/default_z_near", 0.05)); settings_vbc->add_margin_child(TTR("View Z-Near:"), settings_znear); settings_zfar = memnew(SpinBox); diff --git a/scene/3d/camera.cpp b/scene/3d/camera.cpp index 8c7d0c23c3..abc4a03498 100644 --- a/scene/3d/camera.cpp +++ b/scene/3d/camera.cpp @@ -649,7 +649,7 @@ Camera::Camera() { current = false; force_change = false; mode = PROJECTION_PERSPECTIVE; - set_perspective(65.0, 0.1, 100.0); + set_perspective(70.0, 0.05, 100.0); keep_aspect = KEEP_HEIGHT; layers = 0xfffff; v_offset = 0; diff --git a/scene/main/node.cpp b/scene/main/node.cpp index 506dc85475..d8baa7834d 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -2114,8 +2114,16 @@ Node *Node::_duplicate(int p_flags, Map<const Node *, Node *> *r_duplimap) const node_tree.push_front(this); if (instanced) { + // Since nodes in the instanced hierarchy won't be duplicated explicitly, we need to make an inventory + // of all the nodes in the tree of the instanced scene in order to transfer the values of the properties + for (List<const Node *>::Element *N = node_tree.front(); N; N = N->next()) { for (int i = 0; i < N->get()->get_child_count(); ++i) { + + // Skip nodes not really belonging to the instanced hierarchy; they'll be processed normally later + if (get_child(i)->data.owner != this) + continue; + node_tree.push_back(N->get()->get_child(i)); } } @@ -2124,6 +2132,7 @@ Node *Node::_duplicate(int p_flags, Map<const Node *, Node *> *r_duplimap) const for (List<const Node *>::Element *N = node_tree.front(); N; N = N->next()) { Node *current_node = node->get_node(get_path_to(N->get())); + ERR_CONTINUE(!current_node); if (p_flags & DUPLICATE_SCRIPTS) { bool is_valid = false; @@ -2136,9 +2145,6 @@ Node *Node::_duplicate(int p_flags, Map<const Node *, Node *> *r_duplimap) const List<PropertyInfo> plist; N->get()->get_property_list(&plist); - if (!current_node) - continue; - for (List<PropertyInfo>::Element *E = plist.front(); E; E = E->next()) { if (!(E->get().usage & PROPERTY_USAGE_STORAGE)) diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp index 2f47a0ca14..69827b330d 100644 --- a/servers/visual/visual_server_scene.cpp +++ b/servers/visual/visual_server_scene.cpp @@ -677,7 +677,7 @@ Vector<ObjectID> VisualServerScene::instances_cull_ray(const Vector3 &p_from, co int culled = 0; Instance *cull[1024]; - culled = scenario->octree.cull_segment(p_from, p_to * 10000, cull, 1024); + culled = scenario->octree.cull_segment(p_from, p_from + p_to * 10000, cull, 1024); for (int i = 0; i < culled; i++) { Instance *instance = cull[i]; diff --git a/servers/visual/visual_server_scene.h b/servers/visual/visual_server_scene.h index d075be76ca..9af5ffb74d 100644 --- a/servers/visual/visual_server_scene.h +++ b/servers/visual/visual_server_scene.h @@ -120,9 +120,9 @@ public: Camera() { visible_layers = 0xFFFFFFFF; - fov = 65; + fov = 70; type = PERSPECTIVE; - znear = 0.1; + znear = 0.05; zfar = 100; size = 1.0; vaspect = false; |