Commit Graph

213 Commits

Author SHA1 Message Date
Rémi Verschelde 7bf9787921 SCons: Format buildsystem files with psf/black
Configured for a max line length of 120 characters.

psf/black is very opinionated and purposely doesn't leave much room for
configuration. The output is mostly OK so that should be fine for us,
but some things worth noting:

- Manually wrapped strings will be reflowed, so by using a line length
  of 120 for the sake of preserving readability for our long command
  calls, it also means that some manually wrapped strings are back on
  the same line and should be manually merged again.

- Code generators using string concatenation extensively look awful,
  since black puts each operand on a single line. We need to refactor
  these generators to use more pythonic string formatting, for which
  many options are available (`%`, `format` or f-strings).

- CI checks and a pre-commit hook will be added to ensure that future
  buildsystem changes are well-formatted.

(cherry picked from commit cd4e46ee65)
2020-06-10 15:30:52 +02:00
Andrii Doroshenko (Xrayez) 133997654c 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.

(cherry picked from commit a96f0e98d7)
2020-05-25 17:08:38 +03:00
Rémi Verschelde 0556a48bf9
Merge pull request #38752 from Calinou/rename-error-warning-icon
Rename the ErrorWarning icon file to match the 3.2 naming scheme
2020-05-15 18:03:05 +02:00
Hugo Locurcio fa279d02f7 Rename the ErrorWarning icon file to match the 3.2 naming scheme 2020-05-15 14:16:46 +02:00
Hugo Locurcio e22cff8ccf Update the editor icons README to remove outdated information
This closes #38684.

(cherry picked from commit c6afb9f6ea)
2020-05-13 16:12:22 +02:00
Hugo Locurcio d7f1a43d1a 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.

(cherry picked from commit 564f8ccc13)
2020-05-11 11:35:07 +02:00
Hugo Locurcio 1339a5c1cb
Add an icon for OGG samples
The icon is the same as WAV samples, as both formats are accepted
in AudioStreamPlayer.

This closes #35163.
2020-01-15 22:32:08 +01:00
Hugo Locurcio 2b9f34b867
Add a crosshair to the 3D viewport
The crosshair makes freelook navigation a bit easier, while making it
clearer that it's possible to select nodes by clicking while in
freelook mode.

The crosshair is only displayed while in freelook mode.
It uses an icon designed to be visible on any background.
2020-01-13 22:30:34 +01:00
Hugo Locurcio ac18665c88
Tint 3D light gizmos using the light's color
This makes navigation more convenient in the 3D viewport, especially
when using the unshaded display mode.
2020-01-01 00:54:25 +01:00
Hugo Locurcio fd244d0328
Add editor icons for X509Certificate and CryptoKey
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2019-10-16 22:16:14 +02:00
Hugo Locurcio 70c4e96623
Draw an indicator to denote overbright colors in ColorPicker
This makes it faster to distinguish overbright colors from
"standard" colors.
2019-09-27 15:28:42 +02:00
dankan1890 2bdde74d45 Changed the appearance of the rotation icons in the Tilemap.
Make them more intuitive.
2019-09-26 10:59:48 +02:00
Michael Alexsander Silva Dias 5ed5465023 Replace "GuiMiniTabMenu" with "GuiTabMenu" and tweak it 2019-09-25 12:53:42 -03:00
Hugo Locurcio 790391bc93
Optimize editor icon SVGs using svgcleaner
This makes editor binaries about 230 KB smaller.

