summaryrefslogtreecommitdiff
path: root/scene/2d/animated_sprite_2d.cpp
AgeCommit message (Collapse)Author
2023-01-05Merge pull request #65609 from dalexeev/animated-spriteRémi Verschelde
`AnimatedSprite{2D,3D}` improvements
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05`AnimatedSprite{2D,3D}` improvementsDanil Alexeev
* Add support for individual frame duration to `SpriteFrames`. * Various minor improvements.
2022-09-19Change return type of `get_configuration_warnings` to `PackedStringArray`Marc Gilleron
2022-09-18Fix outdated warning in AnimatedSprite2DMicky
2022-09-16Merge pull request #65148 from Mickeon/animated-sprite-negative-speed-scaleRémi Verschelde
Allow negative `speed_scale` in AnimatedSprite2D & 3D
2022-09-13Allow negative `speed_scale` in AnimatedSprite2D & 3DMicky
If the `speed_scale` is set to a negative value, the animation plays in reverse. The second parameter of `play()` still reverses as before. if `speed_scale` and the second parameter of `play()` is true, the animation plays forward. Also updates the documentation to better describe the pausing and playing behaviour.
2022-09-12Don't store frame of playing AnimatedSpritekobewi
2022-09-09Harmonise AnimatedSprite3D and its 2D counterpartMicky
Add the following properties to AnimatedSprite3D: - `backwards` parameter in `play()`; - `speed_scale`. Both classes' internals are more similar, down to the line spacings. They've also been updated to be clearer and less inconsistent (e.g. `!frames.is_valid()` -> `frames.is_null()`, use SceneStringNames instead of CoreStringNames, rename the internal _queue_update to _queue_redraw)
2022-08-29Rename `CanvasItem.update()` to `queue_redraw()`Micky
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on. Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency. Just a few comments have also been changed to say "redraw". In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-26Fix AnimatedSprite2D & 3D animation list in inspectorjmb462
2022-08-22Make `_validate_property` a multilevel methodYuri Sizov
2022-07-03Fix no `hint_string` for `frame` property in `AnimatedSprite`skleonc
2022-05-19Use suffixes for units in nodes and resourcesAaron Franke
2022-05-16Fix AnimatedSprite doesn't emit animation_finished when changing playback ↵Haoyu Qiu
direction
2022-05-05Add autocompletion for AnimatedSprite.play()Haoyu Qiu
2022-03-28String: Remove TTR and DTR defines in non-tools buildRémi Verschelde
This ensures we don't use TTR in runtime code, as it's specifically meant to source translations for the editor.
2022-02-28Fix AnimatedSprite infinite loopHaoyu Qiu
2022-02-15Use `switch` consistently in `_notification` (`scene` folder)Rémi Verschelde
2022-02-02Vectors: Use clear() and has().Anilforextra
Use clear() instead of resize(0). Use has() instead of "find(p_val) != -1".
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-10Merge pull request #51235 from AnilBK/awkward-funcsRémi Verschelde
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-12-08Fix _validate_property on AnimatedSprite 2D and 3DJonathan Gollnick
2021-10-03Fix rendering centered odd-size texture in AnimatedSprite2D/AnimatedSprite3Dkleonc
2021-08-13Fix some unnecessary includesAaron Franke
2021-08-09Use doubles for time in many other placesAaron Franke
2021-08-04Fixed awkwardly named AnimatedSprite Setters.Anilforextra
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-04-11Use Array for node configuration warningsNathan Franke
Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
2021-04-05Re-allow playing AnimatedSprite2D without framesRémi Verschelde
Fixes #47578, partial revert of #47064.
2021-03-17Fix crash on calling play() in a uninitialized AnimatedSprite2Djmb462
When AnimatedSprite2D::play() was called before SpriteFrames has been initialized, a crach occurred (issue #46013). Modification : An error message on null check test has been added to prevent crash. Fix #46013.
2021-03-16Move SpriteFrames to its own file in the resources folderAaron Franke
2021-02-10Removed _change_notifyreduz
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-07Initialize class variables with default values in scene/ [1/2]Rafał Mikrut
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-10-30Refactor pixel snapping.reduz
-Rename pixel_snap to snap_2d_to_vertices -Added snap_2d_to_transforms which is more useful Fixes #41814 Solves proposal https://github.com/godotengine/godot-proposals/issues/1666 Supersedes #35606, supersedes #41535, supersedes #41534
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-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-04-02Replace NULL with nullptrlupoDharkael
2020-03-27Renamed 2D and 3D nodes to make their types explicitJuan Linietsky
Fixes #30736.