Commit graph

178 commits

Author SHA1 Message Date
Juan Linietsky 9df77d2765 ability to run 2D physics in a thread
also, 2D physics is now thread safe too.
see physics_2d/thread_model
2015-05-26 01:06:05 -03:00
Juan Linietsky 1e50677594 fixes on sample importing 2015-05-19 23:37:04 -03:00
Juan Linietsky e323cc0505 -Rename unexisting by nonexistant, closes #1940
-Added function to retrieve list of actions fron InputMap
2015-05-18 10:20:54 -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 bbe9a37f1d sleeping property now should work properly, fixes #1892 2015-05-16 17:54:36 -03:00
Juan Linietsky 32b1b472af -improved one-way collision handling in both dynamic and character bodies for 2D, fixes #1854 2015-05-10 19:24:09 -03:00
ehriche 897a1aade5 optional formal changes 2015-05-06 01:22:31 +02:00
ehriche 670d77813f PhysicsServerSW::body_is_shape_set_as_trigger - missing return statement 2015-05-06 00:41:41 +02:00
Juan Linietsky e7aa37fe75 improved kinematic motion, improved demos for kinematic motion 2015-05-03 22:37:10 -03:00
Juan Linietsky 767f71a35e -Made one way collision work with 2D physics (rigidbody) 2015-05-03 18:18:21 -03:00
Juan Linietsky af06843982 -new collision layer & mask system for 2D, for more flexible collision masking 2015-05-03 16:47:21 -03:00
Juan Linietsky 4804462ee0 -Fixes from source code analyzizer, closes #1768 2015-05-01 10:44:08 -03:00
Juan Linietsky 5c6b31c024 -fixed broken lighting in release version of godot for isometric light demo, fixes #1697 2015-04-30 11:34:24 -03:00
Juan Linietsky 0adca0a7c9 -made normalmaps easier in 2D, fixes #1467 2015-04-27 08:11:54 -03:00
Juan Linietsky 3bcb930e8a properly wake up bodies when a parameter changes, fixes #1740 2015-04-26 16:20:00 -03:00
Juan Linietsky 81f36b768d fixes crash related to empty concavecollisionshape, fixes #1709 2015-04-26 13:03:01 -03:00
Juan Linietsky 972af0b0cb -Fixed shader commets, /* */ works well and crash is solved, fixes #1711 2015-04-26 12:34:42 -03:00
Juan Linietsky ec00cd5c41 -Resolved light clipping issue due to wrong global rect cache, fixes #1722 2015-04-25 10:32:34 -03:00
Juan Linietsky f971ae32e1 casting line into physics on negative space now works properly, fixes #1726 2015-04-24 22:41:31 -03:00
Juan Linietsky 59154cccf9 -Changed Godot exit to be clean.
-Added more debug information on memory cleanliness on exit (if run with -v)
-Fixed several memory leaks, fixes #1731, fixes #755
2015-04-20 19:38:02 -03:00
Juan Linietsky 28c4afeb57 -Rewritten KinematicBody2D::move to MUCH more efficient code.
-KinematicBody2D::move now properly recognizes collision exceptions and masks, fixes #1649
-Removed object type masking for KinematicBody2D
-Added a test_motion() function to RigidBody2D, allowing simlar behavior to KinematicBody2D::move there.
2015-04-19 20:50:55 -03:00
Juan Linietsky 170a9349d2 Merge branch 'master' of https://github.com/okamstudio/godot 2015-04-18 16:18:59 -03:00
Juan Linietsky 4661a6e126 -try to avoid errors when path using ".." is present in script include, fixes #1703 2015-04-18 16:17:33 -03:00
Juan Linietsky f92a1fd646 Merge pull request #1691 from Faless/area_combine_2d
Implement Area2D space_override_mode = COMBINE
2015-04-18 14:44:59 -03:00
Juan Linietsky fdaa2920eb Updated copyright year in all headers 2015-04-18 14:38:54 -03:00
Fabio Alessandrelli e1bfbcfd42 Fix operator definition for AreaCMP 2015-04-14 16:46:52 +00:00
Fabio Alessandrelli bad445066c Implement Area2D space_override_mode combine 2015-04-14 16:33:52 +00:00
Juan Linietsky 3e20391bf6 -Changed bootsplash option to use a file, fixes #1539
-Added OS.get_splash_tick_msec() to query when splash appeared
2015-04-12 17:55:01 -03:00
Juan Linietsky d148a03848 -Fixes bug in ShaderGraph material, when uniform property is not used, fixes #1634 and #1610 2015-04-09 00:29:21 -03:00
Juan Linietsky 219fce737c Merge pull request #1564 from Faless/area_combine-1
Implement combine mode for area
2015-04-07 20:21:11 -03:00
Juan Linietsky 9fa1698c74 Changes to Light
-=-=-=-=-=-=-=-=

