Commit Graph

2097 Commits

Author SHA1 Message Date
Juan Linietsky 021f3c924b -Removed OpenMP support, replaced by a custom class.
-Disabled Opus, implementation is wrong.
2017-12-24 09:32:12 -03:00
MrCdK 1f609b7a82 Set particles emitting to false when particles finish emitting with one-shot enabled 2017-12-23 05:23:41 +01:00
Rémi Verschelde 7d9b7f9c47
Merge pull request #14897 from BastiaanOlij/arvr_tweaks
Few small tweaks for ARVR
2017-12-23 00:59:09 +01:00
Daniel J. Ramirez 1696db8f00 Fixes 3d camera keep aspect. 2017-12-22 14:24:38 -06:00
Juan Linietsky 7d0cabe9d3 Change skeleton processing to work on global coordinates, should help fix many import problems from Blender, GLTF2, etc. 2017-12-21 17:36:39 -03:00
Bastiaan Olij 6fd51b6a1b Reserved controller ids 1 and 2 for left and right hand controllers and added new center on hmd option 2017-12-22 01:21:23 +11:00
Juan Linietsky 1fa9aac3e4 -Make capture dependent on a cell size, not subdivision.
-Fixed a bug recently introduced when releasing mouse events and calling popups
2017-12-21 11:05:55 -03:00
Hein-Pieter van Braam 0db5123548 Prevent false sharing in lightbaker RNG state
The previous commit corrected the RNG behavior for the lightbaker but
also made it significantly slower on high core count systems. Due to the
vector of states being physically close together in RAM we force a cache
synchronization across all cores whenever we call for the next random
number to be generated.

This will create a temporary local copy of the RNG state before entering
the loop and then saving it back to the global state when done. This
will preserve the per-thread RNG state (and random number quality) while
significantly improving performance.

On my 16 thread box it saves 3 minutes baking the Sponza scene, bringing
performance back in line to before the various RNG fixes were
introduced, being slightly faster than the first implementation.
2017-12-20 14:37:00 +01:00
Hein-Pieter van Braam ccbb5923ac Fix lightmapper rng
In our previous attempts to fix the lightmapper we may have
inadvertently introduced the same issue we were trying to fix. It
appears that rand() will on some platforms introduce a mutex making it
slower and on others may have a per-thread state that would need to be
initialized with srand() on each thread. This slows down the lightbaking
further.

This sets up a separate rng state for each OpenMP thread by calling
rand() only in the single-threaded part of the code. We then keep a
vector of states.

I believe this solves our problems.
2017-12-20 12:09:09 +01:00
Hein-Pieter van Braam 7a10d3ab78 Correct license headers in main.cpp and voxel_light_baker.cpp
Sorry for the churn
2017-12-20 01:04:30 +01:00
Hein-Pieter van Braam 9fa5a588f0 Fix lightbaker clang-format issue and add license headers 2017-12-20 01:02:03 +01:00
Hein-Pieter van Braam ff04c07912 Lightbaker: include stdlib.h to fix CI builds 2017-12-20 00:29:27 +01:00
Juan Linietsky 808a3b9c71 Fix randomness in voxel light baker, closes #14841 2017-12-19 19:51:40 -03:00
Juan Linietsky 06dd10b390 Fix raytrace lightmap bake bias 2017-12-19 17:09:05 -03:00
Juan Linietsky 5544b89750 properly plot normal when baking 2017-12-19 15:04:52 -03:00
Juan Linietsky a714e1a4c7 Fixed bug where all file dialogs requested thumbnails even if hidden. 2017-12-19 12:57:46 -03:00
Rémi Verschelde abf20709af doc: Sync classref with current source 2017-12-18 08:13:58 +01:00
Juan Linietsky e96c40f94a Added baked light support for gridmaps. 2017-12-18 00:35:20 -03:00
Stefano Bonicatti a15721e5c9 Fix Sprite3D alpha_cut member not being initialized 2017-12-17 22:07:43 +01:00
Rémi Verschelde 89a32b4977
Merge pull request #14775 from hpvb/limit-lightmapper-subdiv
Limit the lightmapper subdivide to 1024
2017-12-17 19:59:59 +01:00
Hein-Pieter van Braam c4c7fa3f5e Limit the lightmapper subdivide to 1024
Due to memory contraints in other places in Godot it is unlikely that
anything higher than 1024 will actually work. When/if we improve memory
management for vectors we can increase  this limit again
2017-12-17 18:00:00 +01:00
Rémi Verschelde 8f25a2dc11 Cleanup some #if 0'd code 2017-12-17 15:40:24 +01:00
Rémi Verschelde ad3393743c
Merge pull request #14760 from hpvb/add-several-unlikely-macros
Add several unlikely() macros
2017-12-17 14:28:15 +01:00
Rémi Verschelde 539fd14cf5
Merge pull request #14758 from hpvb/optimize-lightbaker-rng
Use a more naive RNG for the lightmapper
2017-12-17 14:27:51 +01:00
Hein-Pieter van Braam 9ba134b463 Add several unlikely() macros
Based off of perf-based prediction misses these seem to be the
lowest-hanging fruit for quick (albeit small) improvements. These are
based on:

* baking a complex lightmap
* running platformer 3d
* running goltorus
2017-12-17 13:10:30 +01:00
Rémi Verschelde 32bc42690c
Merge pull request #14761 from fire/gdnative-lightmapper
Fix gdnative generation for lightmapper.
2017-12-17 11:12:21 +01:00
Hein-Pieter van Braam a402efeb72 Tweak OpenMP parameters for lightbaker
On higher threadcount systems this allows for better utilization. On my
16 thread box CPU use goes from 10 - 11 threads to a steady 15 threads
on the Sponza scene.

