Silc Renew
77cf519cf0
Fixed AnimationTrackEditor redraw/deselect timing and find key compearation
2022-08-29 10:44:00 +09:00
Rémi Verschelde
011dbda2ea
Merge pull request #64999 from Chaosus/fix_packed_scene_crash
2022-08-28 21:21:53 +02:00
Yuri Rubinsky
a33903d23f
Prevent crash at loading some scenes
2022-08-28 21:56:04 +03:00
Pedro J. Estébanez
2b73bf1ed1
Make local-to-scene resources behavior consistent in child scenes
2022-08-28 20:17:16 +02:00
Rémi Verschelde
c9972e3981
Merge pull request #64526 from Rindbee/improve-packed-scene-instantiate
...
Improve PackedScene instantiate
2022-08-28 17:12:26 +02:00
Rindbee
d6c0959cb1
Improve PackedScene instantiate
...
Make `resource_local_to_scene` behave as described in the documentation. (If I understand correctly, the following **instance** refers to **the instance of the sub-scene**.)
2e24b76535/doc/classes/Resource.xml (L70-L72)
If the resources of the sub-scene are modified in the main scene, the modified resources will be recorded in the `tscn` file of the main scene. And the root node of the sub-scene will be set twice.
1. In the main scene, when encountering a sub-scene, the sub-scene will be initialized first;
2. Then use the resources in the main scene to reset the root node of the sub-scene.
This may make `resource_local_to_scene` not work as expected. The resources cannot be shared between the sub-scene root node and other ordinary nodes in the sub-scene.
Yes, if the resources have `resource_local_to_scene` enabled, this patch treats the modified resources of the sub-scene root node as resources in the sub-scene, not in the main scene. Although the modifications are recorded in the `tscn` file of the main scene.
2022-08-28 20:39:09 +08:00
Patrick Exner
55bbcc54e7
Implement custom non-trivial shader functions
2022-08-27 22:59:12 +02:00
Silc Renew
787ab45394
Add optimization for Animation::ValueTrack
2022-08-27 22:59:33 +09:00
Josh Jones
3dd59013f4
Added node for Navigation links
2022-08-26 22:05:15 -07:00
Silc Renew
931fb4dc11
Add linear/cubic angle interpolation to Animation interpolation type
2022-08-27 07:58:22 +09:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
...
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Yuri Sizov
6320a0fc18
Add ThemeDB, expose previously static Theme methods
2022-08-26 19:23:05 +03:00
Micky
59e11934d8
Rename str2var
to str_to_var
and similar
...
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.
- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`
- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
Rémi Verschelde
7013c68619
Merge pull request #64422 from bruvzg/make_fonts_unbearably_ugly_2.0
2022-08-26 11:59:07 +02:00
Rémi Verschelde
354123a207
Merge pull request #64243 from bruvzg/multiline_textmesh
2022-08-26 11:45:25 +02:00
Rémi Verschelde
d6267c2d2c
Merge pull request #64305 from bruvzg/ts_reset_data
2022-08-26 11:44:24 +02:00
Rémi Verschelde
5bf2b3926c
Merge pull request #64879 from TokageItLab/cubic-to-cubicintime
...
Replace `Cubic` to `CubicInTime` in the animation track interpolation type
2022-08-26 09:45:24 +02:00
Micky
723bf85145
Rename ParticlesMaterial to ParticleProcessMaterial
...
Also affects their file names, related classes and documentation.
2022-08-26 02:53:08 +02:00
Silc Renew
d96cc7450a
Make Cubic to CubicInTime and reduce items in the track intrp type
2022-08-26 06:49:09 +09:00
Rémi Verschelde
33bf609d79
Merge pull request #64820 from Chaosus/shader_fix_varyings
2022-08-25 18:02:38 +02:00
Yuri Rubinsky
d4a10e7e04
Allow using integer varyings with flat
interpolation modifier
2022-08-25 13:21:02 +03:00
Rémi Verschelde
a0113a98e4
Merge pull request #64801 from clayjohn/plane-quad
...
Remove QuadMesh and add orientation parameter to PlaneMesh
2022-08-25 07:38:30 +02:00
clayjohn
861c5bff0e
Remove QuadMesh and add orientation parameter to PlaneMesh
2022-08-24 18:51:18 -07:00
Rémi Verschelde
ca5c3d6df9
Fix ParticlesMaterial build after #61238
2022-08-25 00:52:37 +02:00
Rémi Verschelde
56752e32a6
Merge pull request #61238 from Calinou/particlesmaterial-add-fade-on-contact-collision-mode
...
Add "Hide on Contact" collision mode to ParticlesMaterial
2022-08-25 00:01:47 +02:00
Yuri Sizov
c78cbb523f
Extract editor color map and simplify SVG color conversion
2022-08-24 15:59:14 +03:00
Rémi Verschelde
91e5f48ea7
Merge pull request #64009 from KoBeWi/arrayy_lmao
...
Replace Array return types with TypedArray (part 2)
2022-08-24 08:18:56 +02:00
kobewi
1abdffe7a0
Replace Array return types with TypedArray 2
2022-08-23 23:21:32 +02:00
Rémi Verschelde
6277448f42
Merge pull request #64647 from TokageItLab/auto-tangent
2022-08-23 18:17:15 +02:00
Rémi Verschelde
5c5bc21195
Merge pull request #63854 from TokageItLab/auto-bone-mapping
2022-08-23 18:16:15 +02:00
Rémi Verschelde
481070812e
Merge pull request #64640 from aaronfranke/skeleton-cleanup
2022-08-23 13:44:54 +02:00
Silc Renew
9327296e73
Add bezier preset and refactor bezier editor
...
Co-authored-by: Razoric480 <razoric480@gmail.com>
2022-08-23 19:14:03 +09:00
Silc Renew
c7e4eeb8a4
Add simple auto mapping to BoneMapper
...
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2022-08-23 16:43:33 +09:00
bruvzg
bcc3643989
Add font LCD sub-pixel anti-aliasing support.
2022-08-23 08:47:21 +03:00
kobewi
8be27dc59e
Replace Array return types with TypedArray
2022-08-22 22:42:36 +02:00
Rémi Verschelde
cb62c91c12
Merge pull request #58600 from Calinou/material-triplanar-sharpness-clamp
2022-08-22 22:21:33 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property
2022-08-22 21:39:48 +02:00
Rémi Verschelde
5bc8702855
Merge pull request #64132 from TokageItLab/fix-optimizer
2022-08-22 20:39:06 +02:00
Rémi Verschelde
7b4927bb5f
Merge pull request #60309 from The-O-King/oct
2022-08-22 19:29:21 +02:00
Rémi Verschelde
43ff5dd890
Merge pull request #64642 from aaronfranke/mesh-cleanup
2022-08-22 17:36:33 +02:00
Yuri Sizov
1a24c9e14b
Make _validate_property
a multilevel method
2022-08-22 18:35:11 +03:00
Rémi Verschelde
944bfc6d00
Merge pull request #63602 from TokageItLab/cubic-interp-time
2022-08-22 17:32:47 +02:00
Rémi Verschelde
fdc36ad082
Merge pull request #64553 from RedMser/fix-property-validation-refactor
2022-08-22 16:54:47 +02:00
Aaron Franke
8893b2bdb4
Clean up mesh include code and comments
2022-08-20 13:24:40 -05:00
Aaron Franke
7be49cb5e0
Clean up include guards in 3D skeleton modification code
2022-08-19 19:18:47 -05:00
clayjohn
bbbcdd725a
Remove requirement to have vertex positions when creating a mesh. Meshes can now be constructed from an index buffer alone
2022-08-19 14:50:12 -06:00
Hugo Locurcio
17ad6df56d
Add "Hide on Contact" collision mode to ParticlesMaterial
...
This can be used to make particles disappear when colliding, rather
than bouncing around or sticking to surfaces.
This is useful for rain particles which should not be able to go
through floors/ceilings, but shouldn't stick to surfaces either.
2022-08-19 22:32:19 +02:00
Yuri Sizov
96ba6e8cf9
Merge pull request #64595 from mhilbrunner/ergo-proxy
...
Unexpose ProxyTexture
2022-08-19 20:42:27 +03:00
Yuri Sizov
7895a66cf2
Merge pull request #64334 from YuriSizov/core-bind-property-revert-methods
...
Make `property_*_revert` methods multilevel and expose them for scripting
2022-08-19 20:41:41 +03:00
Silc Renew
dded7c72c1
Make cubic_interpolate()
consider key time in animation
2022-08-19 14:48:37 +09:00
Max Hilbrunner
92bdeb7eb5
Unexpose ProxyTexture
2022-08-19 03:01:47 +02:00
Max Hilbrunner
420a8c888e
Merge pull request #63950 from bruvzg/menu_bar3
...
Implement MenuBar control to wrap Popup menus or native menu, use native menu for editor.
2022-08-19 01:24:24 +02:00
Clay John
17ca5b913c
Merge pull request #64156 from bruvzg/sys_msdf
...
Allow MSDF rendering for system fonts, fix crash on loading damaged / unsupported font files.
2022-08-18 14:58:57 -06:00
Clay John
547e64d226
Merge pull request #63999 from QbieShay/qbie/vs-qol
...
Quality of life visual shaders updates
2022-08-18 14:47:23 -06:00
bruvzg
8c56a7416b
Implement MenuBar
control to wrap PopupMenu
s or native menu, use native menu for editor.
2022-08-18 22:25:44 +03:00
RedMser
c25b8f2876
Remove unintentional PROPERTY_USAGE_INTERNAL
...
The flag only matters for property definition,
but was also used in _validate_property a lot.
2022-08-18 16:25:00 +02:00
RedMser
83f2723893
Fix some property validation not been refactored
2022-08-18 16:24:15 +02:00
Yuri Sizov
980f5f32f4
Make property_*_revert
methods multilevel and expose them for scripting
2022-08-18 00:03:53 +03:00
VolTer
2599710793
Rename NOTIFICATION_INSTANCED to NOTIFICATION_SCENE_INSTANTIATED
2022-08-16 12:41:10 +02:00
danboo
14ddeb8e44
break out of font search loop after first match
...
The documentation for the font_names property indicates:
Array of font family names to search, first matching font found is used.
2022-08-15 20:58:48 -08:00
Yuri Sizov
fff0e7b8e2
Clarify the Line2D, Curve2D/3D documentation and fix parameter names
2022-08-15 21:38:14 +03:00
Yuri Rubinsky
22df2c527b
Implement coloring for disabled branches in the shader editor
2022-08-14 13:57:26 +03:00
Omar El Sheikh
78881b3cc3
Octahedral Normal/Tangent Compression
...
Implementation of Octahedral normal compression into Godot 4.0
2022-08-13 08:09:32 -07:00
QbieShay
ecbeb8de1b
Improve visual shader defaults for quality of life
...
- multiply part of addmultiply defaults to 1
- curvetexture's repeat is turned off
- vectors into float takes first component instead of average
2022-08-12 19:39:56 +02:00
bruvzg
c6e1432cc0
[Font] Set TextServer font data pointer when it's null, to prevent TS from reading old, non-existing data.
2022-08-12 11:35:13 +03:00
kobewi
e06cd2742f
Add missing properties to default theme
2022-08-11 14:15:04 +02:00
bruvzg
8384815365
Add line breaking support to the TextMesh.
2022-08-10 23:53:48 +03:00
bruvzg
bf1cc6326a
Allow MSDF rendering for system fonts, fix crash on loading damaged / unsupported font files.
2022-08-09 14:21:09 +03:00
Silc Renew
f70dfec535
improve animation track optimizer algorithm
2022-08-09 09:18:45 +09:00
Yuri Sizov
1362bc22bd
Add tests for empty/unnamed arguments to ClassDB, Variant, GDScript
2022-08-08 16:36:01 +03:00
Nathan Franke
3d7d4ccada
capitalize shader uniform groups
2022-08-08 02:21:04 -05:00
Rémi Verschelde
f754dd20be
Merge pull request #62454 from Geometror/reflect-refract-vec2-vec4
...
Allow for vec2/vec4 to be used in reflect and refract
2022-08-07 19:16:05 +02:00
Hendrik Brucker
b8d5f4bdd5
Allow vec2 and vec4 for reflect and refract
2022-08-07 18:03:16 +02:00
Rémi Verschelde
21f6916ffc
Merge pull request #60843 from hoontee/CSG3
...
Add `TorusMesh`
2022-08-06 21:01:51 +02:00
Hugo Locurcio
e919e51a6b
Use interleaved gradient noise for distance fade
...
This provides better visuals and performance compared to the previous
ordered dither.
2022-08-05 11:35:34 +02:00
Rémi Verschelde
25915cdd0e
Merge pull request #59844 from Calinou/rename-shader-param-methods
2022-08-05 02:52:06 +02:00
Hugo Locurcio
db22b7ded0
Rename shader parameter uniform setter/getter methods for consistency
...
`shader_uniform` is now consistenly used across both per-shader
and per-instance shader uniform methods. This makes methods easier
to find in the class reference when looking for them.
2022-08-04 23:17:06 +02:00
Rémi Verschelde
f6431db9a5
Merge pull request #63852 from fire-forge/default-colors
2022-08-04 22:03:10 +02:00
hoontee
21b9b117be
Add TorusMesh
2022-08-04 13:45:54 -05:00
Rémi Verschelde
40eafcfab4
Merge pull request #49947 from Calinou/standardmaterial3d-tweak-default-height-properties
2022-08-04 11:31:32 +02:00
Hugo Locurcio
c6cca43419
Tweak StandardMaterial3D's default height properties
...
- Set the default height scale to 5.0 and multiply it by 0.01 in the shader.
- Document heightmap properties in BaseMaterial3D class reference.
2022-08-04 09:57:55 +02:00
Hugo Locurcio
1f6e081db7
Don't store the values of linked SDFGI properties in Environment
2022-08-04 02:24:28 +02:00
FireForge
de3a62e5ec
Add space to ParticlesMaterial "Particle Flags" group name
...
- "ParticleFlags" -> "Particle Flags"
2022-08-02 17:51:24 -05:00
FireForge
fe2f62f128
Adjust 2 default theme colors in ItemList and Tree
...
- Change Tree's drop_position_color from orange to white.
- Change ItemList's guide_color to the same color as Tree's, which fits in with a dark theme better.
2022-08-02 17:48:11 -05:00
Rémi Verschelde
515552860b
Merge pull request #63597 from paddy-exe/spatial-shader-built-ins
...
Add often used built-ins (camera-pos, object-pos, camera-eye etc.) to spatial shaders
2022-08-02 19:20:19 +02:00
Patrick Exner
fe5901310e
Add spatial built-ins (camera-pos, object-pos, camera-eye etc.)
2022-08-02 17:30:41 +02:00
FireForge
9db973a473
Rename ParticlesMaterial.turbulence_active to turbulence_enabled
2022-08-02 08:41:14 -05:00
Raffaele Picca
fe2cc6150e
Added default values to particle turbulence.
2022-08-02 10:16:09 +02:00
Rémi Verschelde
8cce479c01
Merge pull request #51672 from Calinou/shader-add-hint-transparent-texture
...
Add `hint_transparent` to use a transparent black placeholder texture
2022-08-02 07:15:59 +02:00
Hugo Locurcio
813f6a5d57
Add hint_transparent
to use a transparent black placeholder texture
...
This can be used in shaders to avoid the need to supply a transparent
placeholder texture manually.
2022-08-01 23:38:06 +02:00
Hugo Locurcio
6059a9b624
Improve easing inspector usability
...
- Add `positive_only` property hint to disallow using negative presets.
These values are clamped in several places in the editor already,
so this avoids displaying presets that don't work.
- Move the Zero preset at the end of the positive list to match
the custom property editor. It's also used less often than Linear,
Ease In and Ease Out.
- Rename presets to be consistent between the easing property editor
and custom property editor.
- Remove unused `inout` hint which was redundant since it was already
the default.
2022-08-01 18:40:04 +02:00
bruvzg
ac801494a3
Change LabelSettings default values to match default theme.
2022-08-01 13:33:06 +03:00
Rémi Verschelde
beb8fd5e8b
Merge pull request #55387 from RPicster/particles-turbulence
2022-08-01 09:38:54 +02:00
Rémi Verschelde
de53e91b85
Merge pull request #55276 from Calinou/volumetric-fog-tweak-default-gi-inject
...
Tweak default fog settings for better appearance
2022-08-01 07:55:53 +02:00
Hugo Locurcio
e35e79b802
Tweak default fog settings for better appearance
...
- Increase the default non-volumetric fog density to 0.01 to make
adjustments more visible.
- Use a less saturated non-volumetric fog color by default
(a mix of the sky and horizon colors of the new default
ProceduralSkyMaterial).
- Set Volumetric Fog Gi Inject to 1.0 by default. Injecting GI results
in more realistic appearance of volumetric fog, at a very low
performance cost.
2022-08-01 02:04:20 +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
golfinq
b341339415
Add padding options in theme for fg/bgcolor tags
2022-07-31 12:24:07 -04:00
Zae
2febf0ccdb
Make Animation::track_insert_key
return key index
2022-07-31 17:38:49 +02:00
Hugo Locurcio
1dfd94c63f
Hide triplanar subproperties when triplanar is disabled in BaseMaterial3D
...
This also renames some sections for consistency.
2022-07-30 21:41:26 +02:00
Antonio Dell'Annunziata
1a39af6d0f
fix(editor): Remove some MeshLibrary editor updates
...
The properties for which the `notify_property_list_changed()` call were removed, had issues with caret placing and tab navigation.
Since other node editors do not call this notify on all setters, it is assumed that removing them on certain fields should not impair any functionality.
See f.e. navigation_mesh.cpp `set_source_group_name` vs `set_source_geometry_mode`.
Solves #63549
2022-07-30 09:40:01 +02:00
Rémi Verschelde
15a02c49be
Merge pull request #61647 from KoBeWi/SaverResource
2022-07-29 22:30:51 +02:00
kobewi
c3606cb5f3
Swap arguments of ResourceSaver.save()
2022-07-29 19:53:09 +02:00
Rémi Verschelde
6ba7dacf6b
Merge pull request #63415 from ajreckof/expose_tilemap_custom_data_methods
...
Expose TileMap methods related to the name of custom data layers
2022-07-29 19:43:55 +02:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
...
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Juan Linietsky
d4433ae6d3
Remove Signal connect binds
...
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
ajreckof
8433ad5353
expose TileMap methods related to the name of custom data layers
2022-07-29 15:05:42 +02:00
Rémi Verschelde
8b454f8b41
Merge pull request #62601 from smix8/navigation_3d_debug_4.x
2022-07-29 12:29:32 +02:00
smix8
c394ea518e
Add more detailed Navigation Debug Visualization
...
- Adds more customization options to ProjectSettings.
- Displays navregion edge connections and navigation polygon edges in editor and at runtime.
- Majority of debug code moved from SceneTree to NavigationServer.
- Removes the irritating debug MeshInstance child node from NavigationRegion3D and replaces it with direct RenderingServer API.
2022-07-29 09:58:41 +02:00
Rémi Verschelde
14d021287b
Merge pull request #63049 from Faless/mp/4.x_as_module
2022-07-28 20:46:31 +02:00
Rémi Verschelde
8e0f328a80
Merge pull request #59840 from Calinou/renderingserver-global-uniform-rename
2022-07-28 20:34:17 +02:00
Rémi Verschelde
1c820f19b1
Merge pull request #60957 from DeeJayLSP/sample_pcm
2022-07-28 19:51:08 +02:00
DeeJayLSP
4889659227
Rename AudioStreamSample to a more discoverable name
2022-07-28 13:53:36 -03:00
Hugo Locurcio
4b42379c8f
Rename RenderingServer global shader uniform methods to be more explicit
...
The `global_shader_uniform` name is longer, but it makes it much
easier to find the methods when searching in the class reference.
2022-07-28 18:46:59 +02:00
Raffaele Picca
9137ba7926
Turbulence Noise for Particle Material
2022-07-28 11:04:40 +02:00
Rémi Verschelde
a5f12f9c21
Merge pull request #63532 from TokageItLab/rename-cubic-slerp
2022-07-28 10:39:33 +02:00
Rémi Verschelde
199ea349f5
Merge pull request #57698 from bluenote10/feature/rename_translated_to_translated_local
2022-07-28 10:03:07 +02:00
Rémi Verschelde
422725cffc
Merge pull request #56597 from V-Sekai/material_drag_and_drop
...
Add drag-and-drop support for materials in 3D Instances
2022-07-28 09:22:38 +02:00
Rémi Verschelde
ed61fb2a8b
Merge pull request #63138 from TokageItLab/normalize-position-track
...
Add position track normalization to importer retarget
2022-07-27 16:49:18 +02:00
Silc Renew
4211e68d80
rename and unify notation for spherical interpolation
2022-07-27 23:22:50 +09:00
Rémi Verschelde
cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support
2022-07-27 13:38:30 +02:00
Yuri Rubinsky
2f43398182
Add a check to prevent duplicating connections in visual shader
2022-07-27 08:06:34 +03:00
RedMser
7b834c8bfd
Fix unnamed arguments in XML docs
2022-07-26 20:42:38 +02:00
Rémi Verschelde
222e489dfd
Merge pull request #63496 from groud/fix_tile_set_not_saving
...
Fix TileSet not loading correctly when embedded in a scene
2022-07-26 18:27:05 +02:00
Gilles Roudière
8da2710911
Fix TileSet not loading correctly when embedded in a scene
2022-07-26 17:39:35 +02:00
Silc Renew
dde235ad82
add position track normalization & post process key value for retarget
2022-07-26 18:48:08 +09:00
Yuri Rubinsky
886c2d9681
Implement shader uniform groups/subgroups
2022-07-26 11:26:09 +03:00
Fabio Alessandrelli
ca7d572908
[Net] Modularize multiplayer, expose MultiplayerAPI to extensions.
...
- RPC configurations are now dictionaries.
- Script.get_rpc_methods renamed to Script.get_rpc_config.
- Node.rpc[_id] and Callable.rpc now return an Error.
- Refactor MultiplayerAPI to allow extension.
- New MultiplayerAPI.rpc method with Array argument (for scripts).
- Move the default MultiplayerAPI implementation to a module.
2022-07-26 09:31:12 +02:00
bruvzg
36ef8f29dc
Implement support for loading system fonts on Linux, macOS / iOS and Windows.
2022-07-26 08:38:05 +03:00
Rémi Verschelde
90019676b0
Code quality: Fix header guards consistency
...
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
Rémi Verschelde
a9147c5544
Merge pull request #63270 from aaronfranke/fog-density
...
Change fog density range hint to be 0 to 1 with or_greater
2022-07-25 08:36:06 +02:00
Rémi Verschelde
a5bc65bbad
Merge pull request #63265 from reduz/stream-bpm-support
...
Implement BPM support in AudioStream files.
2022-07-23 11:21:14 +02:00
reduz
d1ddee2258
Implement BPM support
...
Based on #62896 , only implements the BPM support part.
* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
2022-07-23 07:31:17 +02:00
reduz
f649678402
Clean up Shader Preprocessor
...
* Moved preprocessor to Shader and ShaderInclude
* Clean up RenderingServer side
* Preprocessor is separate from parser now, but it emits tokens with include location hints.
* Improved ShaderEditor validation code
* Added include file code completion
* Added notification for all files affected by a broken include.
2022-07-22 22:53:03 +02:00
Yuri Roubinsky
7b94603baa
Adding shader preprocessor support
...
Co-authored-by: TheOrangeDay <6472143+TheOrangeDay@users.noreply.github.com>
2022-07-22 22:51:57 +02:00
Rémi Verschelde
653f95282c
Merge pull request #62996 from reduz/feature-build-profiles
2022-07-22 12:50:20 +02:00
reduz
6236a688b7
Implement Feature Build Profiles
...
This PR is a continuation of #50381 (which was implemented exactly a year ago!)
* Add a visual interface to select which classes should not be built into Godot (well, they are built if something else uses them, but if not used the optimizer will remove them out).
* Add a detection system to scan the project and figure out the actual classes used.
* Added the ability for SCons to load build profiles.
Obligatory Screen:
A simple test with a couple of nodes in the scene resulted in a 25% reduction for the final binary size
TODO:
* Script languages need to implement used class detection (left for another PR).
* Options to disable servers or server functionalities (like 2D or 3D physics, navigation, etc). Are missing, that should also greatly aid in reducing binary size.
* Options to disable some modules would be desired.
* More options to disable drivers (OpenGL, Vulkan, etc) would be desired.
In general this PR is a starting point for more contributors to improve and enhance this functionality.
2022-07-22 10:53:23 +02:00
luz paz
38aaaa3cf9
Fix various typos not caught by codespell
...
Revert upstream `core/input/gamecontrollerdb.txt`. Upstream fix: https://github.com/gabomdq/SDL_GameControllerDB/pull/600
2022-07-21 07:38:23 -04:00
Yuri Rubinsky
457e78a0bc
Fix error emitting when opening some textures in the inspector
2022-07-21 09:48:15 +03:00
Aaron Franke
83c1060187
Change fog density range hint to be 0 to 1 with or_greater
2022-07-21 01:26:42 -05:00
Rémi Verschelde
0f6028378f
Merge pull request #63127 from KoBeWi/raise_from_picture
2022-07-20 22:34:05 +02:00
SaracenOne
86aa2a8578
Add drag-and-drop support for materials in 3D
...
Add mesh surface picking for material drag & drop, show drag info label
2022-07-19 12:49:09 -07:00
Rémi Verschelde
715f556cd4
Merge pull request #62139 from bruvzg/label_font_setttings
...
Add LabelSettings resource for quick Label theme property override.
2022-07-19 20:16:01 +02:00
FireForge
84431bd782
Use integer types in Image and ImageTexture methods
...
- Image.blit_rect()
- Image.blit_rect_mask()
- Image.blend_rect()
- Image.blend_rect_mask()
- Image.fill_rect()
- Image.get_used_rect()
- Image.get_rect()
- ImageTexture.set_size_override()
2022-07-18 19:43:32 -05:00
kobewi
e8288ac9ab
Clarify create_from_image() usage
2022-07-18 13:01:04 +02:00
Rémi Verschelde
1c6148aa86
Merge pull request #63062 from Chaosus/vs_fix
2022-07-18 12:05:36 +02:00
Rémi Verschelde
3953c1aa73
Merge pull request #63094 from Geometror/fix-gradient-cubic-interpolation
2022-07-17 11:22:43 +02:00
Hendrik Brucker
655e2935cf
Automatically create a Gradient resource when creating a GradientTexture1D
2022-07-17 04:04:57 +02:00
Hendrik Brucker
039045d569
Fix cubic interpolation for Gradient
2022-07-17 03:46:27 +02:00
Yuri Rubinsky
f05fce405e
Fix visual shader graph not correctly updating when multiple tabs opened
2022-07-16 16:43:06 +03:00
Silc Renew
f3af3aedfe
add rest fixer to importer retarget
2022-07-16 19:53:11 +09:00
Fabian Keller
2bf9e6090c
rename translate(d) to translate(d)_local in Transform 2D/3D
2022-07-16 11:47:54 +02:00
bruvzg
cbe3a2dcb7
Use BitField hint for the TextServer enums. Add missing parts for BitField support to the GDextension API.
2022-07-15 08:49:50 +03:00
Rémi Verschelde
184f62cb46
Merge pull request #60458 from KoBeWi/Deprecated-hint,-unused-
2022-07-14 00:20:30 +02:00
Rémi Verschelde
4639050c64
SpriteFrames: Sort animations alphabetically
...
And finally remove the 'frames' property which was added for compatibility with 2.1
in bed3efb17e
.
Fixes #21765 .
The 'animations' property on the other hand is needed, contrarily to what its comment
said (copy-paste mistake probably).
Also removes unused '_get_animation_list'.
2022-07-13 16:15:11 +02:00
bruvzg
f63d54126d
Add LabelSettings resource for quick Label theme property override.
2022-07-12 16:05:12 +03:00
kobewi
2f777b9a1e
Remove unused hints
2022-07-12 00:44:13 +02:00
kobewi
d2900429e8
Add static methods for creating Image and ImageTexture
2022-07-08 13:40:47 +02:00
Rémi Verschelde
13346ab4cc
Merge pull request #62632 from linkpy/62630_fix
...
Make sure the tile data clears its `terrain` field when said terrain is removed from the tileset.
2022-07-08 11:30:28 +02:00
Rémi Verschelde
5268efdcd9
Merge pull request #62806 from dylan-conway/layered-texture-update-fix-and-error-messages
2022-07-08 00:16:15 +02:00
Dylan Conway
78ca147c8a
Changed valid check to null check, added error messages
2022-07-07 11:11:47 -07:00
Rémi Verschelde
1e553e34fb
Merge pull request #62108 from bruvzg/font_config_v3
2022-07-07 12:22:49 +02:00
bruvzg
0c5431644d
Allows parsing of invalid UTF-16 surrogates (can be encountered in Windows filenames) and some non-standard UTF-8 variants, makes Unicode parse errors more verbose.
2022-07-07 11:07:18 +03:00
lawnjelly
1f69666209
Remove Octree
...
Octree is no longer used in 4.x.
2022-07-06 14:10:05 +01:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources.
2022-07-06 14:12:36 +03:00
Rémi Verschelde
1d06fec535
Merge pull request #62448 from MinusKube/completion-scroll-click
...
Add the ability to drag the code completion scrollbar using the mouse click
2022-07-04 10:13:20 +02:00
bruvzg
329923c6ac
Use custom key structs, instead of raw hashes for the Label3D and TextMesh, to avoid potential hash collisions.
2022-07-04 09:47:49 +03:00
MinusKube
336400dc42
Add the ability to drag the code completion scrollbar using the mouse click
2022-07-03 23:47:52 +02:00
Estelle Linkpy Reid
3a37053aac
Make sure the tile data clears its terrain
field when said terrain is removed from the tileset.
2022-07-02 15:01:07 +02:00
holgac
95244f0e7a
Fixes #62097 : infinite loop in animation compress due to too small page size
...
Fixed an infinite loop caused when given page size is too small to store anything.
If, in the first step of compression, we attempt a rollback, we end up calling LocalVector::resize with AnimationCompressionDataState::validated_packet_count which is -1. This resize function takes a uint, and there's a bitshift operation that assumes that by bitshifting enough times, we'll reach a number greater than or equal to the requested memory amount, which we'll never do for uint(-1), and this causes an infinite loop.
To fix, I'm adding an early failure in case the given page size isn't enough.
2022-07-01 01:03:13 +02:00
Silc Renew
dc43cfc830
implement bone renamer in importer
2022-07-01 03:55:28 +09:00
Hendrik Brucker
99ce0df3b1
Refactor bezier interpolation functions
2022-06-27 19:42:43 +02:00
Rémi Verschelde
fbc3777467
Merge pull request #62185 from reduz/export-node-pointer-path
...
Add ability to export Node pointers as NodePaths
2022-06-27 11:14:36 +02:00
reduz
b7c41f9ba1
Add ability to export Node pointers as NodePaths
...
This PR implements:
* A new hint: PROPERTY_HINT_NODE_TYPE for variant type OBJECT, which can take specific node types as hint string.
* The editor will show it as a node path, but will set it as a pointer to a node from the current scene if you select a path.
* When scene is saved, the node path is saved, then restored as a pointer.
NOTE: This is a proof of concept and this approach will most likely not work. The reason if that, if the node referenced is deleted, then when trying to edit this the node will become invalid.
Potential workarounds: Since this uses the Variant API, it should obtain the pointer from the Variant object ID. Yet, this would either only really work in GDScript or it would need to be implemented with workarounds in every language.
Alternative ways to make this work: Nodes could export an additional property with a node path (like for which_node, it could be which_node_path).
Another alternative: Path editing could happen as a hidden metadata (ignoring the pointer).
2022-06-25 15:50:15 +02:00
Rémi Verschelde
dd743b3c78
Merge pull request #62314 from tefusion/capsulemesh-radius-height-setters
...
Fix CapsuleMesh height/radius setters
2022-06-25 14:16:29 +02:00
Rémi Verschelde
b192073001
Merge pull request #62309 from reduz/remake-resource-thread-safety
...
Remake ResourceCache thread safety code and API
2022-06-25 14:09:28 +02:00
Raul Santos
adb81446a6
Fix Curve{2D,3D} notifying property list changed
...
Make `Curve2D` and `Curve3D` more consistent with `Curve` and avoid
calling `notify_property_list_changed` when the list of points doesn't
change.
2022-06-23 20:07:26 +02:00
Rémi Verschelde
ef5bc1baad
Merge pull request #62348 from smix8/navigation_baking_aabb_4.x
2022-06-23 16:10:40 +02:00
Rémi Verschelde
383f111869
Merge pull request #61628 from Vitika9/61617
2022-06-23 15:36:00 +02:00
Rémi Verschelde
2baddcc4f6
Merge pull request #61931 from KoBeWi/how_to_window
...
Document most of the Window's members
2022-06-23 15:20:53 +02:00
smix8
0c4d99f4fd
Implement NavigationMesh bake area
...
Adds two new properties to NavigationMesh resources to restrict the navmesh baking to an area enclosed by an AABB with volume.
2022-06-23 14:55:21 +02:00
JFonS
cac4e39ad2
Merge pull request #62268 from V-Sekai/lightmap-errors
2022-06-23 12:33:52 +02:00
K. S. Ernest (iFire) Lee
cc7a0f3b58
Mend crash importing a scene with static lightmaps.
2022-06-23 01:33:15 -07:00
reduz
3d1ab570b9
Add surface indices to TriangleMesh
...
Helps unblock #56597
2022-06-22 21:48:23 +02:00
kobewi
0f630f8307
Document most of the Window's members
2022-06-22 20:46:27 +02:00
Vitika9
6042b24745
Fixed dragging curve points
2022-06-22 22:17:49 +05:30
tefusion
ad7b3549a5
Fix CapsuleMesh loading issue (radius reset)
2022-06-22 17:34:49 +02:00
Rémi Verschelde
3ccff61979
Merge pull request #58544 from Calinou/tileset-source-allow-canvasitemmaterial
2022-06-22 17:02:34 +02:00
Rémi Verschelde
5fc2864b05
Merge pull request #56185 from nikitalita/fix-save-as-binary
...
Fix ResourceLoaderText::save_as_binary()
2022-06-22 14:37:43 +02:00
reduz
e772b65d92
Remake resource thread safety and API
...
* Ensures thread safety when resources are destroyed.
* Simplified API by always forcing `ResourceCache::get_ref`, which needs less hacks and is fully thread safe.
* Removed RWLock for resources because its not possible to use for the new logic. Should not be a problem.
Supersedes #57533
2022-06-22 13:46:46 +02:00
Hugo Locurcio
b3fe2732e3
Allow using CanvasItemMaterial in the TileSet editor
...
Previously, only ShaderMaterial overrides could be added.
2022-06-21 17:02:52 +02:00
Rémi Verschelde
fdfbaf9f0f
Merge pull request #62198 from Calinou/text-resource-remove-extraneous-spaces
...
Remove spaces in `SubResource()/ExtResource/Resource()` in text resources
2022-06-21 15:11:23 +02:00
reduz
141c375581
Clean up Hash Functions
...
Clean up and do fixes to hash functions and newly introduced murmur3 hashes in #61934
* Clean up usage of murmur3
* Fixed usages of binary murmur3 on floats (this is invalid)
* Changed DJB2 to use xor (which seems to be better)
2022-06-20 12:54:19 +02:00
Hugo Locurcio
514624c58e
Remove spaces in SubResource()/ExtResource/Resource()
in text resources
...
These spaces are not needed for the file to be successfully parsed.
Other types such as Vector3 are no longer serialized with spaces
after the opening parenthesis and before the closing parenthesis,
so this is also more consistent.
2022-06-19 05:54:03 +02:00
mightygoat
59029f1a3f
Declaring emission_tex_ofs globally
2022-06-19 01:20:57 +05:30
Fabio Alessandrelli
32b16c876b
[Net] Fix SceneReplicationConfig setter.
...
Used by resource loader, it would always add properties as both sync and
spawn, disregarding the actual option value.
2022-06-17 13:49:36 +02:00
Rémi Verschelde
1767507e69
Merge pull request #61888 from Chaosus/vs_remove_engine_version
...
Remove engine version from visual shader
2022-06-16 18:19:03 +02:00
bruvzg
b5c96df277
Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer.
2022-06-16 16:49:37 +03:00
Rémi Verschelde
421d8b716d
Merge pull request #61952 from V-Sekai/custom-docs
...
`SurfaceTool.set_custom_format` Fixes and documentation.
2022-06-15 21:20:58 +02:00
Lyuma
03b896c992
SurfaceTool.set_custom_format
Fixes and documentation.
...
Fix mistake making `set_custom_format` impossible to use.
Automatically forward custom flags in `SurfaceTool.commit`.
Add documentation in `SurfaceTool` and `Mesh` for custom channels.
Deprecate `SurfaceTool.generate_lod` and expose `ImporterMesh.generate_lods`.
2022-06-14 15:10:17 -07:00
Rémi Verschelde
7c0f1b4cd7
Merge pull request #62042 from Calinou/basematerial3d-nearest-height-always-linear
...
Always sample the heightmap with linear filtering in BaseMaterial3D
2022-06-14 21:39:03 +02:00
Hugo Locurcio
26f6625dcc
Always sample the heightmap with linear filtering in BaseMaterial3D
...
Nearest-neighbor filtering of the heightmap results in a broken
appearance, with and without Deep Parallax enabled on the material.
Linear filtering results in a more expected appearance. This does
not affect other texture maps such as albedo, normal or roughness.
2022-06-14 18:56:18 +02:00
FireForge
92817aa72f
Add Vector2/3 linking to more properties
...
- Camera2D.zoom
- CanvasLayer.scale
- ParallaxBackground.scroll_base_scale
- ParallaxLayer.motion_scale
- Polygon2D.texture_scale
- BaseMaterial3D.uv1_scale
- BaseMaterial3D.uv2_scale
2022-06-14 09:33:44 -05:00
Rémi Verschelde
41986532c1
Merge pull request #61974 from Calinou/project-settings-mark-as-basic
2022-06-13 17:16:03 +02:00
Rémi Verschelde
d4f31e201d
Merge pull request #61809 from groud/terrain_center_bit
2022-06-13 17:06:34 +02:00
Rémi Verschelde
136f84fc35
Merge pull request #61772 from bruvzg/ft_ot_collect
2022-06-13 11:13:05 +02:00
Rémi Verschelde
803d25a20a
Merge pull request #61961 from jtnicholl/anim_lib_type_hints
...
Fix type hints for AnimationLibrary's signals' arguments
2022-06-12 22:26:53 +02:00
Hugo Locurcio
c178cfef8e
Mark some common project settings as basic
2022-06-12 19:50:14 +02:00
Jonathan Nicholl
3d8e400fb5
Fix type hints for AnimationLibrary's signals
2022-06-12 13:20:51 -04:00
FireForge
4678736a39
Add suffixes to all nodes and resources
2022-06-11 09:41:05 -05:00
Yuri Rubinsky
f4b4294c5f
Revert vector4 output ports in visual shaders
2022-06-11 10:36:11 +03:00
Gilles Roudière
62d2549e9e
Add terrain center bit
2022-06-10 14:37:39 +02:00
Yuri Rubinsky
d6622330d7
Remove engine version from visual shader
2022-06-10 13:17:16 +03:00
Hugo Locurcio
dbe513931f
Add a property hint to Environment's sky_rotation
property
...
This property hint is identical to Node3D's `sky_rotation` property
and provides degree-based editing.
2022-06-09 22:54:15 +02:00
Rémi Verschelde
c91d33e9ca
Merge pull request #61813 from smix8/navigationmesh_properties_naming_4.x
2022-06-09 09:48:01 +02:00
smix8
2c059dcfcb
Remove slash delimiter from NavigationMesh properties
...
Remove slash delimiter from NavigationMesh properties.
2022-06-09 09:20:52 +02:00
Rémi Verschelde
b13c41c33f
Merge pull request #61830 from XutaxKamay/fix-image-texture
...
Fix for regression of an ImageTexture being imported
2022-06-09 08:47:36 +02:00
Kamay Xutax
d8f1ee66d7
Fix for ImageTexture imported
...
Someone apparently forgot to return true ...
on ImageTexture::_set/_get
2022-06-09 00:08:07 +02:00
Rémi Verschelde
07029e94f4
Merge pull request #61662 from smix8/navigation_map_cell_defaults_4.x
2022-06-08 15:56:22 +02:00
kobewi
80025171cd
Re-add internal image field to ImageTexture
2022-06-08 00:57:03 +02:00
Rémi Verschelde
60eec78a1f
Merge pull request #61558 from kleonc/triangle_mesh_from_triangle_strip
...
Make `Mesh::generate_triangle_mesh()` handle `PRIMITIVE_TRIANGLE_STRIP`
2022-06-07 22:07:16 +02:00
Rémi Verschelde
96f41d6ada
Merge pull request #61284 from KoBeWi/steal_image()
...
Remove image property of ImageTexture
2022-06-07 20:53:09 +02:00
Clay John
12edb2ce58
Merge pull request #55909 from Calinou/volumetric-fog-tweak-temporal-reprojection-range-hint
...
Tweak the volumetric fog temporal reprojection property hint
2022-06-07 08:56:05 -07:00
kobewi
c519a667ad
Remove image property of ImageTexture
2022-06-07 16:30:54 +02:00
bruvzg
6e4cdad3ac
[TextServer] Adds support for TrueType / OpenType collection files (*.TTC, *.OTC).
2022-06-07 11:35:59 +03:00
Aaron Record
14df02b21f
Fix typo "Frac" instead of "Fract"
2022-06-05 19:20:32 -06:00
kobewi
855a1ff61f
Increase maximum size of gradient textures
2022-06-05 18:20:26 +02:00
smix8
3066091780
Match NavMap and ProjectSettings with NavigationMesh defaults
...
Match NavMap and ProjectSettings with NavigationMesh defaults since the NavMap edge merging requires a matching cell_size with the NavigationMesh to create connections without issues.
2022-06-03 19:17:49 +02:00
kleonc
9b556c96f0
Make Mesh::generate_triangle_mesh()
handle PRIMITIVE_TRIANGLE_STRIP
2022-05-31 13:57:42 +02:00
Hendrik Brucker
70c234f3e3
Improve Graphedit connection lines
2022-05-30 17:33:01 +02:00
Hendrik Brucker
771cb1261a
Improve and fix the GraphNode port hotzones
...
Co-authored-by: Ansraer <jacky2611@gmail.com>
2022-05-30 15:48:58 +02:00
Rémi Verschelde
69b30eae29
Merge pull request #61337 from reduz/improve-stylebox-preview
...
Improve StyleBox preview
2022-05-26 13:28:36 +02:00
reduz
b4c6900123
Improve StyleBox preview
...
* Show checkerboard on background.
* Add margins.
* Show Ninepatch lines (toggleable).
* Move the region to its own section so it does not pollute.
2022-05-26 11:57:56 +02:00
Nathan Franke
77c8f271e7
use ERR_FAIL_INDEX when preferred
2022-05-25 13:36:45 -05:00
Rémi Verschelde
cc21892fa4
Merge pull request #61355 from bruvzg/text_mesh_fix_fill_align
...
[TextMesh] Fix incorrectly applied FILL alignment.
2022-05-25 01:16:42 +02:00
Rémi Verschelde
19e3c7fcd9
Merge pull request #61040 from Calinou/basematerial3d-rename-tex-properties
2022-05-24 23:36:29 +02:00
Hugo Locurcio
a8a6e664fb
Rename BaseMaterial3D properties to use fully spelled out "texture"
...
This is more consistent with other BaseMaterial properties such as
`ao_texture_channel`.
This also improves the documentation related to
`albedo_texture_force_srgb`.
This also fixes a typo in the 3.x material converter.
2022-05-24 20:44:17 +02:00
clayjohn
4f82b1bd20
Use IGN instead of white noise for sky dithering
2022-05-24 10:57:07 -07:00
Hugo Locurcio
ce7099a35a
Tweak TextMesh decomposition error message to mention self-intersecting lines
2022-05-24 15:11:39 +02:00
bruvzg
826de9da48
[TextMesh] Fix incorrectly applied FILL alignment.
2022-05-24 11:58:54 +03:00
Rémi Verschelde
bd8d91254c
Merge pull request #61106 from snailrhymer/animation-library-fixes
...
Fix errors and improve UX relating to new animation libraries
2022-05-24 10:51:31 +02:00
Rémi Verschelde
56dbfcdcba
Merge pull request #61203 from Calinou/cylindermesh-add-cap-properties
...
Add properties to disable top/bottom cap generation in CylinderMesh
2022-05-24 08:21:01 +02:00
Rémi Verschelde
1314e6cbcc
Merge pull request #60803 from Chaosus/shader_hint_rename
...
Rename `hint_albedo`, `hint_white/black` in shaders
2022-05-24 08:15:33 +02:00
Rémi Verschelde
9923851370
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
bruvzg
4e86c13557
[TextMesh] Do not generate meshes for non-visual glyphs.
2022-05-23 20:06:36 +03:00
Rémi Verschelde
a76db34592
Merge pull request #61314 from Chaosus/vs_fix_conversion_bug
...
Fix connection of subports after uniform->constant conversion in visual shader
2022-05-23 16:21:30 +02:00
reduz
12474fd87a
Improve MultiplayerSynchronizer editor usability
...
* Add a button to add properties (which lets you select node and property)
* Add ability to drag properties and drop them to the editor.
* Made the editor transient (not always visible on the bottom) since its not needed most of the time.
* Added the ability to pin the editor, in case dragging properties from other nodes is desired.
2022-05-23 13:14:59 +02:00
Yuri Rubinsky
0778c7a19e
Fix connection of subports after uniform->constant conversion in vshader
2022-05-23 14:09:59 +03:00
Rémi Verschelde
3568b3deea
Merge pull request #61283 from bruvzg/text_mesh_cubic
...
[TextMesh] Fix cubic Bezier arc processing.
2022-05-23 09:34:33 +02:00
bruvzg
1f066837e4
[TextMesh] Fix cubic cubic Bezier arc processing.
2022-05-22 18:04:32 +03:00
Hugo Locurcio
f008e98ea2
Decrease SphereShape3D's default radius to 0.5 to match primitive mesh
...
The SphereMesh primitive mesh's size was recently decreased, but
unlike other primitive meshes, the sphere shape's radius wasn't
adjusted accordingly.
2022-05-22 08:46:01 +02:00
Hugo Locurcio
d23071cae3
Add properties to disable top/bottom cap generation in CylinderMesh
2022-05-21 02:06:53 +02:00
Rémi Verschelde
8adf048045
Merge pull request #61194 from reduz/new-hash-set
...
Add a new HashSet template
2022-05-21 01:06:21 +02:00
Hugo Locurcio
3afc03455e
Remove outdated "not implemented yet" comments in ParticlesMaterial
...
These features have been working as of 4.0.alpha8.
2022-05-20 23:28:12 +02:00
reduz
45af29da80
Add a new HashSet template
...
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Hugo Locurcio
8962d2760d
Tweak the disabled files text color in FileDialog for readability
...
Contrast rate is still fairly low, but the text needs to be easy enough
to distinguish from non-disabled items.
2022-05-20 16:59:34 +02:00
Rémi Verschelde
29708f79a8
Merge pull request #61170 from smix8/navigation_navmesh_property_limits_4.x
...
Remove arbitrary NavigationMesh bake property limits
2022-05-20 08:47:20 +02:00
Rémi Verschelde
277ea1950a
Merge pull request #61205 from Calinou/default-font-tweak-fake-bold-italic
...
Tweak the default font's fake italic to better match Open Sans Italic
2022-05-20 07:56:12 +02:00
Hugo Locurcio
383a27e930
Tweak the default font's fake italic to better match Open Sans Italic
2022-05-20 01:31:25 +02:00
Aaron Franke
5dc3bfb80e
Use suffixes for units in nodes and resources
2022-05-19 14:34:27 -05:00
Rémi Verschelde
b9bb3de6a1
Merge pull request #61142 from bruvzg/rtl_threaded
2022-05-19 14:27:48 +02:00
Aaron Record
900c676b02
Use range iterators for RBSet in most cases
2022-05-19 12:09:16 +02:00
bruvzg
cfcdfc38e2
[RTL] Add support for shaping in background thread.
2022-05-19 09:34:44 +03:00
Haoyu Qiu
fc3b845c07
Add dedicated macros for property name extraction
...
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NO_EDITOR
* Extract missing ADD_ARRAY*, ADD_SUBGROUP* macros
2022-05-19 14:08:47 +08:00
smix8
cda93057f7
Remove arbitrary NavigationMesh bake property limits
...
Lowers or removes the slider limits and steps from NavigationMesh resources and changes some default values to better work with realistic unit sizes by default.
2022-05-18 23:00:12 +02:00
Yuri Sizov
21b253a870
Define some Theme data structures with using for readability
2022-05-18 18:17:47 +03:00
Rémi Verschelde
e709a6e2cf
Merge pull request #61152 from YuriSizov/theme-sets-lists-and-idle-hands
2022-05-18 16:17:04 +02:00
Rémi Verschelde
3ec3984204
Merge pull request #61144 from smix8/navigation_create_from_mesh_warning_4.x
2022-05-18 15:15:57 +02:00
Yuri Sizov
4e0f11cfdb
Restore Theme.get_type_list behavior to properly handle uniqueness
2022-05-18 15:41:44 +03:00
smix8
4185fce0ef
Add wrong surface warnings to NavigationMesh.create_from_mesh()
...
Adds warnings when at least one of the input mesh surfaces is of wrong primitive type or has an empty vertex / index array as those broken input meshes would fail as both navmesh as well as later when creating debug meshes.
2022-05-18 14:13:01 +02:00
Raul Santos
a9a41df0c8
Expose Curve points in the inspector
...
Exposes the Curve, Curve2D and Curve3D points as an array property.
2022-05-17 18:08:36 +02:00
Raul Santos
0ba0d51c9e
Implement mark_dirty
in Curve2D and Curve3D
...
Implements a method `mark_dirty` in Curve2D and Curve3D like the one
that already exists in Curve, it's a convenient way to set
`baked_cache_dirty` to `true` and also emit the `changed` signal.
2022-05-17 18:08:34 +02:00
SnailRhymer
d79818acb6
Fix errors and improve UX relating to new animation libraries
...
- Fix a bug causing an error message when a scene containing an AnimationPlayer with a reset track is saved, by correctly referencing the temporary "default" library.
- Make library dropdown in new animation window assign correct library when creating an animation.
- Similarly allow choice of library when duplicating animation.
- Make library dropdown default to library of currently selected animation.
- Make library dropdown show when exactly one library exists, and it isn't [Global]. Include [Global] on the dropdown in this case (will be newly created if dialog is confirmed).
- When appending (x) to avoid New Anim name collisions, correctly check target library instead of [Global].
- Add parentheses when appending x when duplicating animations in the library editor, for consistency.
- Change titles and prompts to be distinct in name/rename/duplicate dialiogs.
- Fix bug in OprionButton.get_selectable_item(true) when last is not selectable.
- Fix issues where animation wasn't found on deletion/rename by correctly prepending library name.
- Remove an extraneous print_line from animation_track_editor.
- Add messages to errors when an animation isn't found.
2022-05-17 00:02:51 +01:00
clayjohn
9b61c855ef
Add basic lighting to GLES3 renderer.
...
This includes all three light types and IBL, but does not include shadows or any form of GI
2022-05-16 15:07:09 -07:00
Hendrik Brucker
bf9a836a50
Regression: Fix Curve2D/Curve3D baking
2022-05-16 18:17:02 +02:00
Rémi Verschelde
eaa4e86433
Merge pull request #61061 from smix8/navigation_mesh_sample_distance_range_4.x
2022-05-16 15:05:17 +02:00
Rémi Verschelde
0497b67bec
Merge pull request #60130 from fire-forge/theme-node-names
2022-05-16 14:57:21 +02:00
smix8
e33fa9d833
Clamp NavigationMesh sample_distance above zero
...
While default ReCast library has support for 0.0 'sample_distance' the Godot implementation does not an crashes.
Previously Godot would set all sample_distance values below 0.9 to 0 which causes the crashes.
This limits the sample_distance range selection to 0.1 - 16.0 and also clamps sample_distance that are below 0.1 before ReCast receives them.
2022-05-16 14:25:20 +02:00
Rémi Verschelde
b154f445d5
Merge pull request #60507 from bruvzg/textmesh
...
Implement TextMesh.
2022-05-16 13:52:57 +02:00
Rémi Verschelde
df2de05c5f
Merge pull request #60463 from Geometror/improve-vs-1
2022-05-16 13:50:42 +02:00
Rémi Verschelde
7b571ab8f7
Merge pull request #60986 from fire-forge/capitalism
2022-05-16 13:49:14 +02:00
reduz
746dddc067
Replace most uses of Map by HashMap
...
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Rémi Verschelde
29cf36fc8b
Merge pull request #60991 from fire-forge/tileset-groups
2022-05-13 13:46:43 +02:00
Yuri Rubinsky
eb80a9f325
Merge pull request #60978 from fire-forge/shader-caps
...
Capitalize AO, AA, UV, and UV2 in visual shader output ports
2022-05-13 09:31:56 +03:00
FireForge
584a646f50
Capitalize output port names in visual shader
2022-05-13 00:53:09 -05:00
bruvzg
05963674a7
Implement TextMesh resource.
...
Apply simulated slant and embolden to the TextServer `gont_get_glyph_contours` results.
2022-05-13 08:20:22 +03:00
FireForge
40a1fc7a34
Reduce extra groups in TileSet
2022-05-12 17:31:58 -05:00
FireForge
88a8038387
Capitalize/fix some property enum hints
2022-05-12 15:03:16 -05:00
Rémi Verschelde
ff30a09993
Merge pull request #60643 from clayjohn/GLES3-3D
2022-05-12 21:08:02 +02:00
clayjohn
652adcd5bf
Basic 3D rendering
2022-05-12 10:37:27 -07:00
Rémi Verschelde
a624bfe150
Merge pull request #58152 from raulsntos/fix-curve-bake-algorithm
2022-05-12 14:45:23 +02:00
Raul Santos
b3c37b9fe1
Fix Curve bake algorithm
2022-05-12 13:18:21 +02:00
Raul Santos
a80bc715ad
Fix Curve idx calculation for baked tilts and up vectors
2022-05-12 13:18:20 +02:00
bruvzg
6783d55ce4
Use new HashMap implementation in the TextServer, and Font.
2022-05-12 13:42:25 +03:00
reduz
8b7c7f5a75
Add a new HashMap implementation
...
Adds a new, cleaned up, HashMap implementation.
* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing ).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).
This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
Rémi Verschelde
edf61c077c
Merge pull request #60917 from akien-mga/ci-emscripten-3.1.10
2022-05-10 15:08:32 +02:00
Rémi Verschelde
b6983eeccf
Merge pull request #51591 from Calinou/call-group-default-immediate
...
Make `{call,set,notify}_group()` immediate by default
2022-05-10 14:52:23 +02:00
Rémi Verschelde
d8935b27a9
Fix warnings found by Emscripten 3.1.10
...
Fix `-Wunused-but-set-variable`, `-Wunqualified-std-cast-call`, and
`-Wliteral-range` warnings.
2022-05-10 13:03:13 +02:00
Rémi Verschelde
d3d58e7cc7
Merge pull request #60864 from V-Sekai/modification-stack-array
2022-05-09 22:39:44 +02:00
Yuri Roubinsky
a8bbe570ca
Rename hint_albedo
, hint_white/black
in shaders
2022-05-09 22:50:18 +03:00
Yuri Rubinsky
033e211724
Merge pull request #60845 from Chaosus/vs_color_func
2022-05-09 21:34:34 +03:00
Yuri Rubinsky
b5cb4ea067
Merge pull request #60844 from Chaosus/vs_vec4
2022-05-09 21:34:13 +03:00
kobewi
2b53826ee6
Rescue orphan nodes in inherited scenes
2022-05-09 01:22:31 +02:00
K. S. Ernest (iFire) Lee
a396f7eda5
Change skeleton modification 2d and 3d to use the array inspector.
2022-05-07 13:57:10 -07:00
Yuri Roubinsky
ee1b7a033d
Push HSV2RGB/RGB2HSV
to ColorFunc
(from VecFunc
) in visual shaders
2022-05-07 09:49:12 +03:00
Yuri Roubinsky
edd3b1274e
Change output port of VisualShaderNodeColorUniform
to vec4
2022-05-07 08:40:19 +03:00
kobewi
1dc7bcc83c
Cleanup metadata usage
2022-05-06 00:27:10 +02:00
Hugo Locurcio
aabbb40009
Make {call,set,notify}_group()
immediate by default
...
This results in less surprising behavior out of the box.
Internal usages were modified to keep the existing behavior
identical there.
2022-05-05 16:59:37 +02:00
Rémi Verschelde
71e41eb395
Merge pull request #60597 from reduz/missing-node-resource-placeholders
2022-05-05 15:57:50 +02:00
Haoyu Qiu
b3162e270e
Fix global AnimationLibrary name validation
2022-05-05 11:19:54 +08:00
Rémi Verschelde
1b2992799b
Merge pull request #60727 from aaronfranke/basis-axis-column
2022-05-03 19:36:07 +02:00
reduz
0a57f964a3
Implement missing Node & Resource placeholders
...
Implemented by request of @neikeq to advance in the GDExtension version of Mono.
* If a Resource type is missing upon load, it will be remembered together with its data (Unless manually overriden).
* If a Node type is missing upon load, it will be also be remembered together with its data (unless deleted).
This feature makes working with GDExtension much easier, as it ensures that missing types no longer cause data loss.
2022-05-03 17:08:09 +02:00
Rémi Verschelde
b239275989
Merge pull request #60583 from reduz/placeholder-assets
2022-05-03 16:43:13 +02:00
Aaron Franke
fa7a7795f0
Rename Basis get_axis to get_column, remove redundant methods
2022-05-03 09:37:47 -05:00
Rémi Verschelde
8aa791d166
Merge pull request #59321 from Calinou/primitive-meshes-csg-tweak-default-sizes
...
Decrease default sizes of some primitive and CSG meshes for consistency
2022-05-03 15:19:30 +02:00
Rémi Verschelde
931838b330
Merge pull request #60627 from aaronfranke/rename-elements
...
Rename Transform2D and Basis `elements` to `columns` and `rows` respectively
2022-05-03 14:40:01 +02:00
Rémi Verschelde
297241f368
Merge pull request #60714 from Calinou/typedef-remove-ref
...
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
2022-05-03 14:28:18 +02:00
Rémi Verschelde
f75afaa085
Merge pull request #58777 from Sauermann/fix-capsulemesh-tangent
...
Reverse tangents of capsule mesh
2022-05-03 08:18:48 +02:00
Hugo Locurcio
180e5d3028
Remove RES
and REF
typedefs in favor of spelled out Ref<>
...
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
kobewi
e3511dd9d7
Fix tscn not listed as Resource extension
2022-05-02 23:21:15 +02:00
Rémi Verschelde
78193788d0
Merge pull request #59895 from akien-mga/clang-tidy
2022-05-02 17:45:13 +02:00
Rémi Verschelde
c273ddc3ee
Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
...
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.
Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.
Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
bruvzg
7b18c35ab2
Fix resource dependence renaming.
2022-05-02 16:38:09 +03:00
Rémi Verschelde
5c52b30471
Merge pull request #60529 from timothyqiu/theme-validation
2022-05-02 10:49:14 +02:00
Hendrik Brucker
6d876baf60
Improve the VisualShader/VisualScript editor UI
2022-04-30 03:56:57 +02:00
Rémi Verschelde
0e98dbb19c
Merge pull request #60070 from Calinou/proceduralskymaterial-add-dithering
...
Add dithering to ProceduralSkyMaterial to combat banding
2022-04-29 20:28:11 +02:00
Aaron Franke
b831fb0a54
Rename Transform2D "elements" to "columns"
2022-04-29 08:02:39 -05:00
Rémi Verschelde
5a4e478b0f
Merge pull request #58599 from Calinou/styleboxflat-add-skew
...
Add a Skew property to StyleBoxFlat
2022-04-28 18:32:01 +02:00
Rémi Verschelde
9101c5b499
Merge pull request #52624 from e8newallm/52577
...
Corrected ordering of Left/Top/Right/Bottom properties
2022-04-28 17:57:02 +02:00
reduz
b02c7387c7
Implement placeholder assets
...
* Placeholder textures
* Placeholder meshes
* Placeholder material
This PR is the first step towards implementing https://github.com/godotengine/godot-proposals/issues/2756
It adds an asset type that uses no resources, which can be used to replace the existing ones on export for using on the upcoming server export.
2022-04-28 12:19:01 +02:00
Markus Sauermann
a793960a10
Fix cppcheck const parameters
...
Convert method signature parameters to const where it is possible
# Conflicts:
# drivers/gles3/rasterizer_canvas_gles3.cpp
# drivers/gles3/rasterizer_canvas_gles3.h
# editor/plugins/animation_state_machine_editor.cpp
# editor/plugins/animation_state_machine_editor.h
2022-04-28 11:35:39 +02:00
Hugo Locurcio
53b8899be9
Decrease default sizes of some primitive and CSG meshes for consistency
2022-04-27 22:45:38 +02:00
Rémi Verschelde
baeb8ad860
Merge pull request #60361 from Geometror/fix-gradient-texture-2d-get-image
2022-04-27 12:49:39 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2
2022-04-27 10:08:26 +02:00
Rémi Verschelde
e9e2aaf812
Merge pull request #60513 from Calinou/default-font-add-msdf-mipmap
...
Add MSDF and mipmap generation project settings for the default font
2022-04-26 22:39:55 +02:00
Haoyu Qiu
d8c04cda3a
Validate theme type/item names
2022-04-26 19:54:43 +08:00
Rémi Verschelde
e77a7c2976
Merge pull request #60369 from timothyqiu/al-validate
...
Fix AnimationLibrary name validation
2022-04-26 08:17:41 +02:00
Hugo Locurcio
43c34bf611
Add MSDF and mipmap generation project settings for the default font
...
This can be used to improve Label3D and scaled Control appearance
in prototypes.
2022-04-25 16:47:44 +02:00
Rémi Verschelde
68ee730774
Merge pull request #60424 from timothyqiu/fa-unref
...
Close `FileAccess` before accessing it with `DirAccess`
2022-04-25 16:21:09 +02:00
Rémi Verschelde
02bb8e948f
Merge pull request #60261 from fire-forge/theme-prop-renames
2022-04-25 16:20:19 +02:00
Rémi Verschelde
63a052d96b
Merge pull request #60386 from bruvzg/label3d
2022-04-25 15:51:31 +02:00
Rémi Verschelde
7c7ce7dcd7
Merge pull request #60298 from reduz/scene-unique-paths
2022-04-25 13:38:08 +02:00
reduz
8580f377a3
Implement Scene Unique Nodes
...
Implements https://github.com/godotengine/godot-proposals/issues/4096
* Nodes can be marked unique to the scene in the editor (or via code).
* Unique nodes can be accessed via the **%** prefix at any point in the path. From that point in the path (depending on whether the scene of the path is), the unique node will be fetched.
* Implementation is very optimal, as these nodes are cached.
2022-04-25 12:19:17 +02:00
Yuri Rubinsky
d9d871dfbf
Merge pull request #60439 from Chaosus/vs_vec4
2022-04-25 07:20:44 +03:00
Clay John
e80aedbf20
Merge pull request #60378 from clayjohn/ParticlesMaterial-clamp
...
Clamp Gradient and Curve Textures in ParticlesMaterial
2022-04-24 10:37:27 -07:00
FireForge
3073b85de9
Rename theme properties to include underscores
...
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
Yuri Roubinsky
8bf632240d
Continue to improve vector4 type in visual shaders
2022-04-22 22:29:26 +03:00
Haoyu Qiu
caf8e5e339
Close FileAccess before accessing it with DirAccess
2022-04-22 18:15:31 +08: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
Yuri Rubinsky
f4b0c7a1ea
Merge pull request #60175 from Geometror/visual-shader-vector4
2022-04-20 08:33:42 +03:00
clayjohn
1ea4f37c50
Clamp Gradient and Curve Textures in ParticlesMaterial
2022-04-19 15:39:19 -07:00
Hendrik Brucker
39a4036aa2
Fix GradientTexture2D update after setting the gradient
2022-04-19 19:51:49 +02:00
Haoyu Qiu
d8fed8fb69
Fix AnimationLibrary name validation
2022-04-19 17:15:43 +08:00
Rémi Verschelde
7a4c203ce9
Merge pull request #60225 from YeldhamDev/popmenu_arrow_slim
...
Reduce width of arrow icons for the default theme in `PopupMenu`
2022-04-14 21:24:21 +02:00
Michael Alexsander
bab2f3c021
Add font_separator
and related properties to PopupMenu
2022-04-13 23:46:35 -03:00
Michael Alexsander
c088e2f416
Reduce width of arrow icons for the default theme in PopupMenu
2022-04-13 23:22:46 -03:00
nikitalita
6c00f8111d
Fix binsary resource export
2022-04-13 16:33:44 -07:00
Haoyu Qiu
bdfb3884ff
Fix parameter validation when renaming in AnimationLibrary
2022-04-13 22:14:47 +08:00
Rémi Verschelde
d1bb77076a
Merge pull request #60004 from fire-forge/anim-loop-enum
2022-04-13 13:07:34 +02:00
Hendrik Brucker
cf58d23a72
Add Vector4 to VisualShader
2022-04-12 19:09:29 +02:00
Yuri Rubinsky
3d63f6e36d
Merge pull request #60171 from Chaosus/restore_aa
2022-04-12 18:09:58 +03:00
Yuri Roubinsky
6e9535a9c8
Restore antialiasing for draw_line
2022-04-12 13:03:56 +03:00
bruvzg
4bf99f4af2
Narrow FileAccess scope to prevent deadlocks.
2022-04-12 10:54:39 +03:00
Rémi Verschelde
3fc7a96cf8
Merge pull request #60120 from Calinou/environment-editor-ssil-tonemap-hide
...
Hide SSIL properties when SSIL is disabled in the Environment resource
2022-04-11 20:34:28 +02:00
Rémi Verschelde
4ab86c6731
Merge pull request #59980 from reduz/animation-libraries
2022-04-11 14:18:35 +02:00
reduz
6f401439f8
Implement Animation Libraries
...
* Instead of containing single animations, AnimationPlayer now contains libraries.
* Libraries, in turn, contain the animations.
This paves the way for implementing the possibility of importing scenes as animation libraries, finally allowing to import animations separate from the 3D models.
Missing (will be done on separate PRs):
* Make it possible to import scenes (dae/fbx/gltf) as animation libraries.
* Make it possible for AnimationTree to import animation libraries on its own, so it does not rely on AnimationPlayer for everything.
2022-04-11 12:51:54 +02:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted.
2022-04-11 13:28:51 +03:00
FireForge
197be78bc5
Fix Theme type group naming in the inspector
2022-04-10 22:18:21 -05:00
Hugo Locurcio
f9c0a66d6e
Hide SSIL properties when SSIL is disabled in the Environment resource
...
- Hide Tonemap White property when the tonemapper is Linear
(as linear tonemapping does not use a whitepoint).
2022-04-10 23:44:19 +02:00
Hugo Locurcio
bc2ca2ebcf
Add dithering to ProceduralSkyMaterial to combat banding
...
Dithering was already present in PhysicalSkyMaterial. This brings
it to ProceduralSkyMaterial as well, with the same algorithm
and default intensity.
2022-04-09 18:29:41 +02:00
Pawel Lampe
fcd26b8841
Fix navmesh baking
...
- improved mesh data calculation from standalone static colliders so that no
VisualServer calls are performed - and thus no VS mutexes need to
be locked in case of on-thread baking
- improved the same for GridMap's static colliders
2022-04-08 21:01:59 +02:00
FireForge
28261b3da8
Add enum hint for Animation.loop_mode
2022-04-07 17:19:32 -05:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck.
2022-04-06 14:34:37 +03:00
Rémi Verschelde
e9699dca02
Merge pull request #58062 from Calinou/panoramaskymaterial-default-black
2022-04-05 15:21:01 +02:00
Rémi Verschelde
b512fe67a6
Merge pull request #59888 from akien-mga/clang-tidy
2022-04-04 23:57:30 +02:00
Pawel Lampe
e17e4b34a8
Fix debug navmesh errors
2022-04-04 23:03:14 +02:00
Rémi Verschelde
b78aa4fe19
Style: Apply clang-tidy to current code, add readability-redundant-member-init
2022-04-04 21:49:51 +02:00
Rémi Verschelde
f8ab79e68a
Zero initialize all pointer class and struct members
...
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
bruvzg
28520002cf
Fix center aligned text clipping.
2022-04-04 09:04:05 +03:00
FireForge
60dfe76e1f
Fix group name in FastNoise and Gradient
2022-03-31 21:21:04 -05:00
reduz
45f74ceb85
Add PortableCompressedTexture
...
* Resource that allows saving textures embedded in scenes or standalone.
* Supports only formats that are portable: Lossy, Lossles or BasisUniversal
This is something I wanted to add for a long time. I made it now because @fire
requires it for importing GLTF2 files with embedded textures, but also this
will allow saving Godot scenes as standalone binary files that will run
in all platforms (because textures will load everywhere).
This is ideal when you want to distribute individual standalone assets online
in games that can be built from Godot scenes.
2022-03-30 10:39:41 +02:00
Rémi Verschelde
f6ef63635f
Merge pull request #59659 from fountainment/fix_callable_bind_usage
...
Fix Callable::bind usage in connections_dialog.h and packed_scene.cpp
2022-03-30 09:00:07 +02:00
Yuri Roubinsky
509598e8c0
Remove SHADOW_ATTENUATION
spatial light shader built-in
2022-03-29 08:43:31 +03:00
C.Even
619d9d143b
Fix Callable::bind usage in connections_dialog.h and packed_scene.cpp
...
* Callable::bind takes an array of pointers to Variant
* Fixes #57057
2022-03-29 12:15:36 +08:00
Rémi Verschelde
5149db8d85
Merge pull request #59644 from akien-mga/template-no-editor-dep
2022-03-28 23:35:51 +02:00
Rémi Verschelde
f3bd700767
Merge pull request #59619 from Chaosus/vs_input_desc
2022-03-28 22:32:11 +02:00
Rémi Verschelde
324215c485
Merge pull request #59525 from fire-forge/fix-group-names
2022-03-28 21:44:35 +02:00
Rémi Verschelde
45ec0e31c3
Remove last editor code dependencies in template build
...
SConstruct change also makes it possible to outright delete the `editor`
folder in a `tools=no` build, which we use in CI to ensure no invalid
cross-dependencies are added.
2022-03-28 21:13:01 +02:00
FireForge
88b09694e7
Fix inspector group name capitalization
2022-03-28 14:02:06 -05:00
Yuri Roubinsky
9edbdc4f36
Add refs to shading language to the desciption of input nodes in vshader
2022-03-28 22:01:10 +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
Rémi Verschelde
f0407ad14d
Merge pull request #59336 from YeldhamDev/where_we_dropping_boys
2022-03-26 23:30:07 +01:00
Rémi Verschelde
0d772c6e6e
Improve range property hints for various collision shapes
...
Fixes #36419 .
Co-authored-by: Andrii Doroshenko (Xrayez) <xrayez@gmail.com>
2022-03-26 16:20:30 +01:00
FireForge
bb7e6e9951
Rename "ss_reflections_" to "ssr_" in Environment
2022-03-25 14:37:01 -05:00
bruvzg
78051f93a3
Convert the editor and default theme fonts to WOFF2 format to save space.
2022-03-25 11:45:55 +02:00
Rémi Verschelde
99139e17e4
Merge pull request #59170 from akien-mga/import-wav-configure-loop-mode
2022-03-22 13:26:31 +01:00
Michael Alexsander
94b8f38de2
Add visual marker when dragging and dropping tabs
2022-03-21 22:16:29 -03:00
Rémi Verschelde
ef24e95f4a
Merge pull request #59268 from Chaosus/shader_renames2
...
Rename several transform built-ins in shaders
2022-03-18 19:24:38 +01:00
Rémi Verschelde
5c8bd6fd71
Merge pull request #58233 from bruvzg/gde_ts
2022-03-18 14:29:58 +01:00
Yuri Roubinsky
0d9aecd967
Rename several transform built-ins in shaders
2022-03-18 12:10:55 +03:00
Rémi Verschelde
acc9b5b390
Merge pull request #55399 from RPicster/particlesmaterial-sphere-emittershape
...
ParticleMaterial: Sphere emission shape emitting from the volume.
2022-03-18 08:21:59 +01:00
bruvzg
f19cd44346
Unify TextServer built-in module and GDExtension code.
2022-03-17 08:15:29 +02:00
Bastiaan Olij
57e5a33623
Split dummy renderer classes into separate files
...
Split canvas_texture_storage and texture_storage from render_storage class
2022-03-16 17:43:10 +11:00
Rémi Verschelde
b389ce5ccd
ResourceImporterWAV: Allow configuring loop mode on import
...
The new `edit/loop_mode` import options lets user choose to either:
- Detect loop points from the WAV (default, same behavior as before)
- Set the loop mode and loop points manually like in AudioStreamSample
Fixes #46164 .
2022-03-15 16:16:09 +01:00
Rémi Verschelde
6721290831
Merge pull request #58018 from Calinou/procedural-sky-add-cover-texture
...
Add sky cover texture for ProceduralSkyMaterial
2022-03-13 00:56:09 +01:00
Rémi Verschelde
e56b69269f
Merge pull request #59013 from bruvzg/fake_bold_italics
2022-03-11 14:24:13 +01:00
bruvzg
b32e8d63d8
Add options to embolden and transform font outlines to simulate bold and italic typefaces.
2022-03-11 14:02:30 +02:00
Rémi Verschelde
768f9422bc
Convert uses of DirAccess *
to DirAccessRef
to prevent memleaks
...
`DirAccess *` needs to be deleted manually, and this is often forgotten
especially when doing early returns with `ERR_FAIL_COND`.
`DirAccessRef` is deleted automatically when it goes out of scope.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-03-11 09:13:11 +01:00
Rémi Verschelde
af9a60d5b3
Merge pull request #58965 from TechnoPorg/remove-stex-occurrences
...
Remove more occurrences of "stex"
2022-03-11 08:00:52 +01:00
TechnoPorg
f4bc9f5821
Remove more occurrences of "stex"
2022-03-10 18:31:48 -07: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
Yuri Roubinsky
4d6790e9df
Add _get_func_code/_is_available
virtual functions to custom nodes
2022-03-08 16:23:44 +03:00
Rémi Verschelde
eb8ce0ce68
Merge pull request #58750 from Chaosus/vs_varyings
...
Add varying support to visual shaders
2022-03-07 07:41:11 +01:00
Rémi Verschelde
bb5d71f6cc
Merge pull request #58719 from Chaosus/vs_builtins
...
Adds few more input/output built-ins to visual shader
2022-03-07 07:39:51 +01:00
Rémi Verschelde
d37e8586be
Merge pull request #58788 from reduz/rename-streamtexture
...
Rename StreamTexture* to CompressedTexture*
2022-03-06 00:19:55 +01:00
kobewi
bc3aff9b46
Various code and documentation improvements
2022-03-05 22:00:35 +01:00
reduz
ccd4cdfd8b
Rename StreamTexture* to CompressedTexture*
...
* Its not and will not be used for streaming.
* Streaming will be implemented in 4.1 and it will work different.
* It makes more sense to be called CompressedTexture since it imports and compresses texture files.
2022-03-05 16:43:38 +01:00
Markus Sauermann
c2e9b0c566
Reverse tangents of capsule mesh
2022-03-05 09:23:59 +01:00
Yuri Roubinsky
15a87f8e92
Add varying support to visual shaders
2022-03-04 23:30:47 +03:00
Rémi Verschelde
b2e19b2499
Animation: Silence false positive -Wstringop-overflow warning
...
And disable debug code which was wrongly left enabled.
2022-03-04 17:10:22 +01:00
Yuri Roubinsky
2f8cb76899
Adds few more input/output built-ins to visual shader
2022-03-03 21:28:23 +03:00
JFonS
73f92a6e4d
Merge pull request #58548 from V-Sekai/lod_lightmaps
...
Allow automatic lod when importing 3D scenes with Static Lightmaps
2022-03-01 10:23:25 +01:00
Hugo Locurcio
81940c8e57
Clamp BaseMaterial3D triplanar sharpness to values that never look broken
2022-02-27 18:56:19 +01:00
kobewi
678ec9bcde
Don't abort loading scene on missing dependency
2022-02-26 12:02:05 +01:00
K. S. Ernest (iFire) Lee
ab15267096
Allow automatic lod when importing 3D scenes with Static Lightmaps
...
Avoid the normal merge procedure when uv2s are different and makes generating LODs happen after the lightmap generation
2022-02-25 18:03:09 -08:00
Hugo Locurcio
1d9bc35496
Add a Skew property to StyleBoxFlat
...
This makes it possible to create more aesthetically pleasing
styleboxes for GUI theming, especially in games that have
a futuristic appearance (where skewed buttons and progress bars
are common).
2022-02-26 02:39:36 +01:00
Rémi Verschelde
4dc8214831
Merge pull request #58496 from JFonS/fix_lm_crash
2022-02-24 13:29:51 +01:00
jfons
d0fd5fd3c7
Add sanity checks to lightmap unwrap texel size
2022-02-24 13:00:51 +01:00
clayjohn
fe49244611
Use Filament specular models and parametrization
2022-02-22 19:39:41 -08:00
Rémi Verschelde
872e8a43ca
Merge pull request #58343 from aaronfranke/negative-shape-warning
2022-02-22 15:35:18 +01:00
Rémi Verschelde
0beb721c70
Merge pull request #58344 from TokageItLab/fix-cubic-interpolate-with-loop
2022-02-22 12:18:08 +01:00
Rémi Verschelde
ac1a55bc63
Merge pull request #58367 from V-Sekai/tileset_atlas_crash_fix
2022-02-21 11:18:00 +01:00
Markus Sauermann
79a75cd683
simplify calculation of max in grayscale
2022-02-20 18:36:46 +01:00
SaracenOne
257a71d29e
Fix nullptr error in _update_padded_texture on texture with no image
2022-02-20 17:22:14 +00:00
Silc 'Tokage' Renew
f3895e7a67
Fixed cubic interpolate with loop
2022-02-20 15:46:58 +09:00
Aaron Franke
9f048f4c4d
Show an error when setting a negative size on a collision shape
2022-02-20 00:37:49 -06:00
Haoyu Qiu
dd9ba6de9f
Fix crash when importing small GLTF mesh
2022-02-19 13:30:17 +08:00
clayjohn
63cb91e05c
Revert "Default to real-time radiance map filter for environment sky reflections"
...
This reverts commit 09563e4bd8
.
2022-02-17 23:13:32 -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
6d57587396
Merge pull request #57931 from Calinou/sky-default-filter-realtime
2022-02-15 20:29:57 +01:00
Rémi Verschelde
760a95e86a
Merge pull request #57877 from bruvzg/subpixel_gl_pos
2022-02-15 13:58:38 +01:00
Rémi Verschelde
b3507ab0cd
Merge pull request #58100 from Calinou/environment-clamp-sky-contribution
...
Clamp environment light sky contribution to the [0.0; 1.0] range
2022-02-15 07:42:30 +01:00
Hugo Locurcio
c10e97b604
Clamp environment light sky contribution to the [0.0; 1.0] range
...
The value is already clamped in the editor, but it wasn't being
clamped when the value was set via code. Values outside the [0.0; 1.0]
range can result in broken rendering.
2022-02-14 17:15:32 +01:00
Hugo Locurcio
15244e55bd
Improve completion scroll bar visibility in the script editor
...
This makes the scroll bar bar thicker and more opaque (roughly
matching the editor theme's scroll bar by default).
2022-02-14 16:49:08 +01:00
Rémi Verschelde
cd6301ae25
Merge pull request #58008 from Geometror/increase-checkerboard-contrast
2022-02-14 15:22:50 +01:00
Hugo Locurcio
a86deac049
Default PanoramaSkyMaterial texture to black instead of white
...
This prevents blinding the user while the user is still setting up
the panorama sky texture.
2022-02-13 22:03:09 +01:00
Rémi Verschelde
7224389468
Merge pull request #57954 from TokageItLab/refactor-cubic-interpolate
...
Implement `cubic_interpolate()` as MathFunc for refactoring
2022-02-13 10:34:13 +01:00
bruvzg
29199579f7
Add sub-pixel glyph positioning support.
2022-02-12 19:55:52 +02:00
Hugo Locurcio
56b604bef7
Add sky cover texture for ProceduralSkyMaterial
...
This brings PhysicalSkyMaterial's Night Sky functionality to
ProceduralSkyMaterial, but in a more powerful and general fashion.
This can be used to display stars at night, or clouds at day and night.
For clouds, it won't be physically accurate, but it can look good still.
The Sky Cover Modulate property can be used to adjust the sky cover's
colors and opacity in real-time, which is useful for day/night or weather
transitions.
2022-02-12 18:39:57 +01:00
Rémi Verschelde
498805282a
Merge pull request #57993 from Calinou/sky-tweak-default-values
2022-02-12 16:46:19 +01:00