-Changed material unshaded property for an enum, which supports light-only shading
-Added a "Mix" shading mode, useful for using lights as masks
-Added energy parameter to Light2D
2015-04-03 01:43:37 -03:00
Juan Linietsky 68e42f53ba Beta1 Attempt #1
-=-==-=-=-=-=-=-

-Small fixes in canvas item light shader
-Fixed compilation in server target
-Export for Android makes 32 bits display as default
-changed version to 1.1beta1
2015-04-02 12:59:23 -03:00
Juan Linietsky 7fc4059b13 read depth fixes 2015-03-31 17:57:16 -03:00
Fabio Alessandrelli 600bae34bd Re-sort Area array during integration step 2015-03-24 18:46:26 +00:00
Fabio Alessandrelli 18a1403fcf Implement combine mode for area 2015-03-24 18:46:26 +00:00
Fabio Alessandrelli 4b3b5eba86 Use Vector for storing areas 2015-03-24 18:46:26 +00:00
Juan Linietsky e9f94ce8d2 fix area center of gravity 2015-03-22 15:11:36 -03:00
Juan Linietsky f706e3e5d1 Merge pull request #1380 from ElectricSolstice/wparentheses_removal
Changed code to remove gcc -Wparentheses warnings.
2015-03-22 15:05:47 -03:00
Juan Linietsky c2d975582c Merge pull request #1446 from UsernameIsAReservedWord/fixes_kinematicbody_move_crash
should fixes #1284 (KinematicBody .move() crash)
2015-03-22 14:56:30 -03:00
Juan Linietsky dac2017dee fixes/cleans up
-input now correctly works when using viewport scaling
-added function to get areas/bodies in given point
-added function to get space state directly from world
2015-03-22 09:40:26 -03:00
Juan Linietsky c6c72a3c37 input events on Area2D is now supported
also added a demo showing how this works
2015-03-22 01:46:18 -03:00
Juan Linietsky acc6f3b285 signed distance field font support 2015-03-21 00:43:33 -03:00
Juan Linietsky a969e2e6f1 Area2D can now detect overlap with other areas
this should make everything simpler, specially for newcomers to Godot
2015-03-17 00:45:25 -03:00
Juan Linietsky 53e1694e1e New option to send canvas to render buffer
allows to use 3D environment effects for post processing such as Glow,
Bloom, HDR, etc. in 2D.
2015-03-16 01:14:59 -03:00
Juan Linietsky 650e13f3cd back buffer copy node, to improve on texscreen()
back buffer copy node and respective demo
2015-03-12 01:05:50 -03:00
Juan Linietsky a6f96f46b7 small optimizations to isometric light demo
should work faster, and even faster if exported.. as textures have been
optimized.
2015-03-10 21:05:49 -03:00
Juan Linietsky 91744e9ed3 New Demo, Screen Space Shaders
-Fixes to screen space shaders.
-Fixes to isometric light demo.
2015-03-10 00:53:50 -03:00
Juan Linietsky 09489e3a78 lot of work on 2D lighting and isometric maps
added a new demo, isometric_light that does full isometric sorting,
lights, shadows, etc.
2015-03-09 02:34:56 -03:00
Juan Linietsky 2c2894ceb6 Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
	modules/gdscript/gd_tokenizer.cpp
	scene/resources/shader_graph.h
