Commit Graph

532 Commits

Author SHA1 Message Date
Aron de Castro 6e0892f223 Added to kinematicbody2d the copy and paste of the API friendler of KinematicBody 2017-09-10 13:07:47 -03:00
Bastiaan Olij de309c426d Added ID to tracker signals and property for storing hand 2017-09-10 16:25:12 +10:00
Hein-Pieter van Braam b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Hein-Pieter van Braam 8230bf0a2f Remove assignment and declarations in if statements
After discussing with @reduz and @akien-mga it was decided that we do
not allow assignments or declarations in if statements. This PR removes
the instances of this I could find by automated means.
2017-09-08 14:59:15 +02:00
Hein-Pieter van Braam 5e18967d77 Fix serveral recent new clang-format errors 2017-09-08 00:20:16 +02:00
Juan Linietsky eedb39091a Several fixes to directional shadows, closes #10926
Added option to change directional light range mode, between optimized and stable. For Orthogonal, you might need to use optimized.
2017-09-07 18:00:47 -03:00
Juan Linietsky 98af411a37 Renamed playing property of audiostreams to play, to make it clearer. Fixes #10730
Also disabled the auto shut down of the property when stream ends, to make it easier to animate
2017-09-06 22:03:04 -03:00
Juan Linietsky 36e91b07d8 Check whether stuff is visible before baking it, closes #10525 2017-09-06 18:24:29 -03:00
Nathan Warden 8370f22b4c Added a warning message when a VehicleWheel is not a child of a VehicleBody. 2017-09-05 12:32:48 -05:00
Saracen 92e77d5ff2 Recast integration. 2017-09-04 21:41:57 +01:00
Juan Linietsky 6d233c651b -Changed KinematicBody API yet again to make it friendlier
-Fixed get_scale functions (and added set_scale) to make it more coherent when decomposing and composing (fixes bugs in transform interpolation)
2017-09-04 07:49:42 -03:00
Hein-Pieter van Braam 9c63ab99f0 Fix use of unitialized variables
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-02 01:59:26 +02:00
Juan Linietsky 42659b0d9f Fix freeze on exit on audiostreamplayers when setting invalid stream, closes #10093 2017-09-01 16:43:46 -03:00
Poommetee Ketson ed606ded52 Fix files header 2017-09-01 21:07:55 +07:00
James Beedie 6fc5d1cd37 Fixed return of KinematicBody::_move
Fixed incorrect normal
Added missing collider velocity
2017-08-31 10:46:21 -04:00
Juan Linietsky a1d7c496b9 Improved default directional shadow params, added bias split scale, closes #9828 2017-08-30 08:08:44 -03:00
Ferenc Arn a0bbf5c9af Remove Basis::set_scale and Basis::set_rotation_* functions.
Those functions were added in #8277 but they did more harm than good. They're subtle, don't do what people think and requires users to understand the non-uniqueness of polar decomposition. They ended up confusing people.

Until we store additional information enough to make a unique polar decomposition, these functions shouldn't be a part of Basis.
2017-08-29 21:47:59 -04:00
Pedro J. Estébanez d8584682f0 Fix joints collision exceptions
Fix 3D joint handling of collision exceptions, so that they lose effect when the joint is not valid in every case; also some redundant code removed.

Also avoid trying to create the joint when not neither body A nor body B are set.

Make 2D joints be handled like their 3D counterparts, which adds the fixes to them while also removing duplicated code.

(adapted from commit 4a98a59aa6)
2017-08-29 23:46:44 +02:00
Ignacio Etcheverry c16d00591b DocData and type hints fixes
- Makes vararg methods automatically use PROPERTY_USAGE_NIL_IS_VARIANT on return types
- Completely removes the ":type" suffix for method names. Virtual methods must use the MethodInfo constructors that takes Variant::Type or PropertyHint as the first parameter for the return type (with CLASS_INFO as a helper to get the PropertyInfo). Parameters must use PROPERTY_HINT_RESOURCE_TYPE and hint string.
- PROPERTY_USAGE_NIL_IS_VARIANT is no longer needed for parameters, because parameters cannot be void.
- Adds missing PROPERTY_USAGE_NIL_IS_VARIANT to virtual and built-in methods that return Variant.
2017-08-29 19:40:21 +02:00
Rémi Verschelde 7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Juan Linietsky 1894157c9f -Massive clean up to gizmos
-Make sure handles are always visible (on top)
-Fixed instanced scene selection (should work properly now)
-Added interpolated camera
-Customizable gizmo colors in editor settings
2017-08-26 00:47:28 -03:00
Juan Linietsky a1c03a69d2 added finished signals to audio stream players, fixes #9928 2017-08-25 11:58:21 -03:00
Hein-Pieter van Braam cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Rémi Verschelde df590fc2d3 Merge pull request #10340 from Rubonnek/remove-unnecessary-assignments
Removed unnecessary assignments
2017-08-22 00:58:12 +02:00
Juan Linietsky 2cc8309249 Merge pull request #10351 from neikeq/enums-are-for-the-weak
ClassDB: Provide the enum name of integer constants
2017-08-21 19:56:08 -03:00
Wilson E. Alvarez 738d2ab969 Removed unnecessary assignments 2017-08-21 15:15:55 -04:00
Ignacio Etcheverry 32dd9a9f66 ClassDB: Provide the enum name of integer constants 2017-08-20 22:07:43 +02:00
Juan Linietsky 541fdffc0a Merge pull request #10319 from neikeq/pr-engine-editor-hint
Adds Engine::is_editor_hint() method
2017-08-20 12:55:46 -03:00
Juan Linietsky 7e5890d23d -Fix all shadow and culling related issues, fixes #9330 2017-08-19 20:07:21 -03:00
Ignacio Etcheverry 90b8a5b71e Removes editor_hint from SceneTree 2017-08-19 01:29:45 +02:00
TwistedTwigleg 00f6c85928 Synchronize parameter names in definition and declaration
Fixes #10244.
2017-08-16 17:22:23 +02:00
Rémi Verschelde ae78a13f59 Merge pull request #10309 from H4kor/particles
Fixing blinking particles at 0 initial velocity.
2017-08-16 17:16:45 +02:00
Rémi Verschelde 40f70d80ac Merge pull request #10322 from TwistedTwigleg/Navmesh_expose_create_from_mesh
Exposed create_from_mesh in Navmesh
2017-08-16 17:14:10 +02:00
Niko Abeler 6c398b5830 Checking vecs before normalization. Fixes #10183 2017-08-16 08:09:45 +02:00
Juan Linietsky 603b262d9b Merge pull request #10365 from RandomShaper/fix-10074
Keep shapes bound to out-of-tree 3D physics objects
2017-08-15 21:22:08 -03:00
Pedro J. Estébanez 22daecfbe9 Keep shapes bound to out-of-tree 3D physics objects
Now the shape in the physics server is unbound only when it's unparented from its body, because if it's unbound when just exiting the tree, a later readd would have the body shapeless in the server.

It's the same currently being done in 2D physics.

Fixes #10074.
2017-08-16 02:00:03 +02:00
Juan Linietsky f0b19137f9 Merge pull request #10170 from ISylvox/trail-divisor__editor-glitch
Trail Divisor: Fixed Editor Glitch
2017-08-15 19:31:00 -03:00
TwistedTwigleg deaf095dcf Exposed create_from_mesh in Navmesh 2017-08-13 14:13:48 -04:00
Zher Huei Lee a625d7edfc Disabling Particles::one_shot restarts emission
Fixes #10181
2017-08-12 18:37:01 +08:00
Rémi Verschelde 306c0471f7 Merge pull request #9987 from Rubonnek/move-members-to-initilization-list
Moved member variables from constructor to initialization list
2017-08-11 10:31:04 +02:00
Rémi Verschelde 8e6768c963 Merge pull request #10202 from neikeq/how-do-you-turn-this-on
Improves method bind's detecting of signarute types
2017-08-11 10:29:41 +02:00
Ignacio Etcheverry 78619a5866 Fixes method definitions with extra number of arguments 2017-08-10 07:17:51 +02:00
Ignacio Etcheverry 2f290038d6 Removes type information from method binds 2017-08-10 07:17:50 +02:00
Juan Linietsky df5d01f259 Gizmos properly follow the edited object, closes #7837 2017-08-09 08:19:53 -03:00
Wilson E. Alvarez 6d112a68b6 Moved member variables from constructor to initialization list 2017-08-08 21:43:19 -04:00
Juan Linietsky df573f5c3a -Restored Sprite3D to working function, fixes #2061, fixes #9738
-Restored an alpha scissor property in Material
2017-08-08 17:23:44 -03:00
Indah Sylvia 394007ebe5 trail divisor is now works properly 2017-08-08 22:16:26 +07:00
Juan Linietsky bb47bca1f6 Ability to pause particles, closes #3675 2017-08-07 19:02:25 -03:00
Indah Sylvia 5ae78fdf6a Makes all Godot API's methods Lower Case 2017-08-07 18:24:35 +07:00
Juan Linietsky a3a7fb83e6 Made bool constructor explicit in Variant to avoid bugs, fixes #7843 2017-08-05 19:50:53 -03:00
Juan Linietsky e47ecc63ef Properly update frame range after modifying the vframe/hframes, closes #7624 2017-08-05 16:19:36 -03:00
Juan Linietsky de9fb90dbf Warn about resizing a rigidbody (2D or 3D), covers the most common cases, closes #7615 2017-08-05 16:06:15 -03:00
BastiaanOlij e7aed24add Added ARVRAnchor support and a few small enhancements 2017-08-03 18:58:05 +10:00
Rémi Verschelde 62464839ad Merge pull request #8567 from BastiaanOlij/ar_vr_server
AR/VR base classes and position tracker support
2017-07-31 13:29:18 +02:00
Juan Linietsky b276d92c8a Few small GI Probe fixes 2017-07-29 00:04:29 -03:00
BastiaanOlij d2ba2d0873 Adding base classes and structures for ARVR support
Added ArVrScriptInterface

Added ARVRCamera, ARVRController and ARVROrigin helper objects
2017-07-28 10:39:15 +10:00
ISylvox cefc02a4f9 tagents --> tangents 2017-07-26 15:14:52 +07:00
Rémi Verschelde 0a74fb625e Merge pull request #9791 from bojidar-bg/6087-add-global-local-conv
Add .to_local/.to_global methods on Node2D and Spatial
2017-07-24 22:24:34 +02:00
Jakub Grzesik 567cbfcceb expose missing CollisionShape API for CollisionObject 2017-07-24 20:29:49 +02:00
Poommetee Ketson 2777f81d29 Add object type hint for docs 2017-07-23 18:57:03 +07:00
Bojidar Marinov 140f189a65
Add .to_local/.to_global methods on Node2D and Spatial
Those are just helpers around get_global_transform().affine_inverse().xform() and get_global_transform().xform().
Closes #6087
2017-07-23 14:37:26 +03:00
Juan Linietsky 25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Poommetee Ketson 49c7620326 Add object type hint for docs 2017-07-19 02:03:34 +07:00
Juan Linietsky 3da3a36034 Many fixes to improve GI Probe quality 2017-07-15 23:24:37 -03:00
Juan Linietsky 741145febd -Fix for multiple reflection probes causing issues.
-Fix for positional sound corruption to avoid making people deaf.
2017-07-15 18:42:06 -03:00
Juan Linietsky 2e73be99d8 Lots of work on Audio & Physics engine:
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -03:00
Rémi Verschelde 738d6c0afc Merge pull request #9355 from TwistedTwigleg/Remote_node_enhancement
RemoteTransform and RemoteTransform2D enhancements
2017-07-11 11:11:29 +02:00
Thomas Herzog f9c99486b0 Merge pull request #9592 from RandomShaper/remove-warns
Remove warnings about benign situations
2017-07-10 22:23:11 +02:00
Pedro J. Estébanez 7d308797ad Remove warnings about benign situations 2017-07-10 16:20:56 +02:00
TwistedTwigleg 3400c42c4d Added the following features to RemoteTransform and RemoteTransform2D:
- Added the ability to toggle changes in position, rotation, and scale
- Added the ability to toggle changes in either local or global coordinates
2017-07-05 16:29:48 -04:00
Johan Manuel 00afca31c6 Use the gravity constant to calculate weights 2017-07-05 15:14:12 +02:00
Juan Linietsky 7263137dba Implemented environment arrays for skybox reflection and roughness, quality increase is enormous. 2017-07-04 23:53:08 -03:00
Rémi Verschelde e54c7d5715 Merge pull request #9457 from TwistedTwigleg/Fixed_Vector3_snap
Fixed syntax inconsistency in Vector3.snap and Vector3.snapped
2017-07-03 23:43:33 +02:00
TwistedTwigleg 44ecfb028d Fixed syntax inconsistency in Vector3.snap and Vector3.snapped 2017-07-03 16:29:03 -04:00
Juan Linietsky e63c64e256 Clean up normalmapping, make sure tangents are imported correctly. 2017-07-03 10:45:34 -03:00
volzhs 6ed2b0eabc Update visibility icon properly 2017-07-03 00:27:27 +09:00
Juan Linietsky 2a3e00c8c7 -Many fixes to VisualScript, fixed property names, etc.
-Added ability to set/get a field in GetSet, as well as assignment ops
-Added a Select node
-Fixed update bugs related to variable list and exported properties, closes #9458
2017-06-30 21:35:05 -03:00
Juan Linietsky db3b05d289 Reworked translation system
-Label and Button reload translation on the fly
-Resources are loaded and reload depending on locale
2017-06-28 17:01:35 -03:00
Juan Linietsky 51442988b1 Merge pull request #9404 from Zylann/curve_improvement
Curve improvement
2017-06-27 07:53:52 -03:00
Juan Linietsky 3ce046ee0c -Fixed SCREEN_TEXTURE and other related 2D shader parameters.
-Fixded BackBuffercopy object
2017-06-26 22:58:46 -03:00
Marc Gilleron 69b8f61f25 Curve features
- Ability to set tangents as linear
- Indicative min and max values
- CurveTexture doesn't need min and max anymore
2017-06-26 23:41:37 +02:00
Juan Linietsky d41978eb63 Usability improvements for folding. Unfortunately SpatialMaterial broke compatibility. 2017-06-25 18:57:28 -03:00
Juan Linietsky 83ae9a5e28 Ability to restart particle system with a function call 2017-06-25 08:01:50 -03:00
Poommetee Ketson e3998528e0 BuildSystem: generated files have .gen.extension 2017-06-25 07:55:01 +07:00
Juan Linietsky 0cac32910a -Restored support for Canvas BG mode on Environment
-Improved ease of use of WorldEnvironment (no longer extends Spatial)
-2D editor viewport can now work in HDR!
2017-06-24 08:58:27 -03:00
Marc Gilleron 659897cfb8 Added Curve resource
- New resource for curves in y(x) form
- CurveTexture now has a Curve
- Curve and CurveTexture share the same editor
2017-06-24 01:01:36 +02:00
Juan Linietsky 8ef1c41a4e Small fixes required to get platformer to work.
Added back CanvasItemMaterial
2017-06-23 14:31:59 -03:00
Juan Linietsky fb72edf45e Properly exposed material types everywhere. 2017-06-22 09:33:20 -03:00
Juan Linietsky 95560e02c5 2D GPU Particles working.. 2017-06-21 16:26:26 -03:00
Thomas Herzog bfac7c476d Merge pull request #8629 from hikari-no-yume/Sprite3D_double_sided_flag_master
Add double-sided flag to SpriteBase3D [master]
2017-06-19 23:46:54 +02:00
Thomas Herzog b6b225f4c5 Merge pull request #8870 from tagcup/pathfollow
Fix PathFollow rotations.
2017-06-19 23:30:40 +02:00
Rémi Verschelde 8b1bc9da88 Merge pull request #9208 from Calinou/tweak-default-fov
Increase the default perspective camera FOV
2017-06-16 17:51:04 +02:00
BastiaanOlij 9483613138 Godot 3.0 primitives as resources for use with MeshInstance
Adds the following resources:
- CapsuleMesh: a capsule object
- CubeMesh: a cube that can be subdivided
- CylinderMesh: a cylinder
- PlaneMesh: a horizontal plane that can be subdivided
- PrismMesh: a prism shape
- SphereMesh: a sphere
- QuadMesh: reintroduction of the original quadmesh

Removes the old Quad and TestCube nodes
2017-06-16 21:40:23 +10:00
Hugo Locurcio cdcc3c919b Increase the default perspective camera FOV
This does not affect existing projects, but will affect newly-created
editor settings and Camera nodes.
2017-06-16 12:07:07 +02:00
Rémi Verschelde bccee07ae7 Merge pull request #9165 from Noshyaar/pr-area
Refactor layer_mask to collision_layer
2017-06-14 23:04:04 +02:00
Juan Linietsky 462d8ceb46 Fixed several bugs with directional light, and changed defaults to be more sensible. 2017-06-14 17:06:36 -03:00
Poommetee Ketson 6c44fff508 Refactor layer_mask to collision_layer 2017-06-14 10:58:34 +07:00
Juan Linietsky 95c248e24f Remove default shadow bias of 0.1 for spot and omni light, fixes #8654 2017-06-13 00:07:05 -03:00
Juan Linietsky b21d45e4e1 Change Omni light default mode to Cube, avoids users confusing it as a bug, closes #8813 2017-06-12 23:37:31 -03:00
alexholly 935f730170 renamed all Rect3.pos to Rect3.position 2017-06-09 15:54:02 +02:00
Juan Linietsky 5bf810b5db -Added proper access to depth texture from shader
-Split Mesh into Mesh (abstrat class) and ArrayMesh, to allow to proper mesh primitives, as well as streamable meshes in the future.
2017-06-07 18:20:04 -03:00
alexholly a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Juan Linietsky 8a1097a224 many fixes to image loader, voxel cone tracing, etc. 2017-06-02 22:08:41 -03:00
Juan Linietsky e79d7149ea GI probes working back again 2017-06-01 22:38:07 -03:00
Ferenc Arn a1c8896d9d Fix PathFollow rotations.
Used parallel transport to move the object along the curve. Also introduced a few more math checks useful for debugging.
2017-05-31 13:58:31 -05:00
Rémi Verschelde 0964129a10 Merge pull request #8832 from Zireael07/vehicle-improvs-master
Expose wheel's contact to GDScript and set roll influence in editor [3.0]
2017-05-22 07:50:34 +02:00
Juan Linietsky 5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
Zireael07 c82c5a2e56 GDScript can now tell if the wheel is in contact with the ground; change roll influence of the wheel in editor 2017-05-20 12:42:09 +02:00
Juan Linietsky 98a3296702 Removal of Image from Variant, converted to a Resource. 2017-05-17 07:37:45 -03:00
honix 73385e362b Particles potential crash fix 2 2017-05-16 16:24:33 +03:00
Andrea Faulds fd5b929831 Add double-sided flag to SpriteBase3D (fixes #8007) 2017-05-02 21:03:17 +01:00
Rémi Verschelde b6e0eaf3ca Merge pull request #8509 from nunodonato/fixspatialmaterial
Fixed #8102, by renaming FixedSpatialMaterial to SpatialMaterial
2017-04-24 12:05:43 +02:00
Nuno Donato c1e771dfe9 Fixed #8102, by renaming FixedSpatialMaterial to SpatialMaterial 2017-04-24 10:20:32 +01:00
Rémi Verschelde 05d35bb156 Merge pull request #8395 from 20kdc/master
Ported move_and_slide to KinematicBody (3D)
2017-04-24 11:20:10 +02:00
Rémi Verschelde 90ef1fd03d Merge pull request #8102 from bd339/iss3172
Show 3D raycasts when debugging collisions
2017-04-24 11:11:04 +02:00
20kdc e2df5d661d Ported/fixed move_and_slide to KinematicBody (3D+floor/ceiling args)
This version of the commit has the on_ceiling/on_wall fix without any
 explaination of that code, since apparently it wasn't complicated enough.

As for the notes at the top of the function, they're still there.

move_and_slide is rather useful for character-controllers, etc.
It reduces the amount of boilerplate code.
Not having move_and_slide makes the APIs somewhat inconsistent.

(It might be nice to figure out a way to share the code between the two
move_and_slide implementations, but that's for someone who knows what
the policy is on shared code like that.)
2017-04-21 21:19:41 +01:00
Juan Linietsky 4286aef693 Particle system is complete. Rejoice! 2017-04-08 22:40:06 -03:00
Rémi Verschelde df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Juan Linietsky 74808ac4d9 New particle system, mostly working, some small features missing. 2017-04-06 23:49:27 -03:00
Andreas Haas 0a287cfe4c
Fix more property names in _change_notify calls. 2017-04-03 18:35:15 +02:00
Benjamin Dahse 93d6003aa8 Show 3D raycasts when debugging collisions
Represent a raycast by a line segment using the direction and magnitude of the cast_to vector.
The entire line segment will become red while a collision occurs.
2017-03-30 22:34:05 +02:00
Rémi Verschelde 5dbf1809c6 A Whole New World (clang-format edition)
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?

I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon

A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format

A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Rémi Verschelde e1c1d7d1d7 Add a bunch of missing Godot headers in own files 2017-03-05 15:47:28 +01:00
Juan Linietsky de0045cf1b -renamed globals.h to global_config.cpp (this seems to have caused a few modified files)
-.pck and .zip exporting redone, seems to be working..
2017-02-21 00:06:30 -03:00
Juan Linietsky 903a3aa5f0 a ton of bug fixes to the renderer 2017-02-16 08:55:43 -03:00
Juan Linietsky da11d6d9e8 Many fixes to make exported scenes work better, still buggy. 2017-02-15 08:34:02 -03:00
Hein-Pieter van Braam 411ee71b4d Rename the _MD macro to D_METHOD
This new name also makes its purpose a little clearer

This is a step towards fixing #56
2017-02-13 12:50:02 +01:00
Hein-Pieter van Braam 0f687f0ccb Remove use of _SCS from ADD_METHOD
This saves typing and is a step towards fixing #56
2017-02-13 10:37:47 +01:00
Juan Linietsky 07bbcf91f7 basic contact shadows implementation, will most likely need some polishing 2017-02-08 07:35:14 -03:00
Juan Linietsky 5cc63dee0f ability to adjust propagation in gi probe 2017-02-06 05:12:15 -03:00
Juan Linietsky 6f2e16306a Several bugfixes, improving the import workflow 2017-02-06 00:38:39 -03:00
Juan Linietsky ee0f53df52 Merge pull request #7528 from tagcup/real_t_float_fixes
Use real_t rather than float or double in generic functions (core/mat…
2017-01-20 19:24:49 -03:00
Ray Koopa faa13adad3 Fix editor method calls to is_visible for Spatial and CanvasItem and is_visible itself for Spatial 2017-01-18 22:00:00 +01:00
Ferenc Arn 6f4f9aa6de Overloaded basic math funcs (double and float variants). Use real_t rather than float or double in generic functions (core/math) whenever possible.
Also inlined some more math functions.
2017-01-16 13:36:33 -06:00
BastiaanOlij 3a02df7739 Working on compile issues for iOS 2017-01-16 23:14:13 +11:00
Rémi Verschelde f44ee891be Style: Fix statements ending with ';;' 2017-01-16 08:49:52 +01:00
Juan Linietsky b400c69cd4 Oops! Audio engine has vanished :D 2017-01-15 16:07:51 -03:00
Rémi Verschelde e0faf8a51b Style: Cosmetic fixes to play nice with clang-format 2017-01-15 16:42:17 +01:00
Juan Linietsky dcb95ec147 removed duplicated functions in class hierarchy that were bound more than once
added a check to detect this case in the future
2017-01-14 11:10:42 -03:00
Rémi Verschelde 93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky d093cc8bf8 Renamed call_group to call_group_flags, made call_group without flags the default 2017-01-14 10:03:53 -03:00
Juan Linietsky f3b6177ece rename monitoring functions 2017-01-13 20:03:51 -03:00
Juan Linietsky 6e88b1096a Vector2.get_aspect() renamed to Vector2.aspect() to keep consistent method naming 2017-01-13 20:00:43 -03:00
Juan Linietsky 0ad9939603 Rename collision layer as suggested in #5696 2017-01-13 11:01:19 -03:00
Juan Linietsky 04c749a1f0 New API for visibility in both CanvasItem and Spatial
visible (property) - access set_visible(bool) is_visible()
is_visible_in_tree() - true when visible and parents visible
show() hide() - for convenience
2017-01-13 10:45:50 -03:00
Juan Linietsky a2903fc51d Must now register with set_transform_notify() to get NOTIFICATION_TRANSFORM_CHANGED 2017-01-12 20:35:46 -03:00
Juan Linietsky 35b404ba08 Unify naming of blendshape / morphtarget into just "Blend Shape" 2017-01-12 08:34:00 -03:00
Juan Linietsky 83cb84753f Renamed most signals so they refer to:
-An action being requested to the user in present tense: (ie, draw, gui_input, etc)
-A notification that an action happened, in past tense (ie, area_entered, modal_closed, etc).
2017-01-12 00:51:08 -03:00
Juan Linietsky bc26f90581 Type renames:
Matrix32 -> Transform2D
	Matrix3 -> Basis
	AABB -> Rect3
	RawArray -> PoolByteArray
	IntArray -> PoolIntArray
	FloatArray -> PoolFloatArray
	Vector2Array -> PoolVector2Array
	Vector3Array -> PoolVector3Array
	ColorArray -> PoolColorArray
2017-01-11 00:52:51 -03:00
Juan Linietsky 710692278d Merge pull request #7426 from m4nu3lf/bugfix/physics
Fixed inertia tensor computation and center of mass
2017-01-10 22:27:32 -03:00
Juan Linietsky 0acd4fccd5 Merge pull request #7438 from tagcup/matrix3_rotate_fix
Fix the order in which additional transformations are applied
2017-01-10 22:22:56 -03:00
Juan Linietsky 4338c90163 It is now possible to name layers of different kinds! 2017-01-10 22:20:57 -03:00
Juan Linietsky f3f4a11cfb - _ready() callback only happens once now, if you want to receive it again, use request_ready()
- C++ Nodes mostly do an internal process callback, so it does not conflict with users willing to use their own process callbacks
- callbacks such as _input, _process, _fixed_process _unhandled_input, _unhandled_key_input do not requiere calling a function to enable them. They are enabled automatically if found on the script.
2017-01-10 18:04:33 -03:00
BastiaanOlij bf990b0822 Few small fixes so tools=no and target=release compiles 2017-01-10 21:42:14 +11:00
m4nu3lf 2e38b32e0f Fixed inertia tensor computation and center of mass 2017-01-09 00:13:54 +00:00
Ferenc Arn 6b1252cdfa Fix the order in which additional transformations are applied in Matrix3 and Transform.
This is a part of the breaking changes proposed in PR #6865, solving the issue regarding the order of affine transformations described in #2565. This PR also fixes the affected code within Godot codebase. Includes improvements to documentation too.

Another change is, Matrix3::get_scale() will now return negative scaling when the determinant of the matrix is negative. The rationale behind this is simple: when performing a polar decomposition on a basis matrix M = R.S, we have to ensure that the determinant of R is +1, such that it is a proper rotation matrix (with no reflections) which can be represented by Euler angles or a quaternion.

Also replaced the few instances of float with real_t in Matrix3 and Transform.

Furthermore, this PR fixes an issue introduced due to the API breakage in #6865. Namely Matrix3::get_euler() now only works with proper rotation matrices. As a result, the code that wants to get the rotation portion of a transform needs to use Matrix3::get_rotation() introduced in this commit, which complements Matrix3::get_scaled(), providing both parts of the polar decomposition.

Finally, it is now possible to construct a rotation matrix from Euler angles using the new constructor Matrix3::Matrix3(const Vector3 &p_euler).
2017-01-08 10:36:14 -06:00
Juan Linietsky 2ab83e1abb Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector 2017-01-07 18:26:38 -03:00
Juan Linietsky 76c2e8583e Merge branch 'master' of https://github.com/godotengine/godot 2017-01-04 01:17:41 -03:00
Juan Linietsky b085c40edf -Conversion of most properties to a simpler syntax, easier to use by script
-Modified help to display properties

GDScript can still not make use of them, though.
2017-01-04 01:16:14 -03:00
Ferenc Arn bd7ba0b664 Use right handed coordinate system for rotation matrices and quaternions. Also fixes Euler angles (XYZ convention, which is used as default by Blender).
Furthermore, functions which expect a rotation matrix will now give an error simply, rather than trying to orthonormalize such matrices. The documentation for such functions has be updated accordingly.

This commit breaks code using 3D rotations, and is a part of the breaking changes in 2.1 -> 3.0 transition. The code affected within Godot code base is fixed in this commit.
2017-01-03 17:41:04 -06:00
Juan Linietsky 118eed485e ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant.
All usages of "type" to refer to classes were renamed to "class"
ClassDB has been exposed to GDScript.
OBJ_TYPE() macro is now GDCLASS()
2017-01-02 23:03:46 -03:00
Rémi Verschelde 3f3f5a5359 Merge remote-tracking branch 'origin/gles3' into gles3-on-master
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde 2e87232f0a Merge pull request #7391 from ktksgit/master
Update DebugMesh when NavMesh changes
2017-01-02 13:50:10 +01:00
Rémi Verschelde 17bb7e1c7e Merge pull request #7363 from Elinvention/bone_attachment
Expose set_bone_name and get_bone_name to GDscript
2017-01-02 13:43:13 +01:00
Rémi Verschelde c7bc44d5ad Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
Juan Linietsky a62c99c4e4 Some fixes and clean ups 2016-12-31 10:53:29 -03:00
reduz f4a56e7782 begin work on new particle system 2016-12-30 08:35:54 -03:00
ktksgit 2807507325 Update DebugMesh when NavMesh changes
Fixes #7371
2016-12-29 12:16:36 +01:00
Elia Argentieri b96e2e1126 Expose set_bone_name and get_bone_name to GDscript 2016-12-24 15:27:08 +01:00
Juan Linietsky 4e729f38e0 baking now shows a proper button, and bakes can be saved. 2016-12-23 00:37:38 -03:00
Juan Linietsky f9603d8236 can bake for omni and spotlight
store normal when baking
2016-12-22 10:00:15 -03:00
Juan Linietsky 075fde7f26 work in progress global illumination 2016-12-20 00:21:07 -03:00
Bojidar Marinov 7504a015aa
Fix #7303, Quad node mesh data leak 2016-12-16 14:50:46 +02:00
Ignacio Etcheverry d579d0a814 KinematicBody: Fix wrong method bind return type 2016-12-10 16:23:47 +01:00
Juan Linietsky 27a46d78ec Subsurface scattering material param is now working! 2016-12-02 22:23:16 -03:00
Juan Linietsky a2505542ff Huge amount of improvement in the material system. Materials should be
a lot more complete and usable now.
2016-11-20 22:49:53 -03:00
Juan Linietsky c39d2b3f42 working reflection probes!! 2016-11-19 13:23:37 -03:00
Juan Linietsky a7078a4be9 Done with lights and shadows (wonder if i'm missing something..) 2016-11-11 12:27:52 -03:00
Juan Linietsky cacf9ebb7f all light types and shadows are working, pending a lot of clean-up 2016-11-09 23:55:06 -03:00
Rémi Verschelde d4c17700aa style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde 97c8508f5e style: Start applying PEP8 to Python files, indentation issues
Done with `autopep8 --select=E1`, fixes:

- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00
Juan Linietsky d6567010bf -Many many fixes
-Gizmos work again
2016-10-29 20:48:09 -03:00
Juan Linietsky 53d8f2b1ec PBR more or less working, still working on bringing gizmos back 2016-10-27 11:50:26 -03:00
Rémi Verschelde afd86ee240 Merge pull request #6090 from WalasPrime/raytrace_force
Added force_raycast_update GDScript method for RayCast[2D]
2016-10-22 12:40:14 +02:00
Rémi Verschelde fc8ccd5b8c SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Rémi Verschelde 0a2826b6ba Merge pull request #6712 from lordadamson/issue6012
fix #6012 exposed setters and getters of Camera H/V offset to GDScript
2016-10-09 14:39:42 +02:00
Adham Zahran cbb0ea315b fix #6012 exposed setters and getters of Camera H/V offset to GDScript 2016-10-05 00:46:28 +02:00
Juan Linietsky 22d83bc9f6 Begining of GLES3 renderer:
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00
J08nY af35130b50
light: respect editor_only setting in release build and dont show the light 2016-10-03 16:23:43 +02:00
Karol Walasek 7494a8c3c6 Added force_raycast_update GDScript method for RayCast[2D] 2016-10-03 12:36:16 +02:00
Pawel Kowal f9a21baa26 Fix #6480, area duplicated param 2016-09-29 18:12:45 +02:00
yg2f c1e2358914 expose GeometryInstance.get_aabb() etc fixes #6587
expose ``GeometryInstance.get_aabb();`` to gdscript
expose ``VisualInstance.get_transformed_aabb();`` to gdscript
and debug ``ImmediateGeometry::add_vertex()``;
2016-09-22 23:06:07 +02:00
Juan Linietsky 4d664c9289 Merge pull request #5692 from kubecz3k/remoteTransform
Remote transform node (for 3d)
2016-09-10 12:28:47 -03:00
Juan Linietsky f31400c04d Added option for UVs (and tangents) in adding sphere for ImmediateGeometry, closes #6398 2016-09-06 19:31:44 -03:00
Daniel J. Ramirez 213a57ccaf Stop baking process if there is no geometry in the BakedLightInstance.
moved missing baked light warning to BakedLightInstance configuration warning
2016-07-25 21:45:20 -05:00
Juan Linietsky 3aeafcae04 Removed support for saving paths as relative, closes #5728
Editor now has good refactoring tools, so this function is mostly obsolete
2016-07-22 10:39:46 -03:00
Juan Linietsky e4cd01ac8c Make texture parameter optional in begin() of ImmediateGeometry. Closes #5676 and closes #5720 2016-07-22 09:59:56 -03:00
Jakub Grzesik 82f84f4c2f Remote transform node (for 3d)
It's code is based on RemoteTransform2D node.
2016-07-14 16:37:26 +02:00
Rémi Verschelde f40f360a2c Remove unused variables (fourth pass) + dead code
Also fix a potential regression from 3fcb9b1ec1.
2016-07-08 16:47:55 +02:00
Juan Linietsky 7c1ab42571 Fix the +1 button to insert keyframes in Sprite and Sprite3D, closes #5422 2016-07-06 23:46:04 -03:00
Juan Linietsky 449a28e75a make property not be applied in skeleton if not inside tree. This will eventually e changed. Fixes #5205 2016-06-29 18:39:29 -03:00
Juan Linietsky 7c20c386c5 -Added trigger mode to tracks, useful for properties that work as triggers, such as playing a sample, an animation, etc.
-Better interpolation of discrete tracks, fixes #4417
2016-06-19 01:43:02 -03:00
Rémi Verschelde b7dbf9207a Drop empty files that are not used anywhere
Part of #5272
2016-06-18 19:46:30 +02:00
Rémi Verschelde a7fc04626a Add missing license headers in our source files (#5255)
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
Juan Linietsky 95dc15b750 Send body inout notifications after state is applied, fixes #4683 2016-06-17 16:45:10 -03:00
marcelofg55 3787856563 Fixed overloaded virtual functions with const vs none warning 2016-06-12 13:31:22 -03:00
Juan Linietsky db1e9bac79 better rewording 2016-06-11 17:25:43 -03:00
Juan Linietsky 375fbe5c7c Show descriptive errors when look_at is improperly used, closes #5131 2016-06-11 17:22:48 -03:00
Juan Linietsky beabefe432 port changes from AnimatedSprite to AnimatedSprite3D 2016-06-08 18:03:06 -03:00
Juan Linietsky 06bc4e20d3 Merge pull request #4101 from SaracenOne/listener
Added New Listener Spatial Node.
2016-06-06 22:13:23 -03:00
Juan Linietsky 8be2fabbe5 Changed import workflow
-Rearrange favorites in fs dock with drag and drop
-Removed import -> sub-scene, moved to scenetree contextual menu
-Removed import -> re-import , moved and integrated to FS dock
-Added ability in FS dock to re-import more than one resource
simultaneously
-Added ability to drag from native filesystem explorer to Godot, only
works on Windows though
-Removed scene reimport merge options, never worked well. Eventually
merging materials should be re-added
-Added ability to set custom root node type when importing scenes
-Re-Import is now automatic, can be configured back to manual in editor
settings
-Added resource previews in property list for many resource types
2016-05-27 14:19:11 -03:00
Rémi Verschelde da24bc8f3f VehicleBody: Cosmetic fixes to previous commit 2016-05-21 11:52:21 +02:00
Agustin Benavidez 97da9f14ab Add get_linear_velocity() method to VehicleBody class
Doc added also.
2016-05-21 11:35:55 +02:00
Juan Linietsky c195c0df6b -Added configuration warning system for nodes
-Added a new "add" and "instance" buttons for scene tree
-Added a vformat() function to ease translation work
2016-05-17 18:28:44 -03:00
Juan Linietsky bed3efb17e New reworked AnimatedSprite!
-New SpriteFrames editor, with support for drag&drop, multiple animation
sets, animation speed and loop.
-New AnimatedSprite, with support for all the new features!
AnimatedSprite3D has not been updated yet.
-Added support for drag&drop to other editors, such as resourcepreload,
sample library,  etc.
2016-05-14 23:48:45 -03:00
MattUV 91c85ff1f5 classref: Fixed return types in Area and Area2D (#4635) 2016-05-12 17:03:15 +02:00
Rémi Verschelde 4eab767a6f Rotation APIs: Better exposure for degrees methods
Made public the various set/getters for rotations in degrees.
For consistency, renamed the exposed method names to remove the leading
underscore, and kept the old names with a deprecation warning.

Fixes #4511.
2016-05-06 23:38:08 +02:00
Ignacio Etcheverry 1e752c0120 Fix wrong return and argument types in documentation 2016-05-04 15:35:09 +02:00
Saracen bc5ee6c98f BoneAttachments now position themselves instantly during bind. 2016-04-15 11:32:10 +01:00
Bojidar Marinov f7c3d6329c Port collision and layer masks to 3D, fixes #1759
Raycasts now have type_mask and layer_mask. Areas - collision_mask and layer_mask. PhysicsBodies needed only collision_mask.
2016-04-09 22:11:12 +03:00
Rémi Verschelde b9ac3df29b Merge pull request #4259 from neikeq/pr-issue-4224
Fix RayCast not updating when debugging collissions
2016-04-07 14:13:48 +02:00
Ignacio Etcheverry 6cf3bdcf76 Fix RayCast not updating when debugging collissions 2016-04-07 13:30:40 +02:00
Bojidar Marinov 6dcd1354c2 Add a `sleeping_state_changed` signal to RigidBody and RigidBody2D classes
Closes #3911
2016-04-06 17:14:38 +03:00
Saracen 3741bc70fe Added listener spatial node. 2016-03-20 02:10:04 +00:00
Hubert Jarosz 7b07bcaf44
fix six possible "divide by zero" 2016-03-09 00:18:23 +01:00
Hubert Jarosz 4a4f247914
remove trailing whitespace 2016-03-09 00:00:52 +01:00
Saracen 7fecebd8a8 Added extra controls to GeometryInstances to control how they should cast shadows: double-sided and shadows only.
Conflicts:
	servers/visual/visual_server_raster.h
2016-03-07 23:14:14 +00:00
Nuno Donato 2d1de83434 refix particles3d issue, bringing down the amount limit to 1024 2016-02-16 08:56:31 +00:00
Juan Linietsky 53e237dfe4 -Fix crash opening and closing the scene, closes #3491 2016-01-31 15:10:33 -03:00
Juan Linietsky d01f55a78e Merge pull request #2698 from Faless/add_area_fix
Fix bug in Body(2D)SW::add_area
2016-01-23 23:07:23 -03:00
Juan Linietsky a625f7d073 -Properly lock and and warn about switching off contact monitoring, fixes #3041 2016-01-12 06:14:15 -03:00
Saracen 53b2b0ccbe Fix delay on audio stream pause 2016-01-03 01:24:30 +00:00
Juan Linietsky 2db78e8f87 Properly clear/restore current camera when switching scenes. Fixes #2137 2016-01-02 17:18:45 -03:00
Juan Linietsky df5fa62ab9 remove the invalid id error when freeing a 3D joint, fixes #2383 2016-01-02 08:37:27 -03:00
George Marques 5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02:00
Rémi Verschelde d4993b74fc Add missing argument names in GDScript bindings
All classes were reviewed apart from VisualServer for which no argument name is documented at all.
While doing this review, I found quite a few bugs that were fixed either in earlier commits or this one (mostly documentation bugs though, i.e. some arguments were listed at the wrong place).
2015-12-28 02:13:05 +01:00
Ovnuniarchos 89efebbf56 New and corrected are override modes. 2015-12-14 02:56:49 +01:00
Juan Linietsky c650d4e19c Merge branch 'master' of https://github.com/godotengine/godot 2015-12-08 17:48:03 -03:00
Juan Linietsky 09ff457185 made the exclusion of nodes from joints optional, fixes #3015 2015-12-08 17:47:12 -03:00
Juan Linietsky ff936c6b2e Merge pull request #2868 from akien-mga/pr-fix-can-move-to
Fix can_move_to and rename it for more clarity
2015-12-08 17:09:47 -03:00
Fabio Alessandrelli 3eba84e1d7 Properly update node after clearing shapes in _update_shapes_from_children()
(fix bug causing eg. CircleShape2D.set_radius to generate multiple shapes)
2015-12-02 11:30:48 +01:00
romulox_x 0b4830f3be Added set_hidden method to Spatial and CanvasItem 2015-11-26 13:44:06 -08:00
Rémi Verschelde f33d9dab5b Fix can_move_to and rename it for more clarity
Fixes #2416.
The KinematicBody::can_move_to function was likely designed for two behaviours:
 - discrete: check if the body can "teleport" to the destination
 - continuous: check if the direct path to the destination is valid
The continuous behaviour was however not implemented, and the discrete behaviour was broken too due to a wrong call to intersect_shape.

The discrete behaviour has thus been fixed and the function renamed to can_teleport_to for more clarity.
2015-11-22 14:14:07 +01:00
Juan Linietsky 0c3386b2ed Merge pull request #2707 from akien-mga/master
Cosmetic fixes to SCons buildsystem
2015-11-18 19:43:28 -03:00
Saracen 957baf48dc BoneAttachment fix. 2015-11-02 16:58:24 +00:00
Rémi Verschelde 399b1b0474 Cosmetic fixes to SCons buildsystem
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39)
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00
Juan Linietsky 2b12a8109d Merge branch 'master' of https://github.com/okamstudio/godot 2015-10-19 18:48:34 -03:00
Juan Linietsky 5d86a25f4d -some fixes to where screen is read from rasterizer
-fixed bug in ogg vorbis looping
-properly flushing audiostream rb when stopping
2015-10-19 18:47:49 -03:00
Juan Linietsky ab22203791 misc cleanup 2015-10-17 10:29:54 -03:00