summaryrefslogtreecommitdiff
path: root/scene/2d
AgeCommit message (Collapse)Author
2020-10-28Implement CanvasGroup and CanvasItem clippingreduz
-Allows merging several 2D objects into a single draw operation -Use current node to clip children nodes -Further fixes to Vulkan barriers -Changed font texture generation to white, fixes dark eges when blurred -Other small misc fixes to backbuffer code.
2020-10-27fix(sprite2d): Rect is not handling pixel snapEric Tuvesson
related https://github.com/godotengine/godot/issues/42985
2020-10-26Merge pull request #43075 from Xrayez/color-ramp-to-gradientRémi Verschelde
Fixup `ColorRamp` to `Gradient` renames
2020-10-25Fixup `ColorRamp` to `Gradient` renamesAndrii Doroshenko (Xrayez)
2020-10-24Refactored 2D shader and lighting systemreduz
-Removed normal/specular properties from nodes -Create CanvasTexture, which can contain normal/specular channels -Refactored, optimized and simplified 2D shaders -Use atlas for light textures. -Use a shadow atlas for shadow textures. -Use both items aboves to make light rendering stateless (faster). -Reorganized uniform sets for more efficiency.
2020-10-18Refactor MethodBind to use variadic templatesreduz
Removed make_binders and the old style generated binders.
2020-10-13Remove old RigidBody layers property and methods.Marcel Admiraal
2020-10-02Remove area or body from map before emitting signals.Marcel Admiraal
2020-10-02Better validate CollisionShape3D config. warning after #38743Rémi Verschelde
Relates to #42479, though I don't think it would crash in the master version.
2020-10-01Merge pull request #38743 from arrowinaknee/node-config-warningsRémi Verschelde
Update all get_configuration_warning() to retrieve warnings from the parent
2020-09-24Merge pull request #41934 from timothyqiu/parallax-ignore-zoomRémi Verschelde
Fixes ParallaxLayer offset when camera zoom is ignored
2020-09-23Fixes updating CPUParticles emmision shape valuesbooer
2020-09-12TileMap: Set texture_filter and texture_repeat to generated CanvasItems and ↵Mateo Dev .59
update when it changes
2020-09-10Rename RayCast's `cast_to` property to `target_position`Hugo Locurcio
`cast_to` is sometimes mistaken as a method rather than a property. `target_position` makes it more obvious that it's a property.
2020-09-10Fixes ParallaxLayer offset when ignore camera zoomHaoyu Qiu
2020-08-31Reorder sprite h_frames & v_framesJonathan Vice
2020-08-27Merge pull request #40302 from verdog/camera-bounds-fixRémi Verschelde
Fix Camera2D Incorrect Preview Bounds
2020-08-09Fix 2D Particle velocity with directed emission maskPouleyKetchoupp
Changed CPU velocity calculation for EMISSION_SHAPE_DIRECTED_POINTS to follow the same logic as in the GPU version: mat2 rotm; rotm[0] = texelFetch(emission_texture_normal, emission_tex_ofs, 0).xy; rotm[1] = rotm[0].yx * vec2(1.0, -1.0); VELOCITY.xy = rotm * VELOCITY.xy; Now both CPUParticles2D & CPUParticles3D (z disabled) show the same results as their GPU counterparts and take the initial velocity settings into account.
2020-07-18fixed camera2D showing incorrect bounds in editorJosh Chandler
2020-07-11Revert "Merge pull request #38341 from verdog/camera-bounds-fix"Rémi Verschelde
This reverts commit 08bbb3f161bfb4860d7574fa77b947872d344e7e.
2020-07-10Merge pull request #40253 from madmiraal/add-override-keywordsRémi Verschelde
Add override keywords.
2020-07-10Merge pull request #38341 from verdog/camera-bounds-fixRémi Verschelde
Fix Camera2D incorrect preview bounds
2020-07-10Add override keywords.Marcel Admiraal
2020-07-03Provide warning when using polygon shapes in `CollisionShape2D` nodeAndrii Doroshenko (Xrayez)
`ConvexPolygonShape2D` and `ConcavePolygonShape2D` are only meant to be used directly in code and not in the editor for physics-based use cases specifically. Developers are advised to use `CollisionPolygon2D` instead, which does generate those shapes under the hood, handling polygon convexivity, proper orientation etc.
2020-07-02Merge pull request #37350 from aaronfranke/force-impulseRémi Verschelde
Refactor physics force and impulse code to use (force, position) order
2020-07-01Merge pull request #36307 from Xrayez/raycast-enabled-trueRémi Verschelde
Enable raycast nodes by default
2020-06-16Normalise p_up_direction vector in move_and_slide() andMarcel Admiraal
move_and_slide_with_snap() and fix tolerance in move_and_slide_with_snap() max floor angle.
2020-06-15Fix bad position in Camera2D offset and camera rotation if smothing enabled.Ranoller
Fix https://github.com/godotengine/godot/issues/16323 in master. Apply same solution of https://github.com/godotengine/godot/issues/2074 in rotation and offset.
2020-06-12Object: Add usage hint to instantiate Object properties in editorRémi Verschelde
Fixes #36372 as Path2D/Path3D's `curve` property no longer uses a Curve instance as default value, but instead it gets a (unique) default Curve instance when created through the editor (CreateDialog). ClassDB gets a sanity check to ensure that we don't do the same mistake for other properties in the future, but instead use the dedicated property usage hint. Fixes #36372. Fixes #36650. Supersedes #36644 and #36656. Co-authored-by: Thakee Nathees <thakeenathees@gmail.com> Co-authored-by: simpuid <utkarsh.email@yahoo.com>
2020-06-04Correct misspellings of damped spring.Marcel Admiraal
2020-06-02Refactor physics force and impulse codeAaron Franke
2020-05-27Enable raycast nodes by defaultAndrii Doroshenko (Xrayez)
2020-05-27Split `Geometry` singleton into `Geometry2D` and `Geometry3D`Andrii Doroshenko (Xrayez)
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-16Update all get_configuration_warning to retrieve warnings from the parentArrowInAKnee
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-14Enforce use of bool literals instead of integersRémi Verschelde
Using clang-tidy's `modernize-use-bool-literals`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-05-11Merge pull request #38635 from Calinou/tilemap-rename-ysort-indexRémi Verschelde
Rename various TileMap methods/properties for clarity and consistency
2020-05-11Merge pull request #31938 from KoBeWi/a_welcome_lagRémi Verschelde
Fix VisibilityEnabler2D behavior on start
2020-05-10Rename various TileMap methods/properties for clarity and consistencyHugo Locurcio
The YSort renames were tracked in https://github.com/godotengine/godot/issues/16863. This closes https://github.com/godotengine/godot-proposals/issues/814.
2020-05-10Style: clang-format: Disable AllowShortIfStatementsOnASingleLineRémi Verschelde
Part of #33027, also discussed in #29848. Enforcing the use of brackets even on single line statements would be preferred, but `clang-format` doesn't have this functionality yet.
2020-05-08Fix VisibilityEnabler2D behavior on startTomasz Chabora
2020-05-07GUI: Touch screen button click area now is synced with its drawMateo Kuruk Miccino
(cherry picked from commit 1cba7fb1804c35917c075e323b6d303f5a900df6)
2020-05-04Merge pull request #38446 from qarmin/navigation_polygon_typeRémi Verschelde
Fixes type of array in _set_outlines function
2020-05-04Fixes type of array in _set_outlines functionqarmin
2020-05-03Merge pull request #38394 from reduz/implement-skewRémi Verschelde
Implement Skew in Node2D
2020-05-03Fix performance issue in update_bitmask_region fallbackThomas Riedmair
2020-05-01Implement Skew in Node2DJuan Linietsky
Skew is x-axis only, because it must be bidirectionally convertible to a 2x3 matrix, but you can subtract it to the rotation to get the effect on y-axis