summaryrefslogtreecommitdiff
path: root/scene/3d/sprite_3d.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-12-29Add safety-checks before some servers `free()`Adam Scott
2022-12-14Remove extra range conversion in Sprite3D normal encodingclayjohn
2022-10-25Fix multiple issues with region editorMrBlockers
Make the filter mode of the texture preview match the node/resource being edited where applicable, and nearest neighbor with mipmaps as a fallback. Make the Edit Region button for Sprite3D only appear when region is enabled, to match behavior of Sprite2D. Fix the editor not correctly clearing reference to previously edited resources, resulting in a visual bug displaying the incorrect texture.
2022-10-10Remove incorrect px suffixesRedMser
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-09-20Merge pull request #66064 from kleonc/sprite3d-fix-drawing-with-vertical-marginsRémi Verschelde
`Sprite3D`/`AnimatedSprite3D` Fix drawing `AtlasTexture`s with vertical margins differently than in 2D
2022-09-19Change return type of `get_configuration_warnings` to `PackedStringArray`Marc Gilleron
2022-09-18`SpriteBase3D` Fix drawing AtlasTextures with vertical margins differently ↵kleonc
than in 2D
2022-09-18Move duplicated drawing code from `Sprite3D`/`AnimatedSprite3D` to ↵kleonc
`SpriteBase3D`
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-09-01Merge pull request #64157 from Mickeon/remove-mysterious-is-playingRémi Verschelde
2022-08-26Fix AnimatedSprite2D & 3D animation list in inspectorjmb462
2022-08-22Merge pull request #64339 from YuriSizov/core-multilevel-validate-propertyRémi Verschelde
2022-08-22Make `_validate_property` a multilevel methodYuri Sizov
2022-08-20Octahedral Normal Support for Sprite and Soft BodyOmar El Sheikh
Properly encode the normal and tangent vectors with octahedral compression
2022-08-09Remove AnimatedSprite3D.`is_playing()` for redundancyMicky
Also removes the underscore prefix from `_set_playing()` and `_is_playing()`
2022-08-01Change default material alpha scissor threshold to 0.5Hugo Locurcio
This makes the default behavior consistent between SpriteBase3D, BaseMaterial3D and imported glTF scene materials. Alpha scissor threshold property hints now allows for more precise adjustments as well.
2022-07-03Fix no `hint_string` for `frame` property in `AnimatedSprite`skleonc
2022-06-11Add suffixes to all nodes and resourcesFireForge
2022-05-05Add autocompletion for AnimatedSprite.play()Haoyu Qiu
2022-04-30Expose Label3D and Sprite*3D material render priority properties.bruvzg
2022-04-27Merge pull request #59979 from bruvzg/cpp_check2Rémi Verschelde
2022-04-22Implement Label3D node.bruvzg
Add "generate_mipmap" font import option. Add some missing features to the Sprite3D. Move BiDi override code from Control to TextServer. Add functions to access TextServer font cache textures. Add MSDF related flags and shader to the standard material. Change standard material cache to use HashMap instead of Vector.
2022-04-20Fix more issues found by cppcheck.bruvzg
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-03-10Discern between virtual and abstract class bindingsreduz
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract". * Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions. * Converted a large amount of classes from "abstract" to "virtual" where it makes sense. Most classes that make sense have been converted. Missing: * Physics servers * VideoStream * Script* classes. which will go in a separate PR due to the complexity involved.
2022-02-28Fix AnimatedSprite infinite loopHaoyu Qiu
2022-02-16Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde
Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
2022-02-15Use `switch` consistently in `_notification` (`scene` folder)Rémi Verschelde
2022-01-29simplify formatting scripts, add a clang-tidy script, and run clang-tidyNathan Franke
2022-01-12Merge pull request #55446 from Calinou/spritebase3d-remove-opacityRémi Verschelde
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
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-12-02Merge pull request #53287 from Chaosus/sprite3d_fixRémi Verschelde
2021-11-29Remove redundant SpriteBase3D `opacity` propertyHugo Locurcio
The `opacity` property is superseded by the GeometryInstance3D `transparency` property. It works the opposite way (0.0 is opaque, 1.0 is fully transparent), but provides the same behavior in a more universal manner.
2021-10-25Refactored Node3D rotation modesreduz
* Made the Basis euler orders indexed via enum. * Node3D has a new rotation_order property to choose Euler rotation order. * Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations. The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-03Fix rendering centered odd-size texture in AnimatedSprite2D/AnimatedSprite3Dkleonc
2021-10-01Add `texture_changed` signal to `Sprite3D`Yuri Roubinsky
2021-08-28Merge pull request #43573 from lewiji/masterMax Hilbrunner
sprite_3d.cpp: return _is_playing() from public is_playing() function
2021-08-09Use doubles for time in many other placesAaron Franke
2021-08-03Use real_t in 3D nodesAaron Franke
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-23Node3D gizmo improvementsjfons
* Clean-up of node_3d_editor_plugin.{h,cpp}: removed unused code, fixed some bugs. * Moved node_3d_editor_gizmos.{h,cpp} to editor/plugins. * Added support for multiple gizmos per node. This means custom gizmos will no longer override the built-in ones and that multiple gizmos can be used in more complex nodes. * Added support for handle IDs. When adding handles to a gizmo, an ID can be specified for each one, making it easier to work with gizmos that have a variable number of handles. * Added support for subgizmos, selectable elements that can be transformed without needing a node of their own. By overriding _subgizmo_intersect_frustum() and/or _subgizmo_intersect_ray() gizmos can define which subgizmos should be selected on a region or click selection. Subgizmo transformations are applied using get/set/commit virtual methods, similar to how handles work.