summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.appveyor.yml5
-rw-r--r--.travis.yml23
-rw-r--r--SConstruct5
-rw-r--r--editor/editor_settings.cpp4
-rw-r--r--editor/plugins/spatial_editor_plugin.cpp8
-rw-r--r--scene/3d/camera.cpp2
-rw-r--r--scene/main/node.cpp12
-rw-r--r--servers/visual/visual_server_scene.cpp2
-rw-r--r--servers/visual/visual_server_scene.h4
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;