2015-03-03 14:41:36 -03:00
Juan Linietsky 4d2198110b merges from okam repo 2015-03-03 14:39:13 -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
UsernameIsAReservedWord 69cf996ce6 should fixes #1284
I could reproduce the crash described in #1284 only with 32bits versions of godot.

The test scene contains a Plane collision shape, and a kinematicsbody with a Sphere collision shape.
 
The crash occurs into `CollisionSolverSW::solve_distance_plane()` on line 299 when `p_shape_A` is a `PlaneShapeSW` object and when `p_shape_B` is a `MotionShapeSW` object, because `int support_count;` is not initialized by default, and because `MotionShapeSW::get_supports()` does not change `support_count` once passed as referenced parameter, and if the default value of `support_count` is greater than the length of `supports[16]`.

I don't know if it is the good way to fix it because i'm not skilled ennough with the physics server inner working, but this fix prevents the crash and the test-scene seems to work correctly.
2015-02-26 19:27:32 +01:00
romulox_x 2ac767b1f5 changed viewport clearing to use the alpha value of the clear color, and made the transparent bg option of viewport force a clear color of 0,0,0,0 2015-02-21 13:57:12 -08:00
Juan Linietsky 1d7337ba10 Merge pull request #1369 from not-surt/tile_rotation
Tile Rotation
2015-02-21 15:37:02 -03:00
romulox_x f4312a5076 added option to disable automatic clearing of viewport render buffer 2015-02-21 01:35:06 -08:00
Juan Linietsky 3fdf3d8eab -fix compilation of godot server 2015-02-19 11:54:03 -03:00
Juan Linietsky 5ef3f7392f support for light and normal mapping in 2D 2015-02-18 19:40:02 -03:00
ElectricSolstice 0e1f34b49d Changed code to remove gcc -Wparentheses warnings. 2015-02-16 18:58:41 -08:00
reduz 2bea642583 -Some more work on 2D Lights (NOT FUNCTIONAL YET!) 2015-02-16 14:45:11 -03:00
Carl Olsson ee44664b2a Merge branch 'master' of https://github.com/okamstudio/godot 2015-02-02 21:34:47 +10:00
Carl Olsson c5bf43f6eb Working TileMap tile transpose transform. 2015-02-02 21:27:48 +10:00
Juan Linietsky 67d357191f begin work on lighting system for 2D
nothing functional yet, just experimenting with API
2015-01-22 11:07:16 -03:00
Juan Linietsky 11c1756257 Visual Shader Editing for 2D
Editing 2D shaders with visual editor seems to work now.
2015-01-20 20:36:25 -03:00
Juan Linietsky 6f3c09047e -intentional breakage of shader graph to fix issues, existing graphs will be broken, sorry :( 2015-01-18 09:51:11 -03:00
Juan Linietsky 04af74596d -fix shader param names broken issue on code completion
-fix z order issue in new 2D engine
2015-01-14 09:05:33 -03:00
Juan Linietsky 9012cd408e -Add support for one-way collision in 2D (only works for kinematic body so far)
-Solve drawing order bug introduced in previous commit: solves #1214
2015-01-13 21:19:11 -03:00
sanikoyes ffe53061cd Add missing shader function: refract 2015-01-14 00:28:18 +08: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 30d3658110 -fixed issue with shader not being reset on layers, closes #1199
-ability for shader to use parent shader and params, closes #1198
2015-01-12 20:44:02 -03:00
Juan Linietsky 544ce2a1db -Initial working(?) implementation of shaders for 2D. Lighting still not there though.
Check for reference:
https://github.com/okamstudio/godot/wiki/shader
2015-01-12 10:19:09 -03:00
reduz f3dc51fc69 2D shader progress 2015-01-11 20:52:42 -03:00
Juan Linietsky 66afddb3e8 -Initial (untested) implementation of 2D shaders. Probably broken, will be fixed later.
-fixed issue of opacity not working
2015-01-11 11:43:31 -03:00
Juan Linietsky 8997084831 2D Rewrite Step [1]
-=-=-=-=-=-=-=-=-=-

-Moved drawing code to a single function that takes linked list (should make it easier to optimize in the future).
-Implemented Z ordering of 2D nodes. Node2D and those that inherit have a visibility/Z property that affects drawing order (besides the tree order)
-Removed OpenGL ES 1.x support. Good riddance!
2015-01-10 17:35:26 -03:00
Juan Linietsky 78f4b93703 Fixes to GraphEdit:
-Working area is bigger now, solves #1148
-Using Position now works, fixes #1141
-RGB ops now work, fixes #1139
-Missing bindings to GraphEdit and GraphNode added
-Shader Graph Editor Shows errors on cyclic links and missing connections
2015-01-08 00:41:34 -03:00
Juan Linietsky f75ae815d5 -CCD in 3D physics was not working (code was not even there!) re-added, fixes 1067 2015-01-05 23:00:35 -03:00
Juan Linietsky b51f645711 Changes to 2D physics engine
-=-=-=-=-=-=-=-=-=-=-=-=-=-=

-Removed "density" property
-Added instead more flexible "angular damp" and "linear damp"
-Added ability to override angular and linear damp in rigidbody
-Added gravity scale option rigidbody

Test well and iron out bugs, when it works the same will be moved to 3D
2015-01-05 18:37:12 -03:00
Juan Linietsky 8c4dd8de39 -WIP to add proper key swapping according to keyboard layout
-fix with non working removal of collision exception in 3D physics
2015-01-04 21:16:40 -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 f7f197c409 -ability to set default textures in shader (needed for visual shader editing)
-work in progress new graph system (will replace current one)
-crash fix in s3m loader (out of bounds acess)
-fixed vbox overriding of separation (fixes empty line between section tabs)
2014-12-21 11:42:44 -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 6dd8768811 3D Import Import & UDP
-=-=-=-=-=-=-=-=-=-=-

-Animation Import filter support
-Animation Clip import support
-Animation Optimizer Fixes, Improvements and Visibile Options
-Extremely Experimental UDP support.
2014-11-12 11:23:23 -03:00
Juan Linietsky fc676fa6f8 missing files with fixes for shower of bullets 2014-11-06 11:02:40 -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
Gerold31 6532aa627c Fix some more incorrect bindings 2014-10-26 15:07:54 +01:00
Gerold31 79664b42e9 Fix some incorrect bindings in PhysicsServer 2014-10-24 13:57:46 +02: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 cd218b8c09 Fixes
-=-=-

-Fixed normalmap depth parameter
-Fixes to DirAccess on Windows
-Double click on resource dock will open them
-Fixes to doc generator (should make github wiki on class list more up to date)
2014-10-14 19:44:41 -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 0a557f3bf5 - more fixes on #672 on windows
- added #660, but need help on osx, help please I don't have a mac!
- fixed #667 and #668 (eol detection in comments)
- added #670 (hint when using method without () )
2014-09-19 21:01:41 -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 7d6b160a44 fix skeleton AABB computation, addeded shadeless view mode 2014-09-18 00:18:57 -03:00
Juan Linietsky e0ce701c8c More Bugfix...
-=-=-=-=-=-==

-Fix bug in camera follow script
-Fix negate operator not working in shader language
-Fix uninitialized pointer in raycast query API
2014-09-17 23:23:42 -03:00
Juan Linietsky 990f6cf50e More Bug Fixes
-=-=-=-=-=-=-

-Fixed a few bugs in Mixer, now playback of chiptunes works great :)
-Changed how visibility AABB generation from skeletons work, it's fully automatic and real-time now, generated from current skeleton pose for the frame.
-Fixed camera in 3D kinematic character demo.
2014-09-17 20:03:10 -03:00