summaryrefslogtreecommitdiffstats
path: root/scene/resources
diff options
context:
space:
mode:
Diffstat (limited to 'scene/resources')
-rw-r--r--scene/resources/animation.cpp62
-rw-r--r--scene/resources/animation.h23
-rw-r--r--scene/resources/baked_light.cpp28
-rw-r--r--scene/resources/baked_light.h28
-rw-r--r--scene/resources/color_ramp.cpp32
-rw-r--r--scene/resources/color_ramp.h32
-rw-r--r--scene/resources/default_theme/default_theme.cpp38
-rw-r--r--scene/resources/default_theme/default_theme.h38
-rw-r--r--scene/resources/dynamic_font.cpp39
-rw-r--r--scene/resources/dynamic_font.h32
-rw-r--r--scene/resources/gibberish_stream.cpp3
-rw-r--r--scene/resources/gibberish_stream.h3
-rw-r--r--scene/resources/height_map_shape.cpp33
-rw-r--r--scene/resources/height_map_shape.h38
-rw-r--r--scene/resources/mesh.cpp6
-rw-r--r--scene/resources/polygon_path_finder.cpp28
-rw-r--r--scene/resources/polygon_path_finder.h28
-rw-r--r--scene/resources/rich_text.cpp33
-rw-r--r--scene/resources/rich_text.h38
-rw-r--r--scene/resources/scene_format_text.cpp28
-rw-r--r--scene/resources/scene_format_text.h28
-rw-r--r--scene/resources/volume.cpp211
-rw-r--r--scene/resources/volume.h86
23 files changed, 424 insertions, 491 deletions
diff --git a/scene/resources/animation.cpp b/scene/resources/animation.cpp
index f7d5ddc744..b6fc3eb419 100644
--- a/scene/resources/animation.cpp
+++ b/scene/resources/animation.cpp
@@ -38,6 +38,8 @@ bool Animation::_set(const StringName& p_name, const Variant& p_value) {
set_length(p_value);
else if (name=="loop")
set_loop(p_value);
+ else if (name=="loop_interpolation")
+ set_loop_interpolation(p_value);
else if (name=="step")
set_step(p_value);
else if (name.begins_with("tracks/")) {
@@ -154,8 +156,20 @@ bool Animation::_set(const StringName& p_name, const Variant& p_value) {
Dictionary d = p_value;
ERR_FAIL_COND_V(!d.has("times"),false);
ERR_FAIL_COND_V(!d.has("values"),false);
- if (d.has("cont"))
- vt->continuous=d["cont"];
+ if (d.has("cont")) {
+ bool v = d["cont"];
+ vt->update_mode=v?UPDATE_CONTINUOUS:UPDATE_DISCRETE;
+ }
+
+ if (d.has("update")) {
+ int um =d["update"];
+ if (um<0)
+ um=0;
+ else if (um>2)
+ um=2;
+ vt->update_mode=UpdateMode(um);
+ }
+
DVector<float> times=d["times"];
Array values=d["values"];
@@ -353,7 +367,7 @@ bool Animation::_get(const StringName& p_name,Variant &r_ret) const {
d["transitions"]=key_transitions;
d["values"]=key_values;
if (track_get_type(track)==TYPE_VALUE) {
- d["cont"]=value_track_is_continuous(track);
+ d["update"]=value_track_get_update_mode(track);
}
r_ret=d;
@@ -394,7 +408,7 @@ bool Animation::_get(const StringName& p_name,Variant &r_ret) const {
d["transitions"]=key_transitions;
d["values"]=key_values;
if (track_get_type(track)==TYPE_VALUE) {
- d["cont"]=value_track_is_continuous(track);
+ d["update"]=value_track_get_update_mode(track);
}
r_ret=d;
@@ -1221,7 +1235,7 @@ T Animation::_interpolate( const Vector< TKey<T> >& p_keys, float p_time, Inter
float c=0;
// prepare for all cases of interpolation
- if (loop) {
+ if (loop and loop_interpolation) {
// loop
if (idx>=0) {
@@ -1373,7 +1387,7 @@ Variant Animation::value_track_interpolate(int p_track, float p_time) const {
bool ok;
- Variant res = _interpolate( vt->values, p_time, vt->interpolation, &ok );
+ Variant res = _interpolate( vt->values, p_time, vt->update_mode==UPDATE_CONTINUOUS?vt->interpolation:INTERPOLATION_NEAREST, &ok );
if (ok) {
@@ -1461,28 +1475,30 @@ void Animation::value_track_get_key_indices(int p_track, float p_time, float p_d
}
-void Animation::value_track_set_continuous(int p_track, bool p_continuous) {
+void Animation::value_track_set_update_mode(int p_track, UpdateMode p_mode) {
ERR_FAIL_INDEX(p_track, tracks.size());
Track *t=tracks[p_track];
ERR_FAIL_COND( t->type != TYPE_VALUE );
+ ERR_FAIL_INDEX(p_mode,3);
ValueTrack * vt = static_cast<ValueTrack*>(t);
- vt->continuous=p_continuous;
+ vt->update_mode=p_mode;
}
-bool Animation::value_track_is_continuous(int p_track) const{
+Animation::UpdateMode Animation::value_track_get_update_mode(int p_track) const {
- ERR_FAIL_INDEX_V(p_track, tracks.size(), false);
+ ERR_FAIL_INDEX_V(p_track, tracks.size(), UPDATE_CONTINUOUS);
Track *t=tracks[p_track];
- ERR_FAIL_COND_V( t->type != TYPE_VALUE, false );
+ ERR_FAIL_COND_V( t->type != TYPE_VALUE, UPDATE_CONTINUOUS );
ValueTrack * vt = static_cast<ValueTrack*>(t);
- return vt->continuous;
+ return vt->update_mode;
}
+
void Animation::_method_track_get_key_indices_in_range(const MethodTrack * mt, float from_time, float to_time,List<int> *p_indices) const {
if (from_time!=length && to_time==length)
@@ -1607,10 +1623,19 @@ void Animation::set_loop(bool p_enabled) {
loop=p_enabled;
emit_changed();
}
+void Animation::set_loop_interpolation(bool p_enabled) {
+
+ loop_interpolation=p_enabled;
+ emit_changed();
+}
bool Animation::has_loop() const {
return loop;
}
+bool Animation::has_loop_interpolation() const {
+
+ return loop_interpolation;
+}
void Animation::track_move_up(int p_track) {
@@ -1676,8 +1701,8 @@ void Animation::_bind_methods() {
ObjectTypeDB::bind_method(_MD("transform_track_interpolate","idx","time_sec"),&Animation::_transform_track_interpolate);
- ObjectTypeDB::bind_method(_MD("value_track_set_continuous","idx","continuous"),&Animation::value_track_set_continuous);
- ObjectTypeDB::bind_method(_MD("value_track_is_continuous","idx"),&Animation::value_track_is_continuous);
+ ObjectTypeDB::bind_method(_MD("value_track_set_update_mode","idx","mode"),&Animation::value_track_set_update_mode);
+ ObjectTypeDB::bind_method(_MD("value_track_get_update_mode","idx"),&Animation::value_track_get_update_mode);
ObjectTypeDB::bind_method(_MD("value_track_get_key_indices","idx","time_sec","delta"),&Animation::_value_track_get_key_indices);
@@ -1689,7 +1714,9 @@ void Animation::_bind_methods() {
ObjectTypeDB::bind_method(_MD("get_length"),&Animation::get_length);
ObjectTypeDB::bind_method(_MD("set_loop","enabled"),&Animation::set_loop);
+ ObjectTypeDB::bind_method(_MD("set_loop_interpolation","enabled"),&Animation::set_loop_interpolation);
ObjectTypeDB::bind_method(_MD("has_loop"),&Animation::has_loop);
+ ObjectTypeDB::bind_method(_MD("has_loop_interpolation"),&Animation::has_loop_interpolation);
ObjectTypeDB::bind_method(_MD("set_step","size_sec"),&Animation::set_step);
ObjectTypeDB::bind_method(_MD("get_step"),&Animation::get_step);
@@ -1704,6 +1731,11 @@ void Animation::_bind_methods() {
BIND_CONSTANT( INTERPOLATION_LINEAR );
BIND_CONSTANT( INTERPOLATION_CUBIC );
+ BIND_CONSTANT( UPDATE_CONTINUOUS );
+ BIND_CONSTANT( UPDATE_DISCRETE );
+ BIND_CONSTANT( UPDATE_TRIGGER );
+
+
}
void Animation::clear() {
@@ -1712,6 +1744,7 @@ void Animation::clear() {
memdelete( tracks[i] );
tracks.clear();
loop=false;
+ loop_interpolation=true;
length=1;
}
@@ -1971,6 +2004,7 @@ Animation::Animation() {
step=0.1;
loop=false;
+ loop_interpolation=true;
length=1;
}
diff --git a/scene/resources/animation.h b/scene/resources/animation.h
index 1f2d9b80ab..8b677fe0da 100644
--- a/scene/resources/animation.h
+++ b/scene/resources/animation.h
@@ -58,6 +58,13 @@ public:
INTERPOLATION_CUBIC
};
+ enum UpdateMode {
+ UPDATE_CONTINUOUS,
+ UPDATE_DISCRETE,
+ UPDATE_TRIGGER,
+
+ };
+
private:
struct Track {
@@ -105,10 +112,11 @@ private:
struct ValueTrack : public Track {
- bool continuous;
+ UpdateMode update_mode;
+ bool update_on_seek;
Vector< TKey<Variant> > values;
- ValueTrack() { type=TYPE_VALUE; continuous=true; }
+ ValueTrack() { type=TYPE_VALUE; update_mode=UPDATE_CONTINUOUS; }
};
@@ -163,6 +171,7 @@ private:
float length;
float step;
bool loop;
+ bool loop_interpolation;
// bind helpers
private:
@@ -253,8 +262,9 @@ public:
Variant value_track_interpolate(int p_track, float p_time) const;
void value_track_get_key_indices(int p_track, float p_time, float p_delta,List<int> *p_indices) const;
- void value_track_set_continuous(int p_track, bool p_continuous);
- bool value_track_is_continuous(int p_track) const;
+ void value_track_set_update_mode(int p_track, UpdateMode p_mode);
+ UpdateMode value_track_get_update_mode(int p_track) const;
+
void method_track_get_key_indices(int p_track, float p_time, float p_delta,List<int> *p_indices) const;
Vector<Variant> method_track_get_params(int p_track,int p_key_idx) const;
@@ -265,7 +275,9 @@ public:
float get_length() const;
void set_loop(bool p_enabled);
+ void set_loop_interpolation(bool p_enabled);
bool has_loop() const;
+ bool has_loop_interpolation() const;
void set_step(float p_step);
float get_step() const;
@@ -281,5 +293,8 @@ public:
VARIANT_ENUM_CAST( Animation::TrackType );
VARIANT_ENUM_CAST( Animation::InterpolationType );
+VARIANT_ENUM_CAST( Animation::UpdateMode );
+
+
#endif
diff --git a/scene/resources/baked_light.cpp b/scene/resources/baked_light.cpp
index aa4aae03cb..e4510be874 100644
--- a/scene/resources/baked_light.cpp
+++ b/scene/resources/baked_light.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* baked_light.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "baked_light.h"
#include "servers/visual_server.h"
diff --git a/scene/resources/baked_light.h b/scene/resources/baked_light.h
index f9a1368e8d..16806d29e3 100644
--- a/scene/resources/baked_light.h
+++ b/scene/resources/baked_light.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* baked_light.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef BAKED_LIGHT_H
#define BAKED_LIGHT_H
diff --git a/scene/resources/color_ramp.cpp b/scene/resources/color_ramp.cpp
index bf1f298e7a..dfa9181d60 100644
--- a/scene/resources/color_ramp.cpp
+++ b/scene/resources/color_ramp.cpp
@@ -1,7 +1,31 @@
-/*
- * color_ramp.h
- */
-
+/*************************************************************************/
+/* color_ramp.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "color_ramp.h"
//setter and getter names for property serialization
diff --git a/scene/resources/color_ramp.h b/scene/resources/color_ramp.h
index aab5698c2b..daa21b480a 100644
--- a/scene/resources/color_ramp.h
+++ b/scene/resources/color_ramp.h
@@ -1,7 +1,31 @@
-/*
- * color_ramp.h
- */
-
+/*************************************************************************/
+/* color_ramp.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef SCENE_RESOURCES_COLOR_RAMP_H_
#define SCENE_RESOURCES_COLOR_RAMP_H_
diff --git a/scene/resources/default_theme/default_theme.cpp b/scene/resources/default_theme/default_theme.cpp
index b9c29e583a..53a186f0c3 100644
--- a/scene/resources/default_theme/default_theme.cpp
+++ b/scene/resources/default_theme/default_theme.cpp
@@ -1,13 +1,31 @@
-/*************************************************/
-/* default_theme.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
+/*************************************************************************/
+/* default_theme.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "default_theme.h"
diff --git a/scene/resources/default_theme/default_theme.h b/scene/resources/default_theme/default_theme.h
index 3d71289162..a2a45ac004 100644
--- a/scene/resources/default_theme/default_theme.h
+++ b/scene/resources/default_theme/default_theme.h
@@ -1,13 +1,31 @@
-/*************************************************/
-/* default_theme.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
+/*************************************************************************/
+/* default_theme.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef DEFAULT_THEME_H
#define DEFAULT_THEME_H
diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp
index 1edae01754..09c4f4e8cb 100644
--- a/scene/resources/dynamic_font.cpp
+++ b/scene/resources/dynamic_font.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* dynamic_font.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifdef FREETYPE_ENABLED
#include "dynamic_font.h"
#include "os/file_access.h"
@@ -38,11 +66,22 @@ void DynamicFontData::set_font_path(const String& p_path) {
font_path=p_path;
}
+String DynamicFontData::get_font_path() const {
+ return font_path;
+}
+
void DynamicFontData::set_force_autohinter(bool p_force) {
force_autohinter=p_force;
}
+void DynamicFontData::_bind_methods() {
+ ObjectTypeDB::bind_method(_MD("set_font_path","path"),&DynamicFontData::set_font_path);
+ ObjectTypeDB::bind_method(_MD("get_font_path"),&DynamicFontData::get_font_path);
+
+ ADD_PROPERTY(PropertyInfo(Variant::STRING,"font_path",PROPERTY_HINT_FILE,"*.ttf,*.otf"),_SCS("set_font_path"),_SCS("get_font_path"));
+}
+
DynamicFontData::DynamicFontData()
{
diff --git a/scene/resources/dynamic_font.h b/scene/resources/dynamic_font.h
index 1a46e1e468..508d630218 100644
--- a/scene/resources/dynamic_font.h
+++ b/scene/resources/dynamic_font.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* dynamic_font.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef DYNAMIC_FONT_H
#define DYNAMIC_FONT_H
@@ -32,10 +60,14 @@ friend class DynamicFont;
Ref<DynamicFontAtSize> _get_dynamic_font_at_size(int p_size);
+protected:
+
+ static void _bind_methods();
public:
void set_font_ptr(const uint8_t* p_font_mem,int p_font_mem_size);
void set_font_path(const String& p_path);
+ String get_font_path() const;
void set_force_autohinter(bool p_force);
DynamicFontData();
diff --git a/scene/resources/gibberish_stream.cpp b/scene/resources/gibberish_stream.cpp
index 9d67069a6c..73c135a913 100644
--- a/scene/resources/gibberish_stream.cpp
+++ b/scene/resources/gibberish_stream.cpp
@@ -29,6 +29,9 @@
#include "gibberish_stream.h"
#include "servers/audio_server.h"
+//TODO: This class needs to be adapted to the new AudioStream API,
+// or dropped if nobody cares about fixing it :) (GH-3307)
+
#if 0
int AudioStreamGibberish::get_channel_count() const {
diff --git a/scene/resources/gibberish_stream.h b/scene/resources/gibberish_stream.h
index e06dc5eff2..7affb4bd4d 100644
--- a/scene/resources/gibberish_stream.h
+++ b/scene/resources/gibberish_stream.h
@@ -29,6 +29,9 @@
#ifndef GIBBERISH_STREAM_H
#define GIBBERISH_STREAM_H
+//TODO: This class needs to be adapted to the new AudioStream API,
+// or dropped if nobody cares about fixing it :) (GH-3307)
+
#if 0
#include "scene/resources/audio_stream.h"
#include "scene/resources/sample_library.h"
diff --git a/scene/resources/height_map_shape.cpp b/scene/resources/height_map_shape.cpp
deleted file mode 100644
index e7b53c92c2..0000000000
--- a/scene/resources/height_map_shape.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************************************/
-/* height_map_shape.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "height_map_shape.h"
-
-HeightMapShape::HeightMapShape()
-{
-}
diff --git a/scene/resources/height_map_shape.h b/scene/resources/height_map_shape.h
deleted file mode 100644
index 5494075107..0000000000
--- a/scene/resources/height_map_shape.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*************************************************************************/
-/* height_map_shape.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef HEIGHT_MAP_SHAPE_H
-#define HEIGHT_MAP_SHAPE_H
-
-class HeightMapShape
-{
-public:
- HeightMapShape();
-};
-
-#endif // HEIGHT_MAP_SHAPE_H
diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp
index e6356d3366..a1a1f0a935 100644
--- a/scene/resources/mesh.cpp
+++ b/scene/resources/mesh.cpp
@@ -149,12 +149,6 @@ bool Mesh::_set(const StringName& p_name, const Variant& p_value) {
return true;
}
- if (what=="custom_aabb") {
-
- surface_set_custom_aabb(idx,p_value);
- return true;
- }
-
return false;
}
diff --git a/scene/resources/polygon_path_finder.cpp b/scene/resources/polygon_path_finder.cpp
index 1a7dc56e40..d6d9cbc091 100644
--- a/scene/resources/polygon_path_finder.cpp
+++ b/scene/resources/polygon_path_finder.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* polygon_path_finder.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "polygon_path_finder.h"
#include "geometry.h"
diff --git a/scene/resources/polygon_path_finder.h b/scene/resources/polygon_path_finder.h
index b23dbd0bac..dcc38bfb9d 100644
--- a/scene/resources/polygon_path_finder.h
+++ b/scene/resources/polygon_path_finder.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* polygon_path_finder.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef POLYGON_PATH_FINDER_H
#define POLYGON_PATH_FINDER_H
diff --git a/scene/resources/rich_text.cpp b/scene/resources/rich_text.cpp
deleted file mode 100644
index 8acf5ff39b..0000000000
--- a/scene/resources/rich_text.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************************************/
-/* rich_text.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "rich_text.h"
-
-RichText::RichText()
-{
-}
diff --git a/scene/resources/rich_text.h b/scene/resources/rich_text.h
deleted file mode 100644
index c74a391b10..0000000000
--- a/scene/resources/rich_text.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*************************************************************************/
-/* rich_text.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef RICH_TEXT_H
-#define RICH_TEXT_H
-
-class RichText
-{
-public:
- RichText();
-};
-
-#endif // RICH_TEXT_H
diff --git a/scene/resources/scene_format_text.cpp b/scene/resources/scene_format_text.cpp
index 99daa1b31b..a734f63ac2 100644
--- a/scene/resources/scene_format_text.cpp
+++ b/scene/resources/scene_format_text.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* scene_format_text.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "scene_format_text.h"
#include "globals.h"
diff --git a/scene/resources/scene_format_text.h b/scene/resources/scene_format_text.h
index 02436a6e2d..8dbfbfda48 100644
--- a/scene/resources/scene_format_text.h
+++ b/scene/resources/scene_format_text.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* scene_format_text.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef SCENE_FORMAT_TEXT_H
#define SCENE_FORMAT_TEXT_H
diff --git a/scene/resources/volume.cpp b/scene/resources/volume.cpp
deleted file mode 100644
index 8e056158cb..0000000000
--- a/scene/resources/volume.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*************************************************************************/
-/* volume.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "volume.h"
-
-#if 0
-void Volume::_set(const String& p_name, const Variant& p_value) {
-
-
- if (p_name.begins_with("shapes/")) {
-
- int idx=p_name.get_slice("/",1).to_int()-1;
- ERR_FAIL_COND( idx != get_shape_count() );
-
- Dictionary shape = p_value;
- ERR_FAIL_COND( !shape.has("type") || !shape.has("data"));
- String type = shape["type"];
- Variant data=shape["data"];
- Transform transform;
- if (shape.has("transform"))
- transform=shape["transform"];
-
- if (type=="plane")
- add_shape(SHAPE_PLANE,data,transform);
- else if (type=="sphere")
- add_shape(SHAPE_SPHERE,data,transform);
- else if (type=="box")
- add_shape(SHAPE_BOX,data,transform);
- else if (type=="cylinder")
- add_shape(SHAPE_CYLINDER,data,transform);
- else if (type=="capsule")
- add_shape(SHAPE_CAPSULE,data,transform);
- else if (type=="convex_polygon")
- add_shape(SHAPE_CONVEX_POLYGON,data,transform);
- else if (type=="concave_polygon")
- add_shape(SHAPE_CONCAVE_POLYGON,data,transform);
- else {
- ERR_FAIL();
- }
- }
-}
-
-Variant Volume::_get(const String& p_name) const {
-
- if (p_name.begins_with("shapes/")) {
-
- int idx=p_name.get_slice("/",1).to_int()-1;
- ERR_FAIL_INDEX_V( idx, get_shape_count(), Variant() );
-
- Dictionary shape;
-
- switch( get_shape_type(idx) ) {
-
- case SHAPE_PLANE: shape["type"]="plane"; break;
- case SHAPE_SPHERE: shape["type"]="sphere"; break;
- case SHAPE_BOX: shape["type"]="box"; break;
- case SHAPE_CYLINDER: shape["type"]="cylinder"; break;
- case SHAPE_CAPSULE: shape["type"]="capsule"; break;
- case SHAPE_CONVEX_POLYGON: shape["type"]="convex_polygon"; break;
- case SHAPE_CONCAVE_POLYGON: shape["type"]="concave_polygon"; break;
-
- }
-
- shape["transform"]=get_shape_transform(idx);
- shape["data"]=get_shape(idx);
-
- return shape;
- }
-
- return Variant();
-}
-
-void Volume::_get_property_list( List<PropertyInfo> *p_list) const {
-
- int count=get_shape_count();
- for(int i=0;i<count;i++) {
-
- p_list->push_back( PropertyInfo( Variant::DICTIONARY, "shapes/"+itos(i+1)) );
- }
-}
-
-
-
-
-
-void Volume::add_shape(ShapeType p_shape_type, const Variant& p_data, const Transform& p_transform) {
-
- PhysicsServer::get_singleton()->volume_add_shape(volume,(PhysicsServer::ShapeType)p_shape_type,p_data,p_transform);
- _change_notify();
-}
-
-
-void Volume::add_plane_shape(const Plane& p_plane,const Transform& p_transform) {
-
- add_shape(SHAPE_PLANE, p_plane, p_transform );
-}
-
-void Volume::add_sphere_shape(float p_radius,const Transform& p_transform) {
-
- add_shape(SHAPE_SPHERE, p_radius, p_transform );
-}
-
-void Volume::add_box_shape(const Vector3& p_half_extents,const Transform& p_transform) {
-
- add_shape(SHAPE_BOX, p_half_extents, p_transform );
-}
-void Volume::add_cylinder_shape(float p_radius, float p_height,const Transform& p_transform) {
-
- Dictionary d;
- d["radius"]=p_radius;
- d["height"]=p_height;
-
- add_shape(SHAPE_CYLINDER,d,p_transform);
-}
-void Volume::add_capsule_shape(float p_radius, float p_height,const Transform& p_transform) {
-
- Dictionary d;
- d["radius"]=p_radius;
- d["height"]=p_height;
-
- add_shape(SHAPE_CAPSULE,d,p_transform);
-}
-
-
-int Volume::get_shape_count() const {
-
- return PhysicsServer::get_singleton()->volume_get_shape_count(volume);
-}
-
-Volume::ShapeType Volume::get_shape_type(int p_shape) const {
-
- return (ShapeType)PhysicsServer::get_singleton()->volume_get_shape_type(volume,p_shape);
-}
-
-Transform Volume::get_shape_transform(int p_shape) const {
-
- return PhysicsServer::get_singleton()->volume_get_shape_transform(volume,p_shape);
-}
-
-Variant Volume::get_shape(int p_shape) const {
-
- return PhysicsServer::get_singleton()->volume_get_shape(volume,p_shape);
-}
-
-void Volume::_bind_methods() {
-
- ObjectTypeDB::bind_method(_MD("add_shape","type","data","transform"),&Volume::add_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("add_plane_shape","plane","transform"),&Volume::add_plane_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("add_sphere_shape"),&Volume::add_sphere_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("add_box_shape","radius","transform"),&Volume::add_box_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("add_cylinder_shape","radius","height","transform"),&Volume::add_cylinder_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("add_capsule_shape","radius","height","transform"),&Volume::add_capsule_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("get_shape_count"),&Volume::get_shape_count);
- ObjectTypeDB::bind_method(_MD("get_shape_type","shape_idx"),&Volume::get_shape_type);
- ObjectTypeDB::bind_method(_MD("get_shape_transform","shape_idx"),&Volume::get_shape_transform);
- ObjectTypeDB::bind_method(_MD("get_shape","shape_idx"),&Volume::get_shape);
-
- BIND_CONSTANT( SHAPE_PLANE );
- BIND_CONSTANT( SHAPE_SPHERE );
- BIND_CONSTANT( SHAPE_BOX );
- BIND_CONSTANT( SHAPE_CYLINDER );
- BIND_CONSTANT( SHAPE_CAPSULE );
- BIND_CONSTANT( SHAPE_CONVEX_POLYGON );
- BIND_CONSTANT( SHAPE_CONCAVE_POLYGON );
-
-}
-
-RID Volume::get_rid() {
-
- return volume;
-}
-
-Volume::Volume() {
-
- volume= PhysicsServer::get_singleton()->volume_create();
-
-}
-
-
-Volume::~Volume() {
-
- PhysicsServer::get_singleton()->free(volume);
-}
-
-
-#endif
diff --git a/scene/resources/volume.h b/scene/resources/volume.h
deleted file mode 100644
index f03e48f1d9..0000000000
--- a/scene/resources/volume.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*************************************************************************/
-/* volume.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef VOLUME_H
-#define VOLUME_H
-
-#include "resource.h"
-
-#if 0
-#include "servers/physics_server.h"
-/**
- @author Juan Linietsky <reduzio@gmail.com>
-*/
-class Volume : public Resource {
-
- OBJ_TYPE( Volume, Resource );
- RID volume;
-
-protected:
-
- bool _set(const StringName& p_name, const Variant& p_value);
- bool _get(const StringName& p_name,Variant &r_ret) const;
- void _get_property_list( List<PropertyInfo> *p_list) const;
-
- static void _bind_methods();
-public:
-
- enum ShapeType {
- SHAPE_PLANE = PhysicsServer::SHAPE_PLANE, ///< plane:"plane"
- SHAPE_SPHERE = PhysicsServer::SHAPE_SPHERE, ///< float:"radius"
- SHAPE_BOX = PhysicsServer::SHAPE_BOX, ///< vec3:"extents"
- SHAPE_CYLINDER = PhysicsServer::SHAPE_CYLINDER, ///< dict(float:"radius", float:"height"):cylinder
- SHAPE_CAPSULE = PhysicsServer::SHAPE_CAPSULE, ///< dict(float:"radius", float:"height"):capsule
- SHAPE_CONVEX_POLYGON = PhysicsServer::SHAPE_CONVEX_POLYGON, ///< array of planes:"planes"
- SHAPE_CONCAVE_POLYGON = PhysicsServer::SHAPE_CONCAVE_POLYGON, ///< vector3 array:"triangles"
- };
-
- void add_shape(ShapeType p_shape_type, const Variant& p_data, const Transform& p_transform=Transform ());
-
- void add_plane_shape(const Plane& p_plane,const Transform& p_transform);
- void add_sphere_shape(float p_radius,const Transform& p_transform);
- void add_box_shape(const Vector3& p_half_extents,const Transform& p_transform);
- void add_cylinder_shape(float p_radius, float p_height,const Transform& p_transform);
- void add_capsule_shape(float p_radius, float p_height,const Transform& p_transform);
-
- int get_shape_count() const;
- ShapeType get_shape_type(int p_shape) const;
- Transform get_shape_transform(int p_shape) const;
- Variant get_shape(int p_shape) const;
-
- virtual RID get_rid();
-
- Volume();
- ~Volume();
-
-};
-
-VARIANT_ENUM_CAST( Volume::ShapeType );
-
-#endif
-#endif