Commit graph

531 commits

Author SHA1 Message Date
PhoenixFlame101
dd8cee4b50 Fix code folding icon color not matching defined color
Caused by reusing icons from the main editor in the code editor. These
icons were converted based on the main editor theme and not the code
editor theme.

 - Create new icons for use specifically in the code editor
 - Add these icons to the exceptions when converting dark theme icons
   to light theme automatically
 - Change the default value of the code folding color to match previous
   color
 - Code folding icon is now pure white by default to correctly match
   the color defined in settings
2022-07-20 23:05:47 +03: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
97dfbea6ad Rename Control PRESET_WIDE to PRESET_FULL_RECT 2022-07-18 20:08:11 -05:00
bruvzg
f63d54126d
Add LabelSettings resource for quick Label theme property override. 2022-07-12 16:05:12 +03:00
FireForge
dcf42cff86 Add "Open Documentation" button to EditorProperty context menu 2022-07-11 19:30:46 -05:00
Rémi Verschelde
d479eba7b4
Merge pull request #62405 from YeldhamDev/movie_maker_stuff
Clean and fix the Movie Maker button
2022-07-08 14:42:34 +02:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
Silc Renew
dc43cfc830 implement bone renamer in importer 2022-07-01 03:55:28 +09:00
Rémi Verschelde
16b23ee372
Merge pull request #62248 from Calinou/editor-icons-add-multiplayer-nodes
Add editor icons for MultiplayerSpawner and MultiplayerSynchronizer
2022-06-26 08:51:45 +02:00
Rémi Verschelde
2b349141dc
Merge pull request #62250 from Calinou/editor-icons-add-abstract-icons
Add editor icons for abstract nodes that can now be added in the editor
2022-06-26 08:49:58 +02:00
Hugo Locurcio
283356c7ee
Add editor icons for MultiplayerSpawner and MultiplayerSynchronizer
Co-authored-by: Hendrik Brucker <hendrik.brucker@mail.de>
2022-06-26 05:35:55 +02:00
Hugo Locurcio
8a31a2d25c
Add editor icons for abstract nodes that can now be added in the editor 2022-06-26 05:08:44 +02:00
Michael Alexsander
793810938e Clean and fix the Movie Maker button 2022-06-25 18:14:19 -03:00
Rémi Verschelde
40c360b870
Merge pull request #62122 from reduz/implement-movie-writer
Implement a Movie Maker mode
2022-06-21 14:24:14 +02:00
reduz
5786516d4d Implement Running Godot as Movie Writer
* Allows running the game in "movie writer" mode.
* It ensures entirely stable framerate, so your run can be saved stable and with proper sound (which is impossible if your CPU/GPU can't sustain doing this in real-time).
* If disabling vsync, it can save movies faster than the game is run, but if you want to control the interaction it can get difficult.
* Implements a simple, default MJPEG writer.

This new features has two main use cases, which have high demand:
* Saving game videos in high quality and ensuring the frame rate is *completely* stable, always.
* Using Godot as a tool to make movies and animations (which is ideal if you want interaction, or creating them procedurally. No other software is as good for this).

**Note**: This feature **IS NOT** for capturing real-time footage. Use something like OBS, SimpleScreenRecorder or FRAPS to achieve that, as they do a much better job at intercepting the compositor than Godot can probably do using Vulkan or OpenGL natively. If your game runs near real-time when capturing, you can still use this feature but it will play no sound (sound will be saved directly).

Usage:

$ godot --write-movie movie.avi [scene_file.tscn]

Missing:

* Options for configuring video writing via GLOBAL_DEF
* UI Menu for launching with this mode from the editor.
* Add to list of command line options.
* Add a feature tag to override configurations when movie writing (fantastic for saving videos with highest quality settings).
2022-06-21 11:28:47 +02:00
Hugo Locurcio
aafb5e54f4
Rename VideoPlayer editor icon to VideoStreamPlayer
The icon was previously unused.
2022-06-20 16:37:37 +02:00
Hugo Locurcio
6999b55190
Tweak editor icons for navigation nodes and SkeletonIK3D
This adds a partial 2D/3D color to each icon for easier visual grepping.
The icons are not fully colored as these nodes don't inherit from
Node2D or Node3D. This is similar in principle to how the
WorldEnvironment editor icon is colored.
2022-06-19 07:53:54 +02:00
kobewi
5553e27fe8 Add vector value linking
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-14 14:58:44 +02:00
Gilles Roudière
62d2549e9e Add terrain center bit 2022-06-10 14:37:39 +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
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
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
kobewi
142d0e7d75 Change Place Random Tiles to an icon 2022-05-01 22:13:30 +02:00
Haoyu Qiu
ef42b686ad Fix external link icon black background
(cherry picked from commit 65f3d99693)
2022-04-29 09:15:56 +02:00
Rémi Verschelde
bfc727d970
Merge pull request #60493 from Calinou/editor-add-external-link-icon 2022-04-25 16:04:15 +02:00
Rémi Verschelde
63a052d96b
Merge pull request #60386 from bruvzg/label3d 2022-04-25 15:51:31 +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
Hugo Locurcio
5626d026d8
Add an external link editor icon
This replaces the existing "chainlink" instance icon that was
used for external links. That icon is still used for scene instancing.

The icon was designed by redlamp.

Co-authored-by: Taylor Wright <taylor@redlamp.org>
2022-04-24 17:26:29 +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
Yuri Rubinsky
f4b0c7a1ea
Merge pull request #60175 from Geometror/visual-shader-vector4 2022-04-20 08:33:42 +03:00
Hendrik Brucker
cf58d23a72 Add Vector4 to VisualShader 2022-04-12 19:09:29 +02:00
Rémi Verschelde
bbd8651d87
Merge pull request #60020 from KoBeWi/yeet_bg 2022-04-11 17:54:58 +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
kobewi
f75e08db6a Remove unused SplitContainer bg theme property 2022-04-08 13:05:29 +02:00
Rémi Verschelde
10dc3284fa
Merge pull request #59178 from Calinou/occluder3d-add-editor-icons 2022-04-07 19:02:41 +02:00
Michael Alexsander
94b8f38de2 Add visual marker when dragging and dropping tabs 2022-03-21 22:16:29 -03:00
Hugo Locurcio
bfa2b4c3f5
Add editor icons for all Occluder3D resources
These icons are derived from the Mesh resource icons.
2022-03-15 22:50:46 +01:00
Rémi Verschelde
0ce3fff3f8
Merge pull request #58437 from timothyqiu/svg-viewbox 2022-03-13 17:41:35 +01:00
TechnoPorg
f4bc9f5821 Remove more occurrences of "stex" 2022-03-10 18:31:48 -07:00
Haoyu Qiu
4eaddf9b55 Fix viewBox of ViewportSpeed.svg 2022-02-23 01:16:35 +08:00
Hugo Locurcio
8c06318722
Tweak the default project icon
This only affects newly created projects.

- Use a 128×128 resolution to make the icon look crisp on hiDPI displays.
- Darken the icon's outside area and remove the border, as the
  contrast rate between the icon and its background is now sufficient.

This different design also allows distinguishing projects that
were made with Godot 3.x from projects made with Godot 4.0.
2022-02-15 20:23:12 +01:00
Rémi Verschelde
cd6301ae25
Merge pull request #58008 from Geometror/increase-checkerboard-contrast 2022-02-14 15:22:50 +01:00
Yuri Sizov
7f4b71b682 Add missing CheckButton icons 2022-02-14 16:23:59 +03:00
Hendrik Brucker
8ebecf5095 Increase checkerboard texture contrast 2022-02-12 14:55:07 +01:00
Yuri Sizov
107b6f299c Reorganize inspector layout workflow for Control nodes 2022-02-10 20:29:34 +03:00
Rémi Verschelde
e22a162003
Merge pull request #57365 from pycbouh/editor-icons-uniformity 2022-01-28 23:53:23 +01:00
Yuri Sizov
36ff66c62f Fix the breakpoint icon in CodeEdit 2022-01-29 01:03:43 +03:00
Yuri Sizov
49eddd22e0 Update icons and color conversion rules to simplify the palette 2022-01-29 01:03:39 +03:00
Yuri Sizov
af045e568d Remove unnecessary transformations from editor icons 2022-01-28 16:16:28 +03:00
Wagner Scholl Lemos
a2d176a53d Fix to prevent icons from disappearing. 2022-01-27 19:29:42 -03:00
Hugo Locurcio
5e901c5807
Fix missing VoxelGI 3D editor gizmo icon 2022-01-22 00:41:56 +01:00
Hugo Locurcio
84a69d7429 Improve the default project theme
The new default project theme uses StyleBoxFlat extensively for
a more modern design and better scalability to multiple resolutions.

SVG icons are now used in place of PNG icons. While this does not
allow for true vector-based icon drawing (icons are still rasterized
at load-time), this makes the design work easier for contributors
and opens the door to vector drawing in the future (e.g. with polygons
or SDFs).

Like for editor icons, the SVG header file is now built automatically
when a SVG file is changed. This removing the need for running
`make_header.py` manually (TODO).

The "Use Hidpi" project setting has been removed in favor of a
"Default Theme Scale" project setting, which allows creating the
default theme at a higher/lower scale than the default.
This can be used when designing GUIs with a high base resolution
to ensure crisp visuals.

Co-authored-by: Yuri Sizov <yuris@humnom.net>
2022-01-19 18:46:01 +03:00
Rémi Verschelde
030638e5b4
Merge pull request #56104 from Geometror/add-flow-layout-container
Add FlowContainer
2022-01-18 20:26:29 +01:00
Yuri Roubinsky
b9d864bf8e Fix toast notification button color on light theme 2022-01-18 14:31:14 +03:00
Haoyu Qiu
e9f660c066 Improve the SnapGrid editor icon 2022-01-13 23:38:28 +08:00
Hendrik Brucker
40ee2b8953 Add FlowContainer 2022-01-07 15:51:49 +01:00
Rémi Verschelde
21b81998bb
Merge pull request #54002 from Calinou/editor-anchor-icon-improve-accent-visibility 2021-12-10 11:06:32 +01:00
Hugo Locurcio
cf936ae0dd
Rename GPUParticles attractor and collision nodes to have a 3D suffix
GPUParticles attractors and collision are currently only available in 3D.
Their 2D counterparts haven't been implemented yet, but they will use
separate nodes.
2021-12-08 00:21:05 +01:00
kobewi
30e1478d0f Remove ProximityGroup3D node 2021-12-06 17:01:51 +01:00
Hugo Locurcio
d7cd44418d
Use a different icon for eased keyframes in the animation editor
This makes easing tracks easier to recognize, in a way similar
to curved lines in the Path2D editor.
2021-11-15 13:16:21 +01:00
Camille Mohr-Daurat
74facb6d39
Merge pull request #54803 from goostengine/shape-cast-2d
Add `ShapeCast2D` node
2021-11-12 13:28:44 -07:00
Andrii Doroshenko (Xrayez)
f979d5977a Add ShapeCast2D node 2021-11-12 21:29:30 +02:00
Rémi Verschelde
57ae154e86
Merge pull request #53987 from groud/tile_data_inspector_plugin 2021-11-12 15:10:54 +01:00
Rémi Verschelde
06a33e590f
Merge pull request #53819 from TokageItLab/re-implement-ping-pong
Reimplement ping-pong animation and reverse playback
2021-11-09 22:11:04 +01:00
Hendrik Brucker
ed0337c0b9 Several Gradient improvements 2021-11-08 19:11:36 +01:00
Yuri Roubinsky
4a32754e78
Merge pull request #54715 from goostengine/gradient-texture-1d-rename 2021-11-08 20:52:24 +03:00
Rémi Verschelde
0b0f7fa9ef
Merge pull request #54275 from Calinou/editor-tweak-animation-editor-icon-colors 2021-11-08 13:32:32 +01:00
Andrii Doroshenko (Xrayez)
6742a338a8 Rename GradientTexture to GradientTexture1D
1. Explicit and unambiguous when comparing to `GradientTexture2D`
2. Consistent with other class names where 1D is used in the engine.
2021-11-07 15:11:04 +02:00
Silc 'Tokage' Renew
953a7bce7e reimplement ping-pong 2021-11-03 13:39:33 +09:00
Rémi Verschelde
292f63e676
Merge pull request #54383 from Calinou/colorpicker-overbright-indicator-tweak-icon
Tweak overbright indicator icon to be more visible on white background
2021-10-30 08:33:27 +02:00
Yuri Roubinsky
bc171971dd
Merge pull request #53234 from Geometror/gradient-texture-2d 2021-10-29 18:59:40 +03:00
Hugo Locurcio
d8c21e7405
Tweak overbright indicator icon to be more visible on white background
An outline is now present on all sides to ensure it's more visible
when the "new" color (on the right of a ColorPicker) is overbright.
2021-10-29 16:13:50 +02:00
clayjohn
1b2cd9f251 Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFog
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
2021-10-28 22:02:23 -07:00
Hugo Locurcio
e549ce28a0
Tweak animation editor icon colors for easier visual grepping
This makes the Linear and Cubic icons in particular easier to
distinguish from each other.

The Cubic interpolation icon's curve was also changed to be
more distinguishable from the Linear icon's curve.
2021-10-26 22:54:59 +02:00
Hugo Locurcio
c98fcb84f5
Tweak curve preset icon colors for easier visual grepping
When choosing curve presets many times a day, this helps pick
the right preset faster.
2021-10-26 19:51:17 +02:00
Gilles Roudière
cec004adf0 Implement polygons editors in the tiles selection mode 2021-10-26 12:38:36 +02:00
Silc 'Tokage' Renew
653e2a550c Fixed animation insertion in SkeletonEditor 2021-10-23 16:50:00 +09:00
Hugo Locurcio
f0c7d78ebf
Improve accent color modulate visibility for the Anchor editor icon
This switches to the default icon color so that the accent color
modulation becomes more easily visible.
2021-10-19 20:39:05 +02:00
Michael Alexsander
67acb7de6e Rename Tabs to TabBar 2021-10-19 11:37:31 -03:00
Rémi Verschelde
4387f9645b
Merge pull request #52940 from groud/toast_notification 2021-10-19 09:57:13 +02:00
reduz
ae1c016547 Implement Animation Blend Shape Tracks
* New track type BLEND_SHAPE
* Blend shapes are imported via this new track type
* Processing is more optimized (no longer relies on variants)
* Modified the Blend Shape API in MeshInstance3D to use indices rather than StringNames (more optimizes)
* Promo: Fixed a small bug in gizmo updating in Node3D that affected performance

Dedicated BlendShape tracks are required for both optimization and eventually implementing them in animation compression.
2021-10-16 08:36:05 -03:00
Gilles Roudière
0587e5e018 Implement toast notifications in the editor 2021-10-14 13:30:54 +02:00
reduz
ec19ed3723 Remove animation 3D transform track, replace by loc/rot/scale tracks.
* `Animation.TYPE_TRANSFORM3D` track is gone.
* Added POSITION_3D, ROTATION_3D, SCALE_3D tracks.
* GLTF2, Collada, FBX importers will only import the track types found.
* Skeleton3D bone poses are now Pos/Rot/Scale, pose matrix removed.
* AnimationPlayer and AnimationTree animate these tracks separately, only when found.
* Removed BakeReset code, is useless with these changes.

This is the first in a series of commits designed to make the animation system in Godot more useful, which includes:

* Better compatibility with Autodesk products
* Better reusability of animations across models (including retargeting).
* Proper animation compression.
* etc.

*Note* GLTF2 animation saving went broken with this PR, needs to be fixed in a subsequent one.
2021-10-12 20:08:42 -03:00
Hendrik Brucker
cd37af4e4c Add GradientTexture2D
Co-authored-by: Mariano Javier Suligoy <marianognu.easyrpg@gmail.com>
Co-authored-by: Andrii Doroshenko <xrayez@gmail.com>
2021-10-12 16:22:30 +02:00
Juan Linietsky
610de0974d
Revert "Implement reverse playback and ping-pong loop in AnimationPlayer and NodeAnimation" 2021-10-11 19:27:50 -03:00
Tokage
372ba76663 implement ping-pong loop in animation
Co-authored-by: Chaosus <chaosus89@gmail.com>
2021-10-09 18:08:43 +09:00
Silc Renew
f2e9867e9f Implemented SkeletonEditorGizmo
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2021-10-07 01:07:46 +09:00
Eric M
e0f8410d16 Improved breakpoint gutter for CodeEdit.
Added preview of breakpoint placement on hover. Added override of icon for the Editor to use an SVG so it is no longer blurry.
2021-09-30 22:15:47 +10:00
Wilson E. Alvarez
f3a564f9a5
Rename Listener2D/Listener3D to AudioListener2D/AudioListener3D 2021-09-16 17:51:51 -04:00
Camille Mohr-Daurat
3581b893ed
Merge pull request #52681 from nekomatata/rename-rigid-body
Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody
2021-09-16 11:20:21 -07:00
PouleyKetchoupp
85819b199a Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody 2021-09-16 09:55:20 -07:00
Rémi Verschelde
879ce4c6e1
Merge pull request #49266 from Calinou/remove-unused-editor-icons
Remove unused editor icons
2021-09-16 12:08:38 +02:00
Hugo Locurcio
05697ee848
Display a editor gizmo icon for Listener3D
The icon was present in `editor/icons/`, but it was never implemented
in the editor gizmos code.

This also removes some unused gizmo drawing code (overridden methods
that are no longer called anywhere).
2021-09-16 10:56:45 +02:00
Camille Mohr-Daurat
1852afb6b0
Merge pull request #52679 from nekomatata/world-boundary-shape
Rename WorldMarginShape to WorldBoundaryShape
2021-09-15 16:02:40 -07:00
PouleyKetchoupp
bb75aec8bc Rename WorldMarginShape to WorldBoundaryShape 2021-09-14 11:16:31 -07:00
Juan Linietsky
d0a7eeaaff
Merge pull request #44844 from KoBeWi/hey_listen!_but_2d
Add Listener2D
2021-09-09 19:19:10 -03:00
Juan Linietsky
93aa158b5e
Merge pull request #52277 from groud/implement_array_property_hint
Implement properties arrays in the Inspector.
2021-09-07 11:59:46 -03:00
Gilles Roudière
4bd7700e89 Implement properties arrays in the Inspector. 2021-09-07 09:51:28 +02:00
Camille Mohr-Daurat
a93fb2655a
Merge pull request #52286 from nekomatata/restore-kinematic-body
Add AnimatableBody inherited from StaticBody for moving platforms
2021-09-06 09:32:46 -07:00
Silc 'Tokage' Renew
facf8f1883 Apply set_read_only() to child classes of EditorProperty elements 2021-09-05 18:22:17 +09:00
PouleyKetchoupp
83baecdff0 Add AnimatableBody inherited from StaticBody for moving platforms
Instead of having a physics node named Static that can be either Static
or Kinematic, AnimatableBody is added again as a separate node:
-Inherited from StaticBody to make its usage clearer
-Still separated from CharacterBody to make its usage more focused

Properly implemented constant velocity for kinematic bodies in godot
physics servers (induced velocity without actually moving).

Also updated description for the different physics nodes to make their
usage clearer.
2021-08-31 18:14:32 -07:00
kobewi
f2cb0a8d4b Add Listener2D 2021-08-31 16:53:14 +02:00
PouleyKetchoupp
3d5dc80348 Rename RayShape to SeparationRayShape
Makes it clearer that it's used for special cases when picking a
collision shape.
2021-08-24 17:34:55 -07:00
PouleyKetchoupp
45c7af9862 Restore RayShape as a regular shape type
Partial revert from previously removing ray shapes completely, added
back as a shape type but without the specific character controller code.
2021-08-24 16:03:05 -07:00
Rémi Verschelde
a031579286
Merge pull request #50752 from Phischermen/indeterminate_checkmark_api
Added icons and API for indeterminate checkmarks for the Tree class.
2021-08-18 10:31:06 +02:00
Hugo Locurcio
5be4ea27d1
Fix missing and incorrectly named visual shader texture uniform icons 2021-08-18 05:41:02 +02:00
Kevin Fischer
75866c81e7 Added icons and API for indeterminate checkmarks for the Tree class. 2021-08-16 10:13:06 -07:00
Rémi Verschelde
2459f81044
Merge pull request #51704 from Calinou/editor-icons-add-expression
Add editor icons for VisualScript and VisualShader expression resources
2021-08-16 12:43:52 +02:00
Rémi Verschelde
40f5c571ec
Merge pull request #51702 from Calinou/port-visual-shader-icons
Port visual shader node icons from Godot 2.1.x
2021-08-16 12:43:29 +02:00
Umang Kalra
c2f8c94b15 Changes the icon of node arranger in GraphEdit/VisualScript/VisualShader 2021-08-16 12:30:15 +05:30
Hugo Locurcio
c7dbac9d02
Add editor icons for VisualScript and VisualShader expression resources 2021-08-16 01:43:51 +02:00
Hugo Locurcio
ed82634857
Port visual shader node icons from Godot 2.1.x 2021-08-16 00:53:26 +02:00
Hugo Locurcio
8e3f71d750
Rename LineShape2D to WorldMarginShape2D
The new name makes it more obvious that it acts as an infinite plane,
and is consistent with its 3D counterpart (WorldMarginShape3D).
2021-08-14 03:12:13 +02:00
Rémi Verschelde
7d43da928f
Merge pull request #51490 from nekomatata/clean-character-body
Remove infinite inertia and ray shapes from CharacterBody
2021-08-11 08:04:09 +02:00
K. S. Ernest (iFire) Lee
18bd0fee5a
Merge pull request #49343 from theoway/node_auto_arrangement_graph_edit
Node Auto Arrangement in GraphEdit/VisualScript/VisualShader
2021-08-10 15:42:04 -04:00
Umang Kalra
12fc3f1eef Automatic arrangement of nodes in VisualScript/VisualShaders editors
This PR and commit adds the functionality to arrange nodes in VisualScript/VisualShader editor. The layout generated by this 
feature is compact, with minimum crossings between connections
& uniform horizontal & vertical gaps between the nodes. 

This work has been sponsored by GSoC '21.

Full list of additions/changes:
• Added arrange_nodes() method in GraphEdit module.
    • This method computes new positions for all the selected
      nodes by forming blocks and compressing them.
      The nodes are moved to these new positions. 
    • Adding this method to GraphEdit makes it available for 
      use in VisualScript/VisualShaders editors and its other
      subclasses. 
• Button with an icon has been added to call arrange_nodes() in GraphEdit. 
    • This button is inherited by VisualScript/VisualShaders editors
       to invoke the method.
• Undo/redo is functional with this method.
    • By using signals in arrange_nodes(), position changes are registered 
       in undo/redo stack of the subclass that is using the method. 
• Metadata of the method has been updated in ClassDB
• Method description has been added to class reference of GraphEdit
2021-08-11 00:44:28 +05:30
PouleyKetchoupp
4da3a87f7d Remove infinite inertia and ray shapes from CharacterBody
Infinite inertia:
Not needed anymore, since it's now possible to set one-directional
collision layers in order for characters to ignore rigid bodies, while
rigid bodies still collide with characters.

Ray shapes:
They were introduced as a work around to allow constant speed on slopes,
which is now possible with the new property in CharacterBody instead.
2021-08-10 12:10:26 -07:00
John Wigg
6acc63c13a Change PrismMesh editor icon to look like a prism. 2021-08-09 17:24:11 +01:00
Gilles Roudière
ad8b5cd5a4 Implements TileMap layers and move TileSetPlugins's functions to the TileMap node instead 2021-08-02 13:54:39 +02:00
K. S. Ernest (iFire) Lee
2fa4b59f99
Merge pull request #50355 from Calinou/immediategeometry3d-remove-remains
Remove the remains of ImmediateGeometry3D
2021-07-27 00:54:23 -07:00
Rémi Verschelde
6ddaebc091
Merge pull request #47538 from LightningAA/inspector-reorder-array-4.0
Add the ability to reorder array elements from the inspector
2021-07-15 14:01:31 +02:00
Rémi Verschelde
514c8d586a
Merge pull request #50356 from Calinou/ormmaterial3d-tweak-editor-icon
Tweak the ORMMaterial3D editor icon to follow the Godot design guidelines
2021-07-12 08:48:50 +02:00
Lightning_A
ec67266af3 Add the ability to reorder arrays from the inspector 2021-07-11 16:09:39 -06:00
Hugo Locurcio
b1b1176b74
Add an editor icon for the ImmediateMesh resource 2021-07-11 20:40:11 +02:00
Hugo Locurcio
3a56d8d3ac
Tweak the ORMMaterial3D editor icon to follow the Godot design guidelines 2021-07-11 20:26:01 +02:00
Hugo Locurcio
161214d374
Remove the remains of ImmediateGeometry3D
ImmediateGeometry3D was recently removed in favor of the ImmediateMesh
resource.
2021-07-11 00:42:44 +02:00
Gilles Roudière
30a615dd94 Implement painting properties over TileSets 2021-06-29 11:07:46 +02:00
reduz
ab2456b740 Rename VisibilityNotifierXD to VisibleOnScreenNotifierXD
* Renames for 2D and 3D
* Class name was confusing, given both 2D and 3D have a "visible" property that is unrelated to actual on-screen visibility.
* New name makes it clear that this is about visibility on screen.
2021-06-16 22:01:39 -03:00
Bastiaan Olij
2161fd117b
Adding some more missing renames for Transform3D and Quaternion 2021-06-15 16:01:50 +02:00
Silc 'Tokage' Renew
67689dac7b update property selector's icon list and rename Quat.svg to Quaternion.svg 2021-06-09 23:50:29 +09:00
reduz
32625145c8 Rename GI Classes
* GIProbe is now VoxelGI
* BakedLightmap is now LightmapGI

As godot adds more ways to provide GI (as an example, SDFGI in 4.0), the different techniques (which have different pros/cons) need to be properly named to avoid confusion.
2021-06-05 09:28:56 -03:00
PouleyKetchoupp
ba13d23140 KinematicBody split between new CharacterBody and PhysicsBody
PhysicsBody now has methods move_and_collide/test_move and needed
properties for these methods: safe margin, locked axes (3D only).

Moved collision_exceptions from StaticBody to PhysicsBody for 3D
(same as 2D, and conforms to documentation).

RigidBody doesn't have test_motion method anymore, it's now redundant
with PhysicsBody.test_move.
2021-06-04 11:40:36 -07:00
Aaron Franke
fa7874d6ce
Flip 2D icon to match Godot's handedness 2021-06-03 17:36:54 -04:00
Hugo Locurcio
2429564c37
Remove unused editor icons
This also renames the TextureArray icon to follow its rename to
Texture2DArray.
2021-06-03 18:26:48 +02:00
Rémi Verschelde
af3ebc96ed
Merge pull request #44259 from gongpha/new-gradient-icon
New icons for Gradient and GradientTexture resources
2021-06-03 09:14:53 +02:00
Rémi Verschelde
16e6b532ed
Merge pull request #49263 from Calinou/add-occluder3d-editor-icons
Add editor icons for Occluder3D and OccluderInstance3D
2021-06-03 08:34:33 +02:00
Hugo Locurcio
8a26179b70
Add editor icons for Occluder3D and OccluderInstance3D 2021-06-03 00:54:20 +02:00
Hugo Locurcio
0f4df474c9
Improve radio checkboxes in the default editor theme 2021-06-03 00:44:21 +02:00
Rémi Verschelde
313e1f62bb
Merge pull request #48931 from groud/add_some_tiles_editors_settings
Add TileMap grid editor settings.
2021-05-25 12:04:16 +02:00
Gilles Roudière
78ad206d74 Add TileMap grid editor settings. 2021-05-25 10:23:57 +02:00
Hugo Locurcio
cce4ac26a0
Add editor icons for RibbonTrailMesh and TubeTrailMesh 2021-05-24 21:57:03 +02:00
Rémi Verschelde
c321f6ff47
Merge pull request #48644 from Calinou/editor-increase-icon-saturation
Increase icon saturation by 30% for all editor icons
2021-05-24 19:20:09 +02:00
Hugo Locurcio
0d27c4d809
Tweak pressed CheckBox appearance in the editor
This uses the accent color to match pressed CheckButtons after they
were updated. Checked checkboxes are now more prominent in the user's
peripheral vision, which can be useful at times. This also matches
how checkboxes look in most operating systems and web browsers.
2021-05-22 03:45:01 +02:00
Hugo Locurcio
3eae2f9c6d
Add "Support Godot Development" option to the editor's Help menu 2021-05-15 01:58:29 +02:00
Hugo Locurcio
7375a02015
Increase icon saturation by 30% for all editor icons
More saturated icons go better with the new editor theme.

These color changes only apply when using a dark theme.

The editor icon saturation can still be adjusted in the Editor Settings.
Setting the editor icon saturation setting to 0.77 should roughly match
the old icon saturation.
2021-05-11 18:15:31 +02:00
Yuri Sizov
912420b078 Refactor Create Theme menu in Theme Editor 2021-05-09 03:13:19 +03:00
Gilles Roudière
a3dda2df85 Rework the TileSet resource and TileMap nodes:
- Move most properties from TileMap to TileSet,
- Make TileSet more flexible, supporting more feature (several
  collision layers, etc...),
- Fusion both the TileMap and TileSet editor,
- Implement TileSetSources, and thus a new way to index tiles in the TileSet,
- Rework the TileSet and TileMap editors completely,
- Implement an editor zoom widget (and use it in several places)
2021-05-07 18:06:17 +02:00
Eric M
3de4181bd8 Output log rewrite and enhancements.
Added message type filters.
Added ability to search.
Added ability to collapse multiple duplicate messages into one line.
Updated layout to allow for more vertical space in log text area.
2021-05-04 16:21:33 +10:00
Rémi Verschelde
0e93a1df79
Remove obsolete LargeTexture, it's no longer useful since 3.x
It existed in early Godot releases to allow working around hardware limitations
on max texture sizes (e.g. hardware limits of 1024x1024 pixels).

Nowadays the max texture size supported natively by Godot is 16384x16384, and
even low end mobile hardware should support at least 4096x4096.

The LargeTexture implementation is basically just an array with offsets, sizes
and textures and should be easy to replicate with a custom Texture resource if
needed - solving most of its bugs on the way as the implementation removed here
has various unimplemented or incomplete methods.
2021-04-28 15:51:55 +02:00
Yuri Sizov
2524238bb3 Refactor Edit Theme menu in Theme Editor 2021-04-18 17:55:49 +03:00
Kongfa Waroros
6294507acb Add Various ColorPicker shapes 2021-04-06 22:48:03 +07:00
Hugo Locurcio
b60b6ddba4
Add a subtle background to editor scrollbars
This makes it possible to see whether a scrollbar grabber is at the top
or at the bottom of a scrollbar. Also, if a scrollable area is very
large, this makes it easier to notice that the area can be scrolled
(since the grabber is proportionally very small).

The scrollbar grabbers were also made thicker and slightly more opaque
for better visibility, especially in peripheral vision.
2021-04-05 02:04:45 +02:00
Kongfa Waroros
d295d53b4a Add interpolation bar on each channel in ColorPicker 2021-03-09 14:58:19 +07:00
Aaron Franke
0efbd13d8a
Change fallback icon for abstract nodes to have a grayed out color 2021-02-17 13:06:03 -05:00
Hugo Locurcio
7279b4ee35
Add icons for the new GPU particle attractor and collision nodes 2021-02-15 22:15:48 +01:00
Danil Alexeev
c553ca54d5 Change logo in the About dialog box (return Godot's teeth) 2021-02-14 18:50:05 +03:00
Hugo Locurcio
114c1a78d9
Tweak the editor CheckButton "presed" appearance to be more recognizable
The blue accent color is now used, which matches the default editor
accent color.

It doesn't change to match the currently configured accent color
automatically, but doing so would require modifying the CheckButton
class a lot for little benefit.
2020-12-20 22:32:37 +01:00
Rémi Verschelde
c83d1b2526
Merge pull request #43416 from pycbouh/graph-minimap
Add a minimap to the GraphEdit
2020-12-17 17:34:36 +01:00
Rémi Verschelde
999b38cecd
Merge pull request #44366 from gongpha/fix-texture3d-texturearray-icon-rasterizing
Improve Texture3D and TextureArray icons
2020-12-16 14:19:54 +01:00
gongpha
0ed1915053 New icons for Gradient and GradientTexture resources 2020-12-15 21:06:31 +07:00
Hugo Locurcio
57dcc83152
Rename the TextureProgress node to TextureProgressBar
Advantages:

- When searching for "progressbar", you'll see both nodes in the
  search results.
- More consistent with Button/TextureButton.
2020-12-14 21:35:13 +01:00
gongpha
fd4939111e Improve Texture3D and TextureArray icons 2020-12-14 20:00:42 +07:00
Michael Alexsander
49ae1cba0c Add icon for 'AudioStreamMP3' resource 2020-12-09 13:19:33 -03:00
Marcel Admiraal
df6b061dbb Rename CubeMesh BoxMesh 2020-12-05 11:48:26 +00:00
Yuri Sizov
999ce610a2 Add a minimap to the GraphEdit 2020-11-30 16:48:52 +03:00
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Andrii Doroshenko (Xrayez)
ba68383706 Add AspectRatioContainer class
Co-authored-by: Ugis Brekis <ugis.brekis@productmadness.com>
2020-11-25 15:06:40 +02:00
Rémi Verschelde
a7d610db16
Merge pull request #43408 from rcorre/path-gizmos-4.0
Make Path3D handles visible and consistent with 2D.
2020-11-12 13:12:49 +01:00
Ryan Roden-Corrent
8458ba0aef
Proposal 1246: Make Path3D handles more visible.
Resolves godotengine/godot-proposals#1246.

It is difficult to tell the difference between the handles for adjusting
curves and the points themselves when looking at a Path gizmo.
This re-uses the icons used for Path2D.

Unlike Path2D, this does not use a different icon for smooth vs sharp
points, as using a potentially different material for each point would
prevent batching the points in add_handles (and adding them out-of-order
messes up other logic based on handle indices).

This includes a public API change to allow specifying a texture for a
handle material. This allows spatial gizmo plugins to customize the way
a handle is rendered, if desired, but does not break existing behavior
(as providing no texture uses the default).

The path handle icons were resized as well.  16x16 is the standard icon
size. These icons were 10x10 rather than 16x16, and appeared rather
small in the editor.

To resize, I:

- Opened the original in Inkscape
- Resized the document to 16x16
- Opened the transform dialog
- Scaled by 160% proportionally
- Used Align/Distribute to center on the page
- Saved the document
- Cleaned with `svgcleaner --multipass`
2020-11-12 06:37:56 -05:00
Rémi Verschelde
b1db71c9fb
Merge pull request #43220 from YeldhamDev/canvasgroup_codeedit_icons
Add icons for the 'CanvasGroup' and 'CodeEdit' nodes
2020-11-12 10:31:03 +01:00
Michael Alexsander
a38b4fd8f2 Add icons for the new Light2D nodes 2020-11-07 13:55:09 -03:00
Michael Alexsander
0176fc2f32 Add icons for the 'CanvasGroup' and 'CodeEdit' nodes 2020-10-30 16:42:18 -03:00
Hugo Locurcio
a1d9c67f43
Optimize SVG using svgcleaner --multipass
This decreases the editor binary size by about 8 KB.
2020-10-25 10:02:37 +01:00
Rémi Verschelde
11f362b510
Merge pull request #35766 from YeldhamDev/poly2d_uv_editor_improvements
Minor improvements to the Polygon 2D UV editor
2020-10-24 01:47:40 +02:00
Eric Tuvesson
8cf88f8ff4 fix(editor): Create new icon for TileMap Rectangle
ref: #42972
2020-10-22 13:28:34 +02:00
Rémi Verschelde
eee7c4acc4
Revert "fix(editor): TileMap Fill Rectangle icon" 2020-10-22 10:28:37 +02:00
Eric Tuvesson
3fee970c62 fix(editor): TileMap Fill Rectangle icon
The default color was blue which is the active color, changed it to be gray by default.
2020-10-21 20:44:55 +02:00
Hugo Locurcio
da906cade3
Replace AutoKey icon with a more universally understood "record" button
See discussion in
https://github.com/godotengine/godot-proposals/issues/169.
2020-09-25 11:43:17 +02:00
Hugo Locurcio
3e0226515e
Rename ShortCut to Shortcut which is more grammatically correct
See https://github.com/godotengine/godot/issues/16863#issuecomment-685236980.
2020-09-09 21:54:54 +02:00
Michael Alexsander
0c182ce8e8 Make the editor's 'CheckButton' icon be smaller 2020-08-14 10:13:18 -03:00
Andrii Doroshenko (Xrayez)
d86de6c98e SCons: Refactor running commands through builders
A new `env.Run` method is added which allows to control the verbosity
of builders output automatically depending on whether the "verbose"
option is set. It also allows to optionally run any SCons commands in a
subprocess using the existing `run_in_subprocess` method, unifying
the interface. `Action` objects wrap all builder functions to include a
short build message associated with any action.

Notably, this removes quite verbose output generated by `make_doc_header`
and `make_editor_icons_action` builders.
2020-07-28 00:09:21 +03:00
Michael Alexsander
c26b49fc17 Minor improvements to the Polygon 2D UV editor 2020-07-23 19:29:31 -03:00
Aaron Franke
d8b65461e3
Commit only the SVG files changed by file_format.sh
There were a lot of SVG files changed by file_format.sh
2020-07-13 14:08:55 -04:00
Michael Alexsander
26381265b8 Prefer the highlight version of the "GuiTabIcon" icon for buttons, and make their width/height equal 2020-07-11 12:59:25 -03:00
Marcus Elg
9e24fa469a Remove unused interpolate camera icon 2020-06-23 09:29:20 +02:00
Hugo Locurcio
b14b7e763d
Remove unused ToolButton editor icon
Left-over from 31b7f02a29.
2020-06-20 19:53:22 +02:00
Hugo Locurcio
ebabedc615
Replace the AssetLib tab icon with a less confusing design
This closes https://github.com/godotengine/godot-proposals/issues/818.
2020-06-20 00:50:41 +02:00
Hugo Locurcio
4a542e0007
Restore previous mouse position when leaving the editor freelook mode
- Remove the crosshair as it no longer serves a purpose (the cursor will
  now appear where the user "expects" it to).

This closes https://github.com/godotengine/godot-proposals/issues/1076.
2020-06-17 20:02:46 +02:00
Andrii Doroshenko (Xrayez)
a96f0e98d7 Add custom_modules build option to compile external user modules
This patch adds ability to include external, user-defined C++ modules
to be compiled as part of Godot via `custom_modules` build option
which can be passed to `scons`.

```
scons platform=x11 tools=yes custom_modules="../project/modules"
```

Features:

- detects all available modules under `custom_modules` directory the
same way as it does for built-in modules (not recursive);
- works with both relative and absolute paths on the filesystem;
- multiple search paths can be specified as a comma-separated list.

Module custom documentation and editor icons collection and generation
process is adapted to work with absolute paths needed by such modules.

Also fixed doctool bug mixing absolute and relative paths respectively.

Implementation details:

- `env.module_list` is a dictionary now, which holds both module name as
  key and either a relative or absolute path to a module as a value.
- `methods.detect_modules` is run twice: once for built-in modules, and
  second for external modules, all combined later.
- `methods.detect_modules` was not doing what it says on the tin. It is
  split into `detect_modules` which collects a list of available modules
  and `write_modules` which generates `register_types` sources for each.
- whether a module is built-in or external is distinguished by relative
  or absolute paths respectively. `custom_modules` scons converter
  ensures that the path is absolute even if relative path is supplied,
  including expanding user paths and symbolic links.
- treats the parent directory as if it was Godot's base directory, so
  that there's no need to change include paths in cases where custom
  modules are included as dependencies in other modules.
2020-05-25 15:33:32 +03:00
Michael Alexsander
50585e2cfa Add more missing node icons 2020-05-17 12:51:49 -03:00
Michael Alexsander
54ed1f63bf Add more missing icons 2020-05-15 16:20:35 -03:00
Hugo Locurcio
c6afb9f6ea Update the editor icons README to remove outdated information
This closes #38684.
2020-05-12 09:46:56 +02:00
Hugo Locurcio
564f8ccc13
Use a different icon for the debugger tab with both warnings and errors
This makes it possible to see if both errors and warnings were
pushed without having to open the tab.
2020-05-09 15:29:13 +02:00
Michael Alexsander
d239196fc7 Tweak Decal icon slightly 2020-04-24 22:40:06 -03:00
Michael Alexsander
0adbc43ab9 Add icon for the Decal node 2020-04-14 01:08:38 -03:00
Rémi Verschelde
e383798327
Merge pull request #37344 from YeldhamDev/dialog_node_icons
Updade dialog node's icons
2020-04-10 13:13:24 +02:00
Thakee Nathees
1532eefd4e ARVR -> XR rename icon missing fixed
Fix: #37716
2020-04-10 02:11:21 +05:30
Michael Alexsander
0c6851ae53 Rename ViewportContainer to SubViewportContainer 2020-04-01 16:11:44 -03:00
Michael Alexsander
46a6751302 Register SubViewport class 2020-03-30 16:43:55 -03:00
Rémi Verschelde
f3c74afd28
Merge pull request #37436 from akien-mga/doc-node-renames
doc: Update classref with node renames
2020-03-30 20:32:11 +02:00