The command used was:

    parallel svgcleaner --multipass {} {} ::: editor/icons/*.svg
2019-09-24 22:49:30 +02:00
Rémi Verschelde a7b95d1934
Merge pull request #32267 from YeldhamDev/fix_tab_icons
Fix various problems with tab-related icons
2019-09-24 10:45:40 +02:00
Rémi Verschelde a0ef113d05
Merge pull request #32036 from Calinou/improve-soft-body-editor-icon
Improve the SoftBody node editor icon
2019-09-23 09:48:55 +02:00
Rémi Verschelde b671b6ad2b
Merge pull request #32035 from YeldhamDev/new_icons
Add some missing icons
2019-09-23 09:37:57 +02:00
Rémi Verschelde 5ffae0d299
Merge pull request #32020 from Calinou/editor-audio-bus-display-tooltip
Display audio buses' current volume in a tooltip when hovering slider
2019-09-23 09:02:45 +02:00
Michael Alexsander Silva Dias 94ad89a5fb Fix various problems with tab-related icons 2019-09-22 23:08:14 -03:00
Hugo Locurcio ba8601f557
Improve the network profiler UI
- Add icons to the up/down bandwidth LineEdits for better
  visual grepping.
- Make bandwidth LineEdit texts more prominent when data is being
  received/emitted.
- Add more spacing between the up and down bandwidth LineEdits.
- Initialize the bandwidth texts using `set_bandwidth()` to ensure
  consistency with the actual bandwidth texts once the profiler
  is started.
- Fix icon colors when switching from a dark theme to a light theme
  and vice versa.
- Add missing `EDSCALE` constants for hiDPI scaling.
2019-09-21 15:29:03 +02:00
Rémi Verschelde f7cd50e900
Merge pull request #32206 from Calinou/remove-unused-tree-constants
Remove an unused icon and constant in Tree
2019-09-20 23:14:50 +02:00
Hugo Locurcio 40a5de97e6
Remove an unused icon and constant in Tree 2019-09-20 17:50:13 +02:00
Hugo Locurcio 04f43116d6
Improve folding appearance in the editor inspector
The arrow is now displayed at the left to be consistent with
other places where folding is used. The arrow icons used are now
consistent with the rest of the editor. The `arrow_up` icon is
no longer used anywhere, so it was removed.

Additional spacing was also added for a better visual appearance.
2019-09-19 22:29:25 +02:00
Hugo Locurcio 11890aa27b
Improve the SoftBody node editor icon
The new icon uses 2-pixel-thick lines for consistency with other icons.
Its pixels are also aligned to the 16 pixel grid.
2019-09-08 00:38:17 +02:00
Michael Alexsander Silva Dias 56883686a3 Add some missing icons 2019-09-07 15:06:27 -03:00
Hugo Locurcio ea622a16dd
Display audio buses' current volume in a tooltip when hovering slider
This also removes an unused editor icon.

This closes #30884.
2019-09-06 23:25:14 +02:00
iwek7 617797c47c Adds skip-breakpoints feature 2019-09-03 20:49:09 +02:00
Hugo Locurcio 61d7427289
Improve the animation autokey editor icon
The icon was redrawn to snap to a 16x16 grid, with a lower number
of SVG nodes in the process.
2019-09-03 00:11:34 +02:00
Michael Alexsander Silva Dias ab6daed467 Add icon for the ruler tool 2019-09-02 11:45:03 -03:00
Hugo Locurcio 558e93f069
Improve the appearance of 2D path editors
- Add new handle icons for path/polygon editors
- Add smooth path point icons and curve tangent icons
- Use a gray color for tangent lines in the Path2D and Path editors
- Use antialiasing for Path2D lines
2019-08-18 22:27:01 +02:00
Hugo Locurcio a341c65f65
Improve timeline drawing in the animation editor
A small arrow-like icon is now drawn at the top of the timeline.
The timeline is now also wider as to be more visible.
2019-08-17 00:20:21 +02:00
Cameron Reikes 345fcb96a2 Add particles icon to CPUParticles 2019-08-08 16:28:01 -07:00
Hugo Locurcio 6e2c27f84f
Make keyframes easier to select in the animation easier
Keyframe SVG icons are now 10×10 instead of 8×8 (except for
Bezier-related icons). This makes them easier to select
since the empty space is part of the clickable area.

Selected keyframes are now also visually larger to make them
easier to distinguish from unselected keyframes.

This closes #27276.
2019-08-04 20:19:51 +02:00
Michael Alexsander Silva Dias d6988b7d2b Make the expand icon in the bottom panel always be the same 2019-07-29 18:08:05 -03:00
clayjohn ff7c37927a added pointMesh primitive 2019-07-24 12:14:31 -07:00
Julian Murgia 249fdd9f80 Adds contextual item in scene tree dock to wrap selection in a new node
Fixes #20187
2019-07-19 16:46:13 +02:00
Hugo Locurcio 0aaf6cb87c
Remove unused Vulkan icon
This icon was likely added to be used in the renderer selection
dropdown, but now that the GLES2 and GLES3 icons have been removed
in favor of just using text, it'll probably never be used.
2019-07-13 23:22:01 +02:00
Andrii Doroshenko (Xrayez) 7c11a1b162 Add support for creating editor icons per module
The functionality is similar to how `doc_classes` are retrieved per module.
The build system will search for custom icons path defined per module via
`get_icons_path()` method in `config.py` or default icons path.
If such paths don't exist, only the editor's own icons will be built.

Most module icons were moved from editor/icons to respective modules.
2019-06-28 23:42:26 +03:00
Rémi Verschelde b3d772ed83 Display invalid value keys in AnimationTrackEdit
Godot 2.1 and 3.0 had this feature but it was lost in the rewrite
of the animation editor in 3.1.
Drop unused KeyValid icon, since all valid keys now have a custom
type icon.
2019-06-23 19:52:49 +02:00
Rémi Verschelde d6f8a43b60
Merge pull request #24116 from Calinou/editor-theme-improved-checkbuttons
Improve CheckButtons in the default editor theme
2019-06-20 13:07:53 +02:00
Hugo Locurcio 9f6b470ea8
Display a "loading" placeholder while icons are loading in the assetlib 2019-06-08 11:18:52 +02:00
clayjohn 2b8b1d7c46 added MultiMeshInstance2D node for using MultiMesh in 2D 2019-06-03 12:11:54 -07:00
Michael Alexsander Silva Dias 8ea67380d0 Better visual shader icon
Closes #20695.
2019-06-03 02:44:59 -03:00
miwanczuk fda3a568ef Issue-28355 - show spaces in editor 2019-04-30 14:57:48 +02:00
Hein-Pieter van Braam 696d9d20cf
Merge pull request #25510 from groud/tilemap_editor_enhancement
Move some tilemap options to the toolbar
2019-04-23 06:26:46 +03:00
Juan Linietsky 5d65100669 Icon was missing 2019-04-15 07:46:57 -03:00
Juan Linietsky 3f76d2c2f3 Ability to create sprite frames in AnimatedSprite from sprite sheet. 2019-04-13 22:15:31 -03:00
Juan Linietsky 6574c557c9 Add a "Request Docs" button to code editor. 2019-03-26 16:36:19 -07:00
Gilles Roudiere 96f25c8b67 Move some tilemap options to the toolbar 2019-01-30 16:06:40 +01:00
Danilo Villa (Davi) e74a3add9c Rename OrientedPathFollow to PathFollowOriented 2019-01-16 14:32:18 -02:00
Juan Linietsky e46f28e02d Removed splits in Polygon editor, replace by internal vertices and polygon support. 2019-01-08 19:11:08 -03:00
Hugo Locurcio ee2c26a7b3
Improve CheckButtons in the default editor theme 2018-12-02 16:55:58 +01:00
Will Nations 42300b2769 Add icon_script_extend & update the icon @runtime 2018-10-19 09:04:07 -05:00
Michael Alexsander Silva Dias fc376d3db6 Switch unoptimized handlers from spatial editor viewport to optimized ones 2018-10-16 18:08:01 -03:00
qonnop 07d65204b4 Added noise texture icon, fixes #22704 2018-10-05 19:20:18 +02:00
Rémi Verschelde 876456754d
Merge pull request #21421 from YeldhamDev/mult_view_changes
Small improvements to the Spatial Editor's multiple viewport mode
2018-10-02 11:22:49 +02:00
Rémi Verschelde 3a2ca68af3 SCons: Build thirdparty code in own env, disable warnings
Also remove unnecessary `Export('env')` in other SCsubs,
Export should only be used when exporting *new* objects.
2018-09-28 14:07:39 +02:00
Paulb23 0dd1cb0dcc Icon for TextFiles 2018-09-22 15:17:17 +01:00
Hugo Locurcio 7533778760
Improve checkboxes in the default editor theme 2018-09-16 15:12:28 +02:00
Rémi Verschelde 399f667911 Use plain text instead of icons for video driver toggle
Fixes #21660, supersedes and closes #21724.
2018-09-13 12:15:17 +02:00
luz.paz 08bde5b2de Misc. typos
Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
2018-09-12 21:39:17 -04:00
Juan Linietsky cf834a22dc Ported CPU particles to 2D 2018-08-29 16:48:55 -03:00
Michael Alexsander Silva Dias 7d13f6ad30 Small improvements to the Spatial Editor's multiple viewport mode 2018-08-25 17:43:27 -03:00
Juan Linietsky b293dd363e
Merge pull request #20585 from MarianoGnu/tileset_editor
New TileSet Editor
2018-08-09 21:35:57 -03:00
Juan Linietsky ae67c0b303 too much information, made it less information 2018-08-09 20:50:31 -03:00
MAriano Javier Suligoy ce87a30e45 New TileSet Editor 2018-08-09 20:38:02 -03:00
Juan Linietsky 432f2f1a67 Information sign for MarianoGNU 2018-08-09 20:31:35 -03:00
Juan Linietsky edde52c8de Added proper import support for 3D and Array textures 2018-08-06 14:56:06 -03:00
Viktor Ferenczi c5bd0c37ce Running builder (content generator) functions in subprocesses on Windows
- Refactored all builder (make_*) functions into separate Python modules along to the build tree
- Introduced utility function to wrap all invocations on Windows, but does not change it elsewhere
- Introduced stub to use the builders module as a stand alone script and invoke a selected function

There is a problem with file handles related to writing generated content (*.gen.h and *.gen.cpp)
on Windows, which randomly causes a SHARING VIOLATION error to the compiler resulting in flaky
builds. Running all such content generators in a new subprocess instead of directly inside the
build script works around the issue.

Yes, I tried the multiprocessing module. It did not work due to conflict with SCons on cPickle.
Suggested workaround did not fully work either.

Using the run_in_subprocess wrapper on osx and x11 platforms as well for consistency. In case of
running a cross-compilation on Windows they would still be used, but likely it will not happen
in practice. What counts is that the build itself is running on which platform, not the target
platform.

Some generated files are written directly in an SConstruct or SCsub file, before the parallel build starts. They don't need to be written in a subprocess, apparently, so I left them as is.
2018-07-27 21:37:55 +02:00
AndreaCatania 17ebbfb56d Implemented Soft body
- Soft Body Physics node
- Soft Body Rendering
- Soft body Editor
- Soft body importer
2018-07-23 20:50:23 +02:00
Juan Linietsky c69de2ba46 -Project/Editor settings now use new inspector
-Project/Editor settings now show tooltips properly
-Settings thar require restart now will show a restart warning
-Video driver is now visible all the time, can be changed easily
-Added function to request current video driver
2018-07-19 19:02:04 -03:00
Juan Linietsky 43dc050947 Several improvements to editor inspector usability and style 2018-07-18 19:37:41 -03:00
Juan Linietsky de910f8c26 Finally figured out how to implement AnimatedTexture properly. 2018-07-16 11:43:49 -03:00
Juan Linietsky af7d8fb844 Added small icon to expand the bottom panel (and shortcut too) 2018-07-15 22:38:14 -03:00
Juan Linietsky f6ce73f724 Visual Shaders are back. 2018-07-14 18:16:18 -03:00
Max Hilbrunner 118d4f3115
Merge pull request #19540 from muiroc/cylinder
Cylinder resource and collision shape (bullet only)
2018-07-12 05:09:37 +02:00
Juan Linietsky 7dcaabaf19 Support for CPU based particles, which aids compatibility with OpenGL ES 2.0 2018-07-06 20:21:42 -03:00
Max Hilbrunner dacd9c51b1
Merge pull request #19849 from willnationsdev/expose-script-create-dialog
Expose ScriptCreateDialog to EditorPlugin
2018-07-04 22:37:27 +02:00
willnationsdev 2a6c591957 Expose ScriptCreateDialog to EditorPlugin 2018-07-04 09:41:12 -05:00
Ibrahn Sahir e1b14db86a Corrected art depo link in editor icons readme. 2018-07-01 13:51:04 +01:00
muiroc 0a36e974da added cylinder shape support 2018-07-01 11:16:54 +02:00
Juan Linietsky 8c7da84e1e renamed AnimationGraphPlayer to AnimationTree 2018-06-25 18:40:24 -03:00
Juan Linietsky 4f5a7ebaec State machine animation node 2018-06-25 16:22:41 -03:00
Juan Linietsky 2365fe472b Added auto triangle generation in blend space, using Delaunay. 2018-06-21 22:48:47 -03:00
Juan Linietsky a0719533bd Animation Blend Spaces 2018-06-21 15:46:11 -03:00
Juan Linietsky b659fd6d74 Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
danilo2205 dc639d334a Up vector implementation and OrientedPathFollow. 2018-05-20 19:51:56 -03:00
Juan Linietsky 005b69cf6e -New inspector.
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)

-
2018-05-15 17:14:31 -03:00
Karolis K 0711d865e2 Thumbnail overlay for videos in AssetLib 2018-05-11 23:43:59 +03:00
AndreaCatania 9e57a07fb6 Implemented ragdoll
Implementing ragdoll

Implementing ragdoll

Implementing ragdoll

Implementing ragdoll

Implementing ragdoll

a

Implemented implicit hierarchy.

Improved

Added some physics properties

Added bone offset to preserve COM, partially fixed scaling

work in progress

WIP

wip

Implemented Joint Gizmos

Implemented pin joint joint

Implemented all joints
2018-05-07 21:03:16 +02:00
Juan Linietsky bf561c4946 Made bone handling for actual Bone2D a special case. Make custom bones appear like a custom (less important) option now. 2018-05-04 16:46:32 -03:00
Juan Linietsky 4c3c510a80 WIP Polygon2D weight editing 2018-05-02 11:01:12 -03:00
Daniel J. Ramirez f11649987d Updated icons,
Added CSG icons and other action icons
[ci-skip]
2018-04-29 14:14:46 -05:00
Gilles Roudiere a724f34ef3 Displays node icon on hover 2018-04-03 23:56:37 +02:00
Gilles Roudiere 0251b08afa Display nodes without rect's position 2018-04-03 22:04:19 +02:00
Rémi Verschelde 4287c7822b
Merge pull request #17440 from viktor-ferenczi/issue-5042
Properly closing all files in Python build code
2018-03-13 11:49:58 +01:00
Viktor Ferenczi 272ecddb28 Properly closing all files in Python code 2018-03-11 14:55:50 +01:00
Bernhard Liebl 172aa6c61e Fix broken hover/select coloring of keys in animation editor 2018-03-10 12:57:27 +01:00
Juan Linietsky 125fc8cc44 Add a split editor to polygon 2D UV editor, moving an inch closer to adding support for in the future 2018-02-25 12:07:13 -03:00
Daniel J. Ramirez cecf274364 Icons update
includes new enum, MeshInstance2D, Skeleton2D, Cut, Copy and Paste icons.
2018-02-21 19:05:50 -06:00