diff options
Diffstat (limited to 'scene/resources')
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 |