Baking time goes from ~10:00 to ~07:30 for me. On lower threadcount
systems I expect some improvement also but likely a little less.
2017-12-17 03:09:38 +01:00
K. S. Ernest (iFire) Lee 9948da70a0 Fix gdnative generation for lightmapper. 2017-12-16 16:56:54 -08:00
Hein-Pieter van Braam be4448bd1f Use a more naive RNG for the lightmapper
This speeds up the lightmapper by about 10% with no visible impact. A
comparison is up here:

https://tmm.cx/nextcloud/s/Log1eAXen1dJzBz

AMD Ryzen 7 1700 Eight-Core Processor
Sponza scene

pcg32
256/256/high   00:10:13
256/256/medium 00:02:50
256/256/low    00:01:11

xorshift
256/256/high   00:09:32
256/256/medium 00:02:34
256/256/low    00:01:05
2017-12-17 00:12:45 +01:00
Rémi Verschelde 1c18943e97
Merge pull request #14330 from matrem/particles_spread
Spread should be in degree (see documentation, and flag_disable_z case)
2017-12-16 14:28:25 +01:00
Rémi Verschelde 0f188461c5
Merge pull request #14365 from willnationsdev/camera-docs
[DOCS] Camera property changes
2017-12-16 14:23:44 +01:00
Rémi Verschelde dcdf9008ae
Merge pull request #14676 from NathanWarden/nav_create_to_add
Renamed navmesh_create to navmesh_add since no navmesh is created.
2017-12-16 00:36:47 +01:00
matrem 641c6de160 particles spread/flatness fixes, pi factorization 2017-12-15 23:53:53 +01:00
Nathan Warden 38caa4126f Renamed navmesh/poly_create to navmesh/poly_add since no navmesh is created. 2017-12-15 15:09:06 -05:00
Andreas Haas bca97e33ce
BakedLightmap: Update gizmo when setting extents.
Fixes #14696.
2017-12-15 20:39:45 +01:00
Michele Valente dea5ba3991 fix for compiling the new lightmapper
also changed two calls that were ambiguous
2017-12-14 15:32:53 +01:00
Juan Linietsky f3ad14224e -Add lightmapper
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
2017-12-14 09:01:27 -03:00
Will Nations d9cb00151b [DOCS] Camera property changes 2017-12-11 12:48:41 -06:00
AndreaCatania 050a7ea6cc Fixed bad bindings 2017-12-11 01:42:16 +01:00
AndreaCatania 5dee44bbc1 Implemented physics linear and angular lock 2017-12-10 17:21:14 +01:00
Rémi Verschelde a845411454 Style: Re-apply clang-format over recent invalid additions 2017-12-10 01:27:02 +01:00
Marc Gilleron 9282270295 Update GIProbe data instead of creating a new one on bake 2017-12-09 18:48:02 +01:00
Rémi Verschelde 25b36f18d3
Merge pull request #12756 from Stratos695/master
Allowing double-axis lock in RigidBody & KinematicBody (Fixes #12500)
2017-12-09 13:01:41 +01:00
Juan Linietsky 6527f2e684 Implement orbit velocity in particles (this is for 2D only, like in 2.1), closes #12764
Fixed tangential velocity (was broken)
2017-12-07 13:18:22 -03:00
Juan Linietsky dd892a327d Added some clean up in camera/viewport management. Fixes #12279, Fixes #12774 2017-12-07 12:13:20 -03:00
Rémi Verschelde 13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Juan Linietsky 7b7ba58493 -Fix particles with size==0, closes #13931
-Fixed material previews (dont show sphere unless for spatial)
2017-12-06 19:51:13 -03:00
Marco Masselli 4bd4d13570 Ported 'Exclude Parent' from Raycast2D to Raycast 2017-11-30 20:01:19 +01:00
Hugo Locurcio 541df26184
Tweak the default camera node settings
- Increase FOV to 70
- Put the Z-near plane at 0.05 meters
2017-11-25 23:48:30 +01:00
Juan Linietsky bc2e8d99e5 Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Juan Linietsky 81213917d1 change default propagation value 2017-11-22 14:41:45 -03:00
AndreaCatania d6e413bb9c Removed type_mask and fixed some variable name 2017-11-21 22:56:40 +01:00
Rémi Verschelde 341bf71dc1
Merge pull request #13023 from tom95/particles-align-y-12865
Make particles with DISABLE_Z active respect ALIGN_Y. Fixes #12865
2017-11-20 10:59:34 +01:00
Juan Linietsky 98cb49283d Ability to change indirect light energy. 2017-11-19 21:46:00 -03:00
Tom Beckmann 93be4982d0 Make particles with DISABLE_Z active respect ALIGN_Y. Fixes #12865 2017-11-19 21:32:25 +01:00
Ferenc Arn d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05:00
Ferenc Arn 1980a54dbb Fix energy not affecting emissive texture in GI baker.
Also fix emission_tex being invalid always due to wrong reference type.

Fixes #10534.
2017-11-15 20:01:53 -05:00
Juan Linietsky 7010ee3cb9 -Ability to choose operator for emission, closes #10441
-Ability to use proper operator for GI Probe, closes #10534
-Closes #12938 as it's no longer needed (thanks for the work though)
2017-11-15 12:39:24 -03:00
Poommetee Ketson 045bf23207
Merge pull request #12825 from mrcdk/particles_fix_tangent_random
Fix particles' tangential acceleration randomness
2017-11-11 13:30:00 +07:00
MrCdK 7d517d4a71 Fix particles' tangential acceleration randomness 2017-11-10 23:19:08 +01:00
Eric Rybicki bd5df84199 Allow double-axis lock in RigidBody and KinematicBody 2017-11-10 22:33:54 +01:00
letheed 482e07af7e Unify degree members and properties 2017-11-10 12:52:07 +01:00
letheed ab2647a0d0 Remove deprecated rotation methods 2017-11-10 09:09:30 +01:00
Juan Linietsky 192a4d7de5 Reworked how servers preallocate RIDs, should fix #10970 2017-11-09 23:35:34 -03:00
Juan Linietsky 9e6f9742f4 adjust min stop to horizontal velocity 2017-11-09 17:58:32 -03:00
Juan Linietsky 0416ca2fd2 Add slope min stop velocity on 3D physics body, closes #10981 2017-11-09 17:32:50 -03:00
Juan Linietsky 50a9bd4e23
Merge pull request #12713 from AndreaCatania/master
Rewritten kinematic system
2017-11-09 16:08:58 -03:00
AndreaCatania 10f879bf88 Rewritten kinematic system 2017-11-07 15:22:09 +01:00
MillionOstrich eaa8c461c3 Fix randomisation of initial particle velocity 2017-11-06 16:39:10 +00:00
Bastiaan Olij 167b7b5533 Adding rumble support to ARVR controllers (if implemented on the ARVR interface) 2017-11-01 23:59:14 +11:00
Rémi Verschelde 24b3733f3b
Merge pull request #10770 from RandomShaper/fix-joints
Fix joints collision exceptions, plus a bit more
2017-10-31 23:02:37 +01:00
Juan Linietsky 495bcd7301 Clean up GI Probe baking, proper button and progress bar. 2017-10-30 16:33:37 -03:00
Rémi Verschelde 89cec177a2 Merge pull request #12308 from GiantBlargg/revert-11587-directional_light_init
Revert "In editor, instance DirectionalLight with an initial orientation"
2017-10-26 22:33:27 +02:00
Rémi Verschelde c529fa6987 Merge pull request #12316 from mrezai/fix-disable-3d
Fix disable_3d=yes compile errors
2017-10-23 23:19:21 +02:00
Jakub Grzesik 8f054d519f missing set/get_collision_mask_bit() for RayCast
in the same fastion how it's implemented in Area or Bodies
2017-10-23 14:31:58 +02:00
mrezai 8f48eeaa88 Fix disable_3d=yes compile errors 2017-10-22 21:24:20 +03:30
Giantblargg 0c5eba826c Revert "In editor, instance DirectionalLight with an initial orientation" 2017-10-22 04:13:46 -06:00
Rémi Verschelde 01a5a8b86c Merge pull request #12291 from RandomShaper/fix-raycast-naming
Rename RayCasts collision_layer to collision_mask
2017-10-21 23:44:46 +02:00
Pedro J. Estébanez 7b12ae39f2 Rename RayCasts collision_layer to collision_mask
The point is that `RayCast`s are checked against objects' `collision_layer`(s), but they themselves are considered no to _belong_ to any layer. Therefore, the correct name for their property is `collision_mask`, rather than `collision_layer`.

Only renaming is needed since the behavior was already the right one, only that it wasn't matching what users would expect from the name and description of the property.

Fixes #7589, where it's also discussed.
2017-10-21 22:17:47 +02:00
Poommetee Ketson 9cadb9e5f3 Bind unbound enums, rearrange some by value 2017-10-22 01:58:02 +07:00
Ferenc Arn 0b89b90b36 Fix PathFollow rotations.
Replaced the lookahead (which is problematic) with exact delta in offset. Also made some other minor fixes and improvements.

Fixes #12258.
2017-10-21 12:51:49 -04:00
Poommetee Ketson 9b634180aa Refactor Fixed to Physics 2017-10-21 21:28:08 +07:00
Rémi Verschelde 7969565de7 Merge pull request #12052 from hi-ogawa/particle-material-conversion-plugin
Create ParticlesMaterialConversionPlugin
2017-10-20 23:54:56 +02:00
Bastiaan Olij 914c4d3066 Always mixing up binary and and boolean and... 2017-10-20 00:28:17 +11:00
Ruslan Mustakov 6106fd88d4 Remove junk output
Remove several prints that were added for engine debugging, but are
of no use to the end user, and only pollute the editor and game logs.
2017-10-13 12:40:19 +07:00
Hiroshi Ogawa d777681882 Create ParticlesMaterialConversionPlugin and format generated shader code 2017-10-12 21:30:19 +09:00
Bartłomiej T. Listwon 7430bbdac1 Fix LINK/UNLINK console spam with navmeshes
Removed unnecessary debug messages. Fixes #10804
2017-10-06 13:36:15 +02:00
BastiaanOlij ce74efacbb Made a few tweaks to the interface 2017-10-06 20:35:55 +11:00
Juan Linietsky ef08228db7 Restored normal bias as default bias in GIProbe 2017-10-04 09:32:16 -03:00
Andreas Haas 5303efb2fa Merge pull request #11659 from AndreaCatania/prephysics
Renamed fixed_process to physics_process
2017-10-02 23:10:36 +02:00
AndreaCatania 4537977d6d Renamed fixed_process to physics_process 2017-09-30 16:19:07 +02:00
Lucas Eriksson 4c712b9db5 Added VehicleWheel::get_skidinfo(). 2017-09-30 03:02:16 +02:00
Indah Sylvia 392a94686c Fixed typo: 'texure' to 'texture' 2017-09-29 04:40:01 +07:00
Rémi Verschelde 59c3f61d57 Merge pull request #11587 from Zylann/directional_light_init
In editor, instance DirectionalLight with an initial orientation

[ci skip]
2017-09-26 08:11:57 +02:00
Marc Gilleron 2ac8c2fa91 In editor, instance DirectionalLight with an initial sun-like orientation 2017-09-25 23:17:23 +02:00
Elliott Sales de Andrade ffab67b8da Use BoolVariable in target/component/advanced options. 2017-09-25 14:36:02 -04:00
damarindra b786e7877b Fix: CollisionObject shape owner indexing is inconsistent 2017-09-24 15:55:45 +07:00
Marcelo Fernandez 46af050e93 Rename get_position => get_playback_position and seek_pos => seek on audio classes 2017-09-23 16:55:00 +02:00
letheed 5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Rémi Verschelde c74bab66aa Merge pull request #11274 from Rubonnek/keep-argument-names-consistent
Renamed function arguments to keep them consistent between declaration and implementation
2017-09-17 12:53:48 +02:00
Andreas Haas 6b729726e0 Merge pull request #11280 from BastiaanOlij/fix_arvr_joyid
joyid is set to -1, not 0 when no joystick entity has been created
2017-09-15 10:33:48 +02:00
Thomas Herzog 7dffed485b Merge pull request #11230 from maxim-sheronov/fix_enum_bindings
Fix enums bindings
2017-09-15 08:43:35 +02:00
BastiaanOlij c46b8f444a joyid is set to -1, not 0 when no joystick entity has been created 2017-09-15 09:53:59 +10:00
Wilson E. Alvarez 072e379ffe Renamed function arguments to keep them consistent between declaration and implementation 2017-09-14 13:49:15 -04:00
Maxim Sheronov 0fffa45158 Fix enums bindings
Add missed bindings for enums
Move some enums to class to have correct output of api.json
2017-09-13 20:57:07 +03:00
Rémi Verschelde 27ae3c839d Merge pull request #7908 from SaracenOne/recast
In-editor navmesh generation.
2017-09-13 19:22:29 +02:00
Hein-Pieter van Braam 89c50f73c7 Fix out of bound array indexing (reverb_vol)
Same issue as in a3f9fe52. AudioFrame[3] being indexed at [3]
2017-09-13 17:47:51 +02:00
Hein-Pieter van Braam a3f9fe52ec Fix out of bound array indexing
730d36f350 introduced introduced some code that indexes AudioFrame[3],
it is however defined as AudioFrame[3]. This increases the size to [4]
2017-09-13 17:38:09 +02:00
Rémi Verschelde c2741e2385 Merge pull request #11069 from aroncds/master
KinematicBody2D api most friendlier
2017-09-13 15:07:17 +02:00
Juan Linietsky 06138bf18c Renamed play to playing property, but now playing and is_playing is the same, to avoid confusing. Closes #11211 2017-09-13 08:41:26 -03:00
Marcelo Fernandez 730d36f350 Fixed issues with surround sound on audio server 2017-09-12 15:13:28 -03:00
Rémi Verschelde 50eb62ea6e Merge pull request #11002 from NathanWarden/vehicle_wheel_warning
Added a warning message when a VehicleWheel is not a child of a VehicleBody.
2017-09-12 13:11:48 +02:00
Rémi Verschelde aabbd00284 Merge pull request #10908 from hpvb/fix-unused-variables
Fix unused variable warnings
2017-09-12 12:55:53 +02:00
Rémi Verschelde cf941fdc35 Merge pull request #11026 from hpvb/fix-assign-in-if
Remove assignment and declarations in if statements
2017-09-12 11:57:49 +02:00
Rémi Verschelde 3941e01a57 Merge pull request #11041 from hpvb/fix-clang-format-error
Fix serveral recent new clang-format errors

[ci skip]
2017-09-12 11:16:36 +02:00
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
Juan Linietsky b3cda43a0f Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
	platform/windows/detect.py
2015-10-13 01:19:32 -03:00
Juan Linietsky c858515785 Fixed theora playback. Removed theoraplayer.
Still need to get proper audio output latency in some platforms.
2015-09-26 14:50:42 -03:00
Juan Linietsky 9962518ffd Merge branch 'master' of https://github.com/okamstudio/godot 2015-09-24 18:07:13 -03:00
Juan Linietsky 82a3304458 Added ability to set custom mouse cursors. Not hardware accelerated yet. 2015-09-24 18:06:15 -03:00
Juan Linietsky 8f07f24318 remove required argument from streamplayer (was a bug), make it default as 0, closes #2492 2015-09-21 03:47:56 -03:00
Juan Linietsky 83d9a692be Ability to visually debug geometry visually:
-Visible 2D and 3D Shapes, Polygons, Tile collisions, etc.
-Visible Navmesh and Navpoly
-Visible collision contacts for 2D and 3D as a red point
-Customizable colors in project settings
2015-09-20 13:03:46 -03:00
reduz 2580ca01e6 Ability to keep collisionshapes and collisionpolygons when running the game.
Works for 2D and 3D
These are still just helpers in case you want to animate them or access them
directly.
Modifying the real shapes is still done via CollisionObject and CollisionObject2D APIs
But an API was added so you can query which shapes from CollisionObject correspond to which CollisionShape.

Have Fun!
2015-09-15 22:07:03 -03:00
Juan Linietsky 9741374617 Rewrite of the AudioStream API
-Fixes long-standing issues regarding to playing a single stream multiple times simultanteously
-Fixes wrong-looping, starting, caching, etc. Issues resulting from bad original design
-Allows more interesting kinds of streams (stream graphs with streams inside streams!) in the future
2015-09-09 18:50:52 -03:00
Juan Linietsky 2d8866574d Added gravity scale, and linear/angular damp override to 3D physics. 2015-08-30 18:57:17 -03:00
Juan Linietsky 1fecba6b5b -added hints to sprite v/hframes, fixes truncation problem
-removed an error being printed often unnecesarly about missing child
2015-08-29 13:02:56 -03:00
Juan Linietsky 95047562d7 Several performance improvements, mainly in loading and instancing scenes and resources.
A general speedup should be apparent, with even more peformance increase when compiling optimized.

WARNING: Tested and it seems to work, but if something breaks, please report.
2015-06-29 00:29:49 -03:00
Juan Linietsky 89300b70e7 added ability for Area (3D) to detect other areas 2015-06-12 15:52:21 -03:00
Juan Linietsky 5064cc5006 Merge pull request #1932 from Faless/gravity_distance_full
Calculate gravity based on distance from body to gravity point
2015-06-07 00:25:37 -03:00
Juan Linietsky 6974823288 Merge remote-tracking branch 'origin/master'
Conflicts:
	tools/editor/io_plugins/editor_texture_import_plugin.cpp
2015-06-06 10:12:09 -03:00
Juan Linietsky 9acab32daa new file dialog!
-ItemList control for easier lists/thumbnails
-New file dialog, with support for thumbnails, favorites, recent places,
etc
-Moved .fscache out of the project, no more bugs due to committed/pulled
.fscache!
-Dir dialog now sorts directories
2015-06-06 09:44:38 -03:00
Juan Linietsky ab99671bb8 -fixes to navigation, so edge-merging is more flexible on conflict
-add tab support to richtextlabel
-some click fixes to audio stream resampled
-ability to import largetextures (dialog)
2015-06-01 19:42:34 -03:00
Juan Linietsky f36e7dcb40 improved animation editor
-same-value link keys
-new layout
-forward, backwards playback
-integrated curve/property editor
-auto increment sprite frame after insert
-copy & paste animation resoucres
2015-05-25 01:47:02 -03:00
Fabio Alessandrelli 590afbcac4 Calculate gravity based on distance from body to gravity point (2D) 2015-05-18 01:32:26 +00:00
Fabio Alessandrelli 473c7222f5 Calculate gravity based on distance from body to gravity point 2015-05-18 01:30:43 +00:00
Juan Linietsky f850f0d9ec Merge pull request #1784 from NateWardawg/sa_fixes
Fixed some items caught in cppcheck
2015-05-03 22:54:02 -03:00
Juan Linietsky 5f2aac4bbe same fixes to 3D navmesh.. 2015-05-02 17:39:29 -03:00
Nathan Warden 6212946927 Fixed some items caught in cppcheck 2015-05-02 12:17:59 -05:00
Juan Linietsky c08597aa64 -fix a bug in extra cull margin, closes #1760 2015-05-01 11:26:23 -03:00
Juan Linietsky 4804462ee0 -Fixes from source code analyzizer, closes #1768 2015-05-01 10:44:08 -03:00
Juan Linietsky 98c086edaf -fix forced texture repeat in Polygon2D, now depends on texture.
-added a new function, Camera::is_position_behind to aid to unproject(), fixes #1725
2015-04-28 22:05:01 -03:00
Juan Linietsky 79d5b7f258 -fixed bodyenter/bodyexit callback of physics bodies, fixes #1739 2015-04-26 17:46:20 -03:00
Juan Linietsky 7648088fca ability to get closest owner to point, for navigation and navigation2d 2015-04-21 16:47:49 -03:00
Juan Linietsky fdaa2920eb Updated copyright year in all headers 2015-04-18 14:38:54 -03:00
Juan Linietsky b307ee79a1 Merge pull request #1574 from UsernameIsAReservedWord/fix_3d_spot_attenuation
fixes_3d_spot_attenuation
2015-04-07 20:16:00 -03:00
Juan Linietsky 1572238adb merging okam changes 2015-04-02 07:22:17 -03:00
yg2f 103ab3bd1a fixes_3d_spot_attenuation 2015-03-25 16:27:55 +01:00
Juan Linietsky 78694d8542 gui in 3D demo now uses area for input 2015-03-22 11:52:07 -03:00
Juan Linietsky a93e33f5c8 added spatial and node2d helper methods
to perform operations such as translaiton, rotation, etc directly on
nodes.
2015-03-22 10:33:58 -03:00
Juan Linietsky a1f715a4da support for 2D shadow casters
Added support for 2D shadow casters.

*DANGER* Shaders in CanvasItem CHANGED, if you are using shader in a
CanvasItem and pull this, you will lose them. Shaders now work through a
2D material system similar to 3D. If you don't want to lose the 2D
shader code, save the shader as a .shd, then create a material in
CanvasItem and re-assign the shader.
2015-03-02 00:54:43 -03:00
jaromirhribal 79e330c33e fixed math in Camera::project_position 2015-01-31 18:02:49 +01:00
Juan Linietsky 2ef5a342e3 -begin work on unidirectional collision detection
-fixed performance issue in new 2D engine
-texscreen() working in shader 2D
2015-01-13 10:49:26 -03:00
Juan Linietsky ddf7457894 Merge branch 'master' of https://github.com/okamstudio/godot 2015-01-03 16:53:39 -03:00
Juan Linietsky fbdd925d9b -Work in progress visual shader editor *DOES NOT WORK YET* 2015-01-03 16:52:37 -03:00
Juan Linietsky cef3bd026f -fixed issue with denormals in half precission, closes #1073
-added h_offset and v_offset to 3D Camera, should allow to do the same as in #1102
2015-01-03 11:06:53 -03:00
Juan Linietsky ed8e70243f -refresh play options in property when setting samplelibrary (#1016) 2015-01-02 14:32:05 -03:00
Juan Linietsky bbaddfa70f -fixed silly bug in trigger check (#1051) 2015-01-02 13:30:59 -03:00
Juan Linietsky aa36be3c9a -typo fixed in ImmediateGeometry (#1066) 2015-01-02 13:21:07 -03:00
Juan Linietsky 2e08e11120 -fixed signal in #1075 2015-01-02 13:08:28 -03:00
Juan Linietsky a36a774897 Fixes
-=-=-=

-Added missing quaternion constructor
-code completion fixes
-winrt fixes
2014-12-20 15:30:06 -03:00
Juan Linietsky 6851f9bfae Small Fixes
-=-=-=-=-=-

-Bug in navmesh demo fixed
-Bug in variant
-Better Collada Exporter supports proper names of exported shapekeys
2014-12-08 15:47:45 -03:00
Juan Linietsky c79be979d4 Batch of Bugfixes
-=-=-=-=-=-=-=-=-

-Fixed Export UV XForm (should work now). #923
-Fixed enforcement of limits in property editor. #919
-Fixed long-standing bug of export editings in script inheritance. #914, #859, #756
-Fixed horrible error reporting in shader language. #912
-Added kinematic collision with plane (please test well). #911
-Fixed double animation track insert when using 2D rigs. #904
-VKey updates offset parameter in sprite edition. #901
-Do not allow anymore a script to preload itself. (does not fix #899, but narrows it down)
-Avoid connection editor from overriding selected text. #897
-Fixed timer autostart. #876
-Fixed collision layers in 3D physics. #872
-Improved operators in shader #857
-Fixed ambient lighting bug #834
-Avoid editor from processing gamepad input #813
-Added not keyword #752

Please test!
2014-12-07 02:04:20 -03:00
Juan Linietsky d5cb758d36 NavMesh
-=-=-=-

-Fixed NavMesh API
-New NavMesh demo
-Support for animated Particles2D
-Fixes for native video playback on iOS
2014-11-17 07:46:11 -03:00
Juan Linietsky abbea4d945 UDP Fixes
-=-=-=-=-

Curse the day I decided to port UDP code, as it ended up
being two nights of work.  At least It's done now (I hope).

-Fixed UDP Support, API seems stable
-Added UDP Chat demo (chat that can lose your packets, heh)
-Added helpers to areas and bodies to get list of collided bodies and contained bodies.
-Sped up screen/viewport capture code.
-Added code to save an image as PNG
-Small fix so scripts register their singletons after modules did.
2014-11-13 00:53:12 -03:00
Juan Linietsky 0dbedd18fc SceneMainLoop -> SceneTree
-=-=-=-=-=-=-=-=-=-=-=-=-=-

*YOUR SOURCE MIGHT NOT WORK*
For mor information on fix:
https://github.com/okamstudio/godot/wiki/devel_scene_tree

Other stuff:
-Shower of bullets demo
-Fixes all around
2014-11-05 21:20:42 -03:00
Juan Linietsky d85b67be53 Bug Fixes
-=-=-=-=-

-Fixed problem with scaling shapes (#827), related to not taking scale in consideration for calculating the moment of inertia
-Added support for multiline strings (or comments) using """
-Save subscene bug, properties not being saved in root node (#806)
-Fix Crash in CollisionPolygon2DEditor (#814)
-Restored Ability to compile without 3D (#795)
-Fix InterpolatedCamera (#803)
-Fix UV Import for OBJ Meshes (#771)
-Fixed issue with modifier gizmos (#794)
-Fixed CapsuleShape gizmo handle (#50)
-Fixed Import Button (not properly working in 3D) (#733)
-Many misc fixes (though no new features)
2014-11-02 11:31:01 -03:00
Juan Linietsky e82dc40205 -Much improvement to baked light baker
-Fixed many bugs in stretch mode
-Fixes to camera project and unproject as consequence of the above
-added setget to script (documented in script doc)
-more fixes to collada exporter for blender
2014-10-27 22:54:32 -03:00
marynate 3161ceda2f Fix light was alwasy been disabled in release mode (tools=no) 2014-10-16 16:16:24 +08:00
Juan Linietsky 371eac9bef -added custom metadata to physics shapes (2D only for now)
-gizmos are not displayed in camera preview
2014-10-16 00:06:34 -03:00
Juan Linietsky a84ba9c853 Collada
-=-=-=-

-Fixed some DAE import & export bugs
-Changed Collada exporter to use the mesh loops API
-Added tangent export to Collada exporter
-Added triangulation option to Collada exporter
-Changed a little how normalmaps are handled in shader. Not sure if it's working properly, be careful.
-Fixed some strange bug with kinematic bodies #776
-Fix release compilaiton issues #782
2014-10-14 01:01:25 -03:00
Juan Linietsky 948fd83cdd Little Bits
-=-=-=-=-=-

-fix duplicate function bug when creating script callback in editor
-fix bug where hiding lights does not work
-fix 2D audio listener bug (romulox_x reported)
-fix exported properties with inheritance bug
-fix timer autostart (make it not work on editor)
-reactivate first camara found if viewport runs out of active camera
-option to hide gizmos in viewport
-changed skeleton gizmo because it sucks
-Make convex shapes using CollisionShape visible (use quickhull class)
-fix up menu when editing a mesh, to export collision, navmesh, convex, etc. from it.
-make a menu option to show SRGB in 3D editor views by default
-make option to edit default light direction in viewport settings
-make option to edit default ambient light in viewport settings
-make software conversion of linear->RGB if hardware support not found
2014-10-12 02:13:22 -03:00
Juan Linietsky 9142d6fc40 Misc Bits
-=-=-=-=-

-Added more missing icons to nodes.
-Added more 3D split view modes
-Fixed annoying script editor bug with keyboard focus
2014-10-09 00:06:51 -03:00
Juan Linietsky 0fa94a9690 Build System Changes
-=-=-=-=-=-=-=-=-=-=

Build System:
-Big clean up of SCons, changed how builds are done to a much cleaner method (check the Github Wiki for instructions).
-Deactivated BlackBerry10 (sorry), if no mantainer found (or BlackBerry does not send us a Passort ;), platform will be removed as we have no longer devices to test.

Engine:
-Removed deprecated object and scene format (was in there just for compatibility, not in use since a long time).
-Added ability to open scenes even if a node type was removed (will try to guess the closest type).
-Removed deprecated node types.
2014-10-07 01:31:49 -03:00
Juan Linietsky af4a97bef9 missing fils from yesterday comit.
must have made some mistake with git,
not sure why they were not sent..
2014-10-03 08:58:41 -03:00
Juan Linietsky b24fe3dd20 Huge Amount of BugFix
-=-=-=-=-=-=-=-=-=-=-

-Fixes to Collada Exporter (avoid crash situtions)
-Fixed to Collada Importer (Fixed Animation Optimizer Bugs)
-Fixes to RigidBody/RigidBody2D body_enter/body_exit, was buggy
-Fixed ability for RigidBody/RigidBody2D to get contacts reported and bodyin/out in Kinematic mode.
-Added proper trigger support for 3D Physics shapes
-Changed proper value for Z-Offset in OmniLight
-Fixed spot attenuation bug in SpotLight
-Fixed some 3D and 2D spatial soudn bugs related to distance attenuation.
-Fixed bugs in EventPlayer (channels were muted by default)
-Fix in ButtonGroup (get nodes in group are now returned in order)
-Fixed Linear->SRGB Conversion, previous algo sucked, new algo works OK
-Changed SRGB->Linear conversion to use hardware if supported, improves texture quality a lot
-Fixed options for Y-Fov and X-Fov in camera, should be more intuitive.
-Fixed bugs related to viewports and transparency

Huge Amount of New Stuff:
-=-=-=-=-=-=-=-==-=-=-=-

-Ability to manually advance an AnimationPlayer that is inactive (with advance() function)
-More work in WinRT platform
-Added XY normalmap support, imports on this format by default. Reduces normlmap size and enables much nice compression using LATC
-Added Anisotropic filter support to textures, can be specified on import
-Added support for Non-Square, Isometric and Hexagonal tilemaps in TileMap.
-Added Isometric Dungeon demo.
-Added simple hexagonal map demo.
-Added Truck-Town demo. Shows how most types of joints and vehicles are used. Please somebody make a nicer town, this one is too hardcore.
-Added an Object-Picking API to both RigidBody and Area! (and relevant demo)
2014-10-03 00:10:51 -03:00
Juan Linietsky cf04e1a827 -added collision exception to 3D Physics API too 2014-09-22 01:03:56 -03:00
Juan Linietsky 048fdc8aea -variables with export in script are now IMMEDIATELY AND ALWAYS visible in properties (#718)
-WorldEnvironment cleanup issues fixed (#563)
-Text Editor improvement to shift-mouse selection (#648)
-(Hopefully) fixed rare (but horrible) indexing bug in GDScript compiler (#652)
-Some changes to PhysicsBody API, renamed property "active" to "sleeping", which makes more sense
-Added add_collision_exception() API in PhysicsBody (more accessible)
-ability to select and copy in the output messages panel
2014-09-22 00:50:48 -03:00
Juan Linietsky 11a5ed508b Fixed too many little issues, check the issues closed today. 2014-09-21 01:43:42 -03:00
Juan Linietsky 549d344f0f Fixing Issues...
- #672 (default user:// in $HOME/.godot/app_userdata (linux/osx) and $APPDATA/Godot/app_userdata (Windows)
- #676 (draw both tiles and octants in order from top to bottom, left to right )
- #686 (unicode escape sequences work now)
- #702 (was not a bug, but a test was added to see if bodies went too far away)
2014-09-19 18:39:50 -03:00
Juan Linietsky f00f4b9296 CollisionPolygon (3D)
Workaround for round() on PC.
2014-09-16 21:19:54 -03:00
Juan Linietsky 642c63319e Camera Fixes
-=-=-=-=-=-=

-Object Picking and orthogonal camera related functions fixed (i hope)
-Going to preview mode in the camera shows a frame with the correct game aspect ratio
-Changed Camera API and properties a little t make it more straightforward
-Fixed bug in shader compiler.

-Fixed bug in ShaderGL
2014-09-15 20:06:37 -03:00
Juan Linietsky 8cab401d08 3D Physics Rework, Other Stuff
-=-=-=-=-=-=-=-=-=-=-=-=-=-

3D Physics:
-Fixed "Bounce" parameter in 3D
-Fixed bug affecting Area (sometims it would not detect properly)
-Vehicle Body has seen heavy work
-Added Query API for doing space queries in 3D. Needs some docs though.
-Added JOINTS! Adapted Bullet Joints: and created easy gizmos for setting them up:
   -PinJoint
   -HingeJoint (with motor)
   -SliderJoint
   -ConeTwistJoint
   -Generic6DOFJoint
-Added OBJECT PICKING! based on the new query API. Any physics object now (Area or Body) has the following signals and virtual functions:
    -input_event (mouse or multitouch input over the body)
    -mouse_enter (mouse entered the body area)
    -mouse_exit (mouse exited body area)
   For Area it needs to be activated manually, as it isn't by default (ray goes thru).

Other:

-Begun working on Windows 8 (RT) port. Compiles but does not work yet.
-Added TheoraPlayer library for improved to-texture and portable video support.
-Fixed a few bugs in the renderer, collada importer, collada exporter, etc.
2014-09-15 11:33:30 -03:00
Juan Linietsky 1a2cb755e2 3D Physics and Other Stuff
-=-=-=-=-=-=-=-=-=-=-=-=-=

-New Vehicle (Based on Bullet's RaycastVehicle) - Vehiclebody/VehicleWheel. Demo will come soon, old vehicle (CarBody) will go away soon too.
-A lot of fixes to the 3D physics engine
-Added KinematicBody with demo
-Fixed the space query API for 2D (demo will come soon). 3D is WIP.
-Fixed long-standing bug with body_enter/body_exit for Area and Area2D
-Performance variables now includes physics (active bodies, collision pairs and islands)
-Ability to see what's inside of instanced scenes!
-Fixed Blend Shapes (no bs+skeleton yet)
-Added an Android JavaClassWrapper singleton for using Android native classes directly from GDScript. This is very Alpha!
2014-09-02 23:13:40 -03:00
Juan Linietsky 2ee4ac183b Little Bits
-=-=-=-=-=-

-Fixed small bugs all around
-Added ability to show/hide entire sections of the spatial (3D) tree
-WIP new vehicle (not ready yet) based on Bullet
2014-08-14 10:31:38 -03:00
Juan Linietsky 678948068b Small Issues & Maintenance
-=-=-=-=-=-=-=-=-=-=-=-=-=

-Begin work on Navigation Meshes (simple pathfinding for now, will improve soon)
-More doc on theme overriding
-Upgraded OpenSSL to version without bugs
-Misc bugfixes
2014-08-01 22:10:38 -03:00
Juan Linietsky 2af2a84a03 Misc Fixes
==========

-NOTIFICATION_WM_QUIT fixed on android (seems tha way this is reported changed in newer sdk)
-WIP implementation of APK Expansion APIs for publishing games larger than 50mb in Play Store
-Feaures in the new tutorials are all present in the sourcecode
-This (hopefully) should get rid of the animation list order getting corrupted
-Improved 3D Scene Importer (Skeletons, Animations and other stuff were not being merged). Anything missing?
-In code editor, the automatic syntax checker will only use file_exists() to check preload() else it might freeze the editor too much while typing if the preload is a big resource
-Fixed bugs in PolygonPathFinder, stil pending to do a node and a demo
2014-06-27 23:21:45 -03:00
Juan Linietsky e086bccd63 Import 3D Scene Improvements
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

-If re-importing from the "dependency changed" dialog, edited scene will keep the local changes.
-Imported scene will keep track of changes in the source asset
-Geometry changes in source geometry or nodes with a different transform will be updated.
-Materials will be kept if changed locally.
-New nodes added will be kept
-If nodes were reparented or renamed, they will still keep track
-Deleted notes will be restored, use the -noimp option to avoid this.
-In general, you can trust that if you do local modifications to the imported scene, they will not be erased after re-import.
-Erasing your changes is done by re-importing from the "Re-Import" menu, re-opening the "Import 3D Scene" dialog. This wil re-import fresh.

Overall, This should allow you to work on a scene and see changes made to 3D assets in real-time.

So Please test!!
2014-06-19 02:23:03 -03:00
Juan Linietsky 703004f830 More 3D Work
-=-=-=-=-=-

-ESM Shadow Mapping for softer and less glitchy shadows
-HDR Pipeline (convert to Linear on texture import, convert to SRGB at the end)
-Fix to xml parse bug
2014-06-16 10:22:26 -03:00
Juan Linietsky 9b8696d3dd Light Baker!
-=-=-=-=-=-=

-Support for lightmap baker, have fun figuring out how it works before tutorial is published.
2014-06-11 10:41:03 -03:00
Juan Linietsky 6f0b4678e2 More 3D Improvements
-=-=-=-=-=-=-=-=-=-=

-Sprite3D and AnimatedSprite3D support.
-Opaque pre-pass works, is compatible with shadows
-Improved shadow map rendering (can differentiate between plain opaque and opaque with shaders/discard/etc)
-Added option to use alpha discard in FixedMaterial
-Improved Glow FX, many more options (three modes, Additive, Screen and SoftLight), strength and scale
-Ability for Background (image or cubemap) to send to glow buffer
-Dumb Deploy of clients now actually works in Android
-Many Many rendering fixes, 3D is much more usable now.
2014-05-29 10:56:39 -03:00
reduz 91e88f4b96 Merge pull request #413 from marynate/PR-decouple-skeleton-mesh
Add 'mesh/skeleton' property to MeshInstance
2014-05-20 20:45:57 -03:00
Juan Linietsky b324ff7ea5 A bit of everything:
-IMA-ADPCM support for samples, this means that sound effects can be compressed and use 4 timess less RAM.
-New 3D import workflow based on Wavefront OBJ. Import single objects as mesh resources instead of full scenes. Many people prefers to work this way. Just like the rest of the imported resources, these are updated in realtime if modified externally.
-Mesh resources now support naming surfaces. This helps reimporting to identify which user-created materials must be kept.
-Several fixes and improvements to SurfaceTool.
-Anti Aliasing added to WorldEnvironment effects (using FXAA)
-2D Physics bodies (RigidBody, KinematicBody, etc), Raycasts, Tilemap, etc support collision layers. This makes easy to group which objects collide against which.
-2D Trigger shapes can now also trigger collision reporting in other 2D bodies (it used to be in Area2D before)
-Viewport render target textures can now be filtered.
-Few fixes in GDscript make it easier to work with static functions and class members.
-Several and many bugfixes.
2014-05-14 01:22:15 -03:00
marynate 7eb86f2fbc Add 'mesh/skeleton' property to MeshInstance to decouple mesh->skeleton from child parent constraint 2014-05-13 13:25:24 +08:00
Juan Linietsky 72ae89c5aa Lots of 3D improvements:
-Object Manipulator Gizmo keeps proper scale in all windows and projections, (configurable on settings too).
-Manipulator gizmos for other objects (camera, shapes, etc) massively improved and bug-fixed.
-Manipulator gizmos are different for edited object and other objects.
-Properly highlight manipulator gizmo handles when hovered.
-Fixed bugs in fragment program when using more than 1 light together.
-Reload png/jpg files automatically in editor if edited externally.
-Added 4-stages Parallel Split Shadow Mapping, to improve shadow quality in large scenarios
-Added PCF13 to improve smoothness of shadow borders
-General optimization of directional light shadow mapping for Orthogonal,PSM and PSSM.
-Fixed normal mapping when importing DAE files, works nicely now.
2014-05-04 22:50:23 -03:00
Juan Linietsky 7ea3e8267a -Fixed a few bugs in Viewport
-Made a few demos using Viewport to show it's true power!
-Fixed some start-up error messages.
2014-04-10 00:18:27 -03:00
Juan Linietsky 51609ffc04 -fixed bug importing skeletons 2014-02-23 10:35:05 -03:00
Juan Linietsky d7d65fa2f2 -improved physics ccd
-html5 exporter works again
-disable repeat on image loader by default
-can change shape offset en tileset, texture offset was broken
2014-02-19 11:57:14 -03:00
Juan Linietsky 0b806ee0fc GODOT IS OPEN SOURCE 2014-02-09 22:10:30 -03:00