summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2015-05-19 21:36:35 -0300
committerJuan Linietsky <reduzio@gmail.com>2015-05-19 21:36:35 -0300
commit221443c5a2d174e52d391d15d5f1c6b5c9496d57 (patch)
treedcea619ff3068a557c44aac5873676ea9e1a151c
parentf220183e40cb100cdfb8158c5217076377a62980 (diff)
more fixes
-only refuse to load an older file if version major is different, fixes #1944 -fix drive letter default value, fixes #1939
-rw-r--r--core/io/resource_format_binary.cpp4
-rw-r--r--core/io/resource_format_xml.cpp2
-rw-r--r--core/os/dir_access.cpp11
-rw-r--r--core/os/dir_access.h1
-rw-r--r--demos/2d/kinematic_char/engine.cfg7
-rw-r--r--demos/2d/lights_shadows/engine.cfg3
-rw-r--r--demos/2d/navpoly/engine.cfg7
-rw-r--r--demos/2d/normalmaps/engine.cfg7
-rw-r--r--demos/2d/screen_space_shaders/engine.cfg6
-rw-r--r--demos/2d/screen_space_shaders/screen_shaders.scnbin5896 -> 5936 bytes
-rw-r--r--demos/2d/texscreen/bubbles.scnbin1456 -> 1551 bytes
-rw-r--r--demos/2d/texscreen/engine.cfg7
-rw-r--r--scene/gui/file_dialog.cpp10
-rw-r--r--scene/resources/shader_graph.cpp2
14 files changed, 55 insertions, 12 deletions
diff --git a/core/io/resource_format_binary.cpp b/core/io/resource_format_binary.cpp
index 3d7d2f2367..9fb17bcffb 100644
--- a/core/io/resource_format_binary.cpp
+++ b/core/io/resource_format_binary.cpp
@@ -861,7 +861,7 @@ void ResourceInteractiveLoaderBinary::open(FileAccess *p_f) {
print_bl("minor: "+itos(ver_minor));
print_bl("format: "+itos(ver_format));
- if (ver_format<FORMAT_VERSION || ver_major>VERSION_MAJOR || (ver_major==VERSION_MAJOR && ver_minor>VERSION_MINOR)) {
+ if (ver_format<FORMAT_VERSION || ver_major>VERSION_MAJOR) {
f->close();
ERR_EXPLAIN("File Format '"+itos(FORMAT_VERSION)+"."+itos(ver_major)+"."+itos(ver_minor)+"' is too new! Please upgrade to a a new engine version: "+local_path);
@@ -968,7 +968,7 @@ String ResourceInteractiveLoaderBinary::recognize(FileAccess *p_f) {
uint32_t ver_minor=f->get_32();
uint32_t ver_format=f->get_32();
- if (ver_format<FORMAT_VERSION || ver_major>VERSION_MAJOR || (ver_major==VERSION_MAJOR && ver_minor>VERSION_MINOR)) {
+ if (ver_format<FORMAT_VERSION || ver_major>VERSION_MAJOR) {
f->close();
return "";
diff --git a/core/io/resource_format_xml.cpp b/core/io/resource_format_xml.cpp
index ce648523f0..3c100d375a 100644
--- a/core/io/resource_format_xml.cpp
+++ b/core/io/resource_format_xml.cpp
@@ -1671,7 +1671,7 @@ void ResourceInteractiveLoaderXML::open(FileAccess *p_f) {
int major = version.get_slice(".",0).to_int();
int minor = version.get_slice(".",1).to_int();
- if (major>VERSION_MAJOR || (major==VERSION_MAJOR && minor>VERSION_MINOR)) {
+ if (major>VERSION_MAJOR) {
error=ERR_FILE_UNRECOGNIZED;
ResourceLoader::notify_load_error(local_path+": File Format '"+version+"' is too new. Please upgrade to a newer engine version.");
diff --git a/core/os/dir_access.cpp b/core/os/dir_access.cpp
index a1031cf5f0..d0baae5872 100644
--- a/core/os/dir_access.cpp
+++ b/core/os/dir_access.cpp
@@ -56,6 +56,17 @@ String DirAccess::_get_root_string() const {
return "";
}
+int DirAccess::get_current_drive() {
+
+ String path = get_current_dir().to_lower();
+ for(int i=0;i<get_drive_count();i++) {
+ String d = get_drive(i).to_lower();
+ if (path.begins_with(d))
+ return i;
+ }
+
+ return 0;
+}
static Error _erase_recursive(DirAccess *da) {
diff --git a/core/os/dir_access.h b/core/os/dir_access.h
index 3df9bca45a..8bacc96c60 100644
--- a/core/os/dir_access.h
+++ b/core/os/dir_access.h
@@ -84,6 +84,7 @@ public:
virtual int get_drive_count()=0;
virtual String get_drive(int p_drive)=0;
+ virtual int get_current_drive();
virtual Error change_dir(String p_dir)=0; ///< can be relative or absolute, return false on success
virtual String get_current_dir()=0; ///< return current dir location
diff --git a/demos/2d/kinematic_char/engine.cfg b/demos/2d/kinematic_char/engine.cfg
index 0132442c18..4ce8f836ae 100644
--- a/demos/2d/kinematic_char/engine.cfg
+++ b/demos/2d/kinematic_char/engine.cfg
@@ -4,6 +4,13 @@ name="Kinematic Collision"
main_scene="res://colworld.scn"
icon="res://icon.png"
+[display]
+
+width=800
+height=600
+stretch_mode="2d"
+stretch_aspect="keep"
+
[input]
move_up=[key(Up)]
diff --git a/demos/2d/lights_shadows/engine.cfg b/demos/2d/lights_shadows/engine.cfg
index 7e028c3556..771288c209 100644
--- a/demos/2d/lights_shadows/engine.cfg
+++ b/demos/2d/lights_shadows/engine.cfg
@@ -6,6 +6,9 @@ main_scene="res://light_shadows.scn"
[display]
stretch_mode="2d"
+width=800
+height=600
+stretch_aspect="keep"
[rasterizer]
diff --git a/demos/2d/navpoly/engine.cfg b/demos/2d/navpoly/engine.cfg
index 51eefd7b77..40515dd3d2 100644
--- a/demos/2d/navpoly/engine.cfg
+++ b/demos/2d/navpoly/engine.cfg
@@ -2,3 +2,10 @@
name="Navigation Polygon (2D)"
main_scene="res://navigation.scn"
+
+[display]
+
+width=800
+height=600
+stretch_mode="2d"
+stretch_aspect="keep"
diff --git a/demos/2d/normalmaps/engine.cfg b/demos/2d/normalmaps/engine.cfg
index 3fc2048716..f0002dc2b8 100644
--- a/demos/2d/normalmaps/engine.cfg
+++ b/demos/2d/normalmaps/engine.cfg
@@ -2,3 +2,10 @@
name="2D Normal Mapping"
main_scene="res://normalmap.scn"
+
+[display]
+
+stretch_mode="2d"
+width=800
+height=600
+stretch_aspect="ignore"
diff --git a/demos/2d/screen_space_shaders/engine.cfg b/demos/2d/screen_space_shaders/engine.cfg
index 108fdeba34..527e2f8f0a 100644
--- a/demos/2d/screen_space_shaders/engine.cfg
+++ b/demos/2d/screen_space_shaders/engine.cfg
@@ -3,3 +3,9 @@
name="Screen-Space Shaders"
main_scene="res://screen_shaders.scn"
+[display]
+
+width=780
+height=600
+stretch_mode="2d"
+stretch_aspect="keep"
diff --git a/demos/2d/screen_space_shaders/screen_shaders.scn b/demos/2d/screen_space_shaders/screen_shaders.scn
index cc62ac8203..fc2be96fc9 100644
--- a/demos/2d/screen_space_shaders/screen_shaders.scn
+++ b/demos/2d/screen_space_shaders/screen_shaders.scn
Binary files differ
diff --git a/demos/2d/texscreen/bubbles.scn b/demos/2d/texscreen/bubbles.scn
index 779cba6930..41026aceed 100644
--- a/demos/2d/texscreen/bubbles.scn
+++ b/demos/2d/texscreen/bubbles.scn
Binary files differ
diff --git a/demos/2d/texscreen/engine.cfg b/demos/2d/texscreen/engine.cfg
index 58193c8c4a..fb683dfc1d 100644
--- a/demos/2d/texscreen/engine.cfg
+++ b/demos/2d/texscreen/engine.cfg
@@ -2,3 +2,10 @@
name="Glass Bubbles (Texscreen)"
main_scene="res://bubbles.scn"
+
+[display]
+
+width=800
+height=600
+stretch_mode="2d"
+stretch_aspect="keep"
diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp
index 13cf87ac2b..c53de6568a 100644
--- a/scene/gui/file_dialog.cpp
+++ b/scene/gui/file_dialog.cpp
@@ -608,18 +608,12 @@ void FileDialog::_update_drives() {
drives->clear();
drives->show();
- int current=-1;
- String abspath = dir_access->get_current_dir();
-
for(int i=0;i<dir_access->get_drive_count();i++) {
- String d = dir_access->get_drive(i);
- if (abspath.begins_with(d))
- current=i;
+ String d = dir_access->get_drive(i);
drives->add_item(dir_access->get_drive(i));
}
- if (current!=-1)
- drives->select(current);
+ drives->select(dir_access->get_current_drive());
}
}
diff --git a/scene/resources/shader_graph.cpp b/scene/resources/shader_graph.cpp
index 24d5978856..a0766ff317 100644
--- a/scene/resources/shader_graph.cpp
+++ b/scene/resources/shader_graph.cpp
@@ -1301,7 +1301,7 @@ const ShaderGraph::InOutParamInfo ShaderGraph::inout_param_info[]={
{MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Diffuse","DIFFUSE_OUT","",SLOT_TYPE_VEC,SLOT_OUT},
{MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"DiffuseAlpha","ALPHA_OUT","",SLOT_TYPE_SCALAR,SLOT_OUT},
{MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Specular","SPECULAR","",SLOT_TYPE_VEC,SLOT_OUT},
- {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"SpecularExp","SPECULAR","",SLOT_TYPE_SCALAR,SLOT_OUT},
+ {MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"SpecularExp","SPEC_EXP","",SLOT_TYPE_SCALAR,SLOT_OUT},
{MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Emission","EMISSION","",SLOT_TYPE_VEC,SLOT_OUT},
{MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"Glow","GLOW","",SLOT_TYPE_SCALAR,SLOT_OUT},
{MODE_MATERIAL,SHADER_TYPE_FRAGMENT,"ShadeParam","SHADE_PARAM","",SLOT_TYPE_SCALAR,SLOT_OUT},