Commit graph

160 commits

Author SHA1 Message Date
nklbdev
1d16704faf Potencially fix nan's on octahedral tangents in RenderingServer 2023-07-01 18:46:52 +05:00
kleonc
d3d84d90de Fix AnimatedSprite3D autoplay warning 2023-05-13 13:10:38 +02:00
bruvzg
b4fe514aa3
[Sprite3D/Label3D] Expose alpha antialiasing properties. 2023-01-31 10:46:38 +02:00
Rémi Verschelde
38f8411ed8
Merge pull request #71964 from bruvzg/mat_key
Fix unsafe murmur3 hash use for the default material keys, expose alpha hash transparency mode for default materials and Label3D and Sprite3D.
2023-01-30 10:03:49 +01:00
Silc Renew
fa198c482e Fix AnimatedSprite play() don't redraw immediately 2023-01-29 08:00:42 +09:00
Silc Renew
17bf6238fc Make AnimatedSprite's playback API consistent with AnimationPlayer 2023-01-26 12:40:19 +09:00
bruvzg
1c774a6083
Fix unsafe murmur3 hash use for the default material keys, expose alpha hash transparency mode for default materials and Label3D and Sprite3D. 2023-01-24 12:24:53 +02:00
Rémi Verschelde
798582acf0
Merge pull request #65609 from dalexeev/animated-sprite
`AnimatedSprite{2D,3D}` improvements
2023-01-05 15:00:31 +01:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
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 13:25:55 +01:00
Danil Alexeev
0d25d8e7fc
AnimatedSprite{2D,3D} improvements
* Add support for individual frame duration to `SpriteFrames`.
* Various minor improvements.
2023-01-05 13:13:25 +03:00
Adam Scott
ea33001b95 Add safety-checks before some servers free() 2022-12-29 16:23:38 -05:00
clayjohn
0c0e1a637e Remove extra range conversion in Sprite3D normal encoding 2022-12-14 15:41:43 -08:00
MrBlockers
92ebbf2c0a Fix multiple issues with region editor
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-25 18:23:23 -04:00
RedMser
a8a4e290fb Remove incorrect px suffixes 2022-10-10 18:18:15 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Rémi Verschelde
c44e1c4e31
Merge pull request #66064 from kleonc/sprite3d-fix-drawing-with-vertical-margins
`Sprite3D`/`AnimatedSprite3D` Fix drawing `AtlasTexture`s with vertical margins differently than in 2D
2022-09-20 23:06:26 +02:00
Marc Gilleron
aed3822a93 Change return type of get_configuration_warnings to PackedStringArray 2022-09-19 16:43:15 +01:00
kleonc
8a56100d39 SpriteBase3D Fix drawing AtlasTextures with vertical margins differently than in 2D 2022-09-18 20:08:31 +02:00
kleonc
8837d41b50 Move duplicated drawing code from Sprite3D/AnimatedSprite3D to SpriteBase3D 2022-09-18 20:03:03 +02:00
Rémi Verschelde
16d44395b5 Merge pull request #65148 from Mickeon/animated-sprite-negative-speed-scale
Allow negative `speed_scale` in AnimatedSprite2D & 3D
2022-09-16 09:18:42 +02:00
Micky
8142bc4ddd Allow negative speed_scale in AnimatedSprite2D & 3D
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-13 12:41:07 +02:00
kobewi
d5c703b83e Don't store frame of playing AnimatedSprite 2022-09-12 22:59:35 +02:00
Micky
b648ee43ab Harmonise AnimatedSprite3D and its 2D counterpart
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-09 21:06:24 +02:00
Rémi Verschelde
ca59f47f31
Merge pull request #64157 from Mickeon/remove-mysterious-is-playing 2022-09-01 17:40:32 +02:00
jmb462
ae9560af82 Fix AnimatedSprite2D & 3D animation list in inspector 2022-08-26 00:05:58 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property 2022-08-22 21:39:48 +02:00
Yuri Sizov
1a24c9e14b Make _validate_property a multilevel method 2022-08-22 18:35:11 +03:00
Omar El Sheikh
2425d798cd Octahedral Normal Support for Sprite and Soft Body
Properly encode the normal and tangent vectors with octahedral
compression
2022-08-20 10:01:46 -07:00
Micky
83f96139ac Remove AnimatedSprite3D.is_playing() for redundancy
Also removes the underscore prefix from `_set_playing()` and `_is_playing()`
2022-08-09 13:20:07 +02:00
Hugo Locurcio
fa019f6e14
Change default material alpha scissor threshold to 0.5
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-08-01 02:00:16 +02:00
kleonc
73ecd71b7d Fix no hint_string for frame property in AnimatedSprites 2022-07-03 15:31:43 +02:00
FireForge
4678736a39 Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
Haoyu Qiu
312ec612c7 Add autocompletion for AnimatedSprite.play() 2022-05-05 14:36:35 +08:00
bruvzg
0a0e94d996
Expose Label3D and Sprite*3D material render priority properties. 2022-04-30 15:09:30 +03:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2 2022-04-27 10:08:26 +02:00
bruvzg
be611c1c05
Implement Label3D node.
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-22 12:08:46 +03:00
bruvzg
de4c97758a
Fix more issues found by cppcheck. 2022-04-20 10:34:00 +03:00
Rémi Verschelde
7119d355eb String: Remove TTR and DTR defines in non-tools build
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
reduz
6f51eca1e3 Discern between virtual and abstract class bindings
* 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-03-10 12:28:11 +01:00
Haoyu Qiu
3a439a9c03 Fix AnimatedSprite infinite loop 2022-02-28 16:00:45 +08:00
Rémi Verschelde
b8b4580448
Style: Cleanup single-line blocks, semicolons, dead code
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
Rémi Verschelde
0f5455230c
Use switch consistently in _notification (scene folder) 2022-02-15 18:44:55 +01:00
Nathan Franke
8a0a3accee
simplify formatting scripts, add a clang-tidy script, and run clang-tidy 2022-01-29 04:41:03 -06:00
Rémi Verschelde
929f483ca0
Merge pull request #55446 from Calinou/spritebase3d-remove-opacity 2022-01-12 16:49:57 +01:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Nathan Franke
49403cbfa0
Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Jonathan Gollnick
0c14b930ef
Fix _validate_property on AnimatedSprite 2D and 3D 2021-12-08 16:59:11 -06:00
Rémi Verschelde
ced07100d7
Merge pull request #53287 from Chaosus/sprite3d_fix 2021-12-02 16:23:33 +01:00
Hugo Locurcio
1b59818fb3
Remove redundant SpriteBase3D opacity property
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-11-29 16:13:55 +01:00
reduz
d03b7fbe09 Refactored Node3D rotation modes
* 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-25 14:34:00 -03:00