Commit graph

4646 commits

Author SHA1 Message Date
Rémi Verschelde
259a3fb1e9
Merge pull request #29744 from GodotExplorer/gdscript-completion-icons
Show icons for code completion options
2019-07-05 08:00:40 +02:00
Geequlim
10cfd87414 Show icons for code completion options 2019-07-05 09:25:50 +08:00
Hugo Locurcio
492c3196ae
Dim the editor window while it's quitting
This makes it clearer that the editor window is busy while it's quitting
(which can take a while on slower PCs).
This also makes it feel more responsive to user input.

Note that the effect is only visible if
"Interface > Editor > Quit Confirmation" is disabled in the
Editor Settings, as the quit confirmation already makes
the editor window dim while quitting.
2019-07-04 23:47:47 +02:00
unknown
2685d3324c Got replace-all working without breaking search 2019-07-05 02:13:03 +05:30
LikeLakers2
d2e915623a SceneTreeDock will reset the ScriptCreateDialog's inheritance base type 2019-07-04 16:36:24 -04:00
Tomasz Chabora
0cd9a65aa4 Smarter node placement after duplicating 2019-07-04 18:16:19 +02:00
Hugo Locurcio
acbd0fea97
Use CheckBoxes in the editor instead of CheckButtons when applicable
CheckButtons should only be used if toggling them has an
immediate effect. Otherwise, CheckBoxes should be used.
2019-07-04 17:32:59 +02:00
Emmanuel Barroga
839c3bd1bf Resolves Issue #30271 Reparent selection without flattening
When reparenting a multi-selection via drag and drop, the hierarchy was flattened. This change resolves that issue.
2019-07-04 06:41:21 -07:00
Rémi Verschelde
542489a866 DocData: Re-expose parametric setters and getters
Setters and getters have been hidden from the documentation when the matching
properties have been exposed, but some of them are parametric and require the
name or index of a given parameter to be used. So they need to be properly
documented with the type and name of the arguments they take.

For example, CPUParticles' `set_param(Parameter param, float value)`.
2019-07-04 14:08:16 +02:00
Rémi Verschelde
c5ea4b27f9 FileSystem dock: Improve duplicate check for directory paths
Supersedes and closes #30225.
2019-07-04 11:42:40 +02:00
Geequlim
ed7ed52151 Parse more informations for code completion 2019-07-04 14:00:14 +08:00
Pedro J. Estébanez
40f4d3cf0f Add embedded PCK option to PC platforms
The basic point is as in 2.1 (appending the PCK into the executable), but this implementation also patches a dedicated section in the ELF/PE executable so that it matches the appended data perfectly.

The usage of integer types is simplified in existing code; namely, using plain `int` for small quantities.
2019-07-03 21:58:12 +02:00
Rémi Verschelde
2293c612e6
Merge pull request #30283 from Calinou/add-3d-gizmo-snapping
Implement snapping for most 3D gizmos
2019-07-03 21:45:27 +02:00
jens
0f6c572db6 Make easier to select keys that are at position 0 in AnimationPlayer editor
Fixes #26151.

Co-Authored-By: Michael Alexsander Silva Dias <michaelalexsander@protonmail.com>
2019-07-03 12:56:36 -03:00
Hugo Locurcio
0ce59bf6dd
Implement snapping for most 3D gizmos 2019-07-03 12:26:01 +02:00
Rémi Verschelde
8c78a4b78f
Merge pull request #30264 from Calinou/add-csg-gizmo-snapping
Implement snapping in the CSG gizmos and 3D polygon editor
2019-07-03 07:01:01 +02:00
Rémi Verschelde
d8ce7aeddc
Merge pull request #30253 from akien-mga/signals-tooltip
ConnectionsDock: Add tooltip with signal description
2019-07-02 21:43:58 +02:00
Rémi Verschelde
4dec1bde77
Merge pull request #30231 from Ranoller/master
Tilemap fix displaced textures and shapes and added center texture and compatibility mode
2019-07-02 21:43:16 +02:00
Rémi Verschelde
9e134407d4
Merge pull request #30252 from Faless/tls/disable_no_crash
Fix editor crash when StreamPeerSSL is unavilable.
2019-07-02 21:42:13 +02:00
Rémi Verschelde
9e1e4defef
Merge pull request #30228 from YeldhamDev/go_to_menu
Add "Go To" menu to the script editor and move the bookmark and breakpoint menus there
2019-07-02 21:41:29 +02:00
Hugo Locurcio
527fb3968a
Implement snapping in the CSG gizmos and 3D polygon editor
The spatial editor snap settings will now affect the CSG gizmos
and 3D polygon editor (which is used in CSGPolygon).
2019-07-02 20:02:07 +02:00
Ranoller
14e2a99129 Tilemap fix displaced textures and shapes and added center texture and compatibility mode
This commit fix #22989 #15249 #28206. Main problem is that tilemap displace textures in different tile origins in a strange way and doesn´t respect coincidence between texture and shapes in not uniform tiles. This issue is present in godot 3.0 and godot 3.1. To maintain compatibility are added a compatibility mode and a center texture option. Other related issues and pull request: #28896 #29487 #29519 #29961. Idications of #30204 are added
2019-07-02 17:12:58 +02:00
Rémi Verschelde
190e866e4d ConnectionsDock: Add tooltip with signal description
Had to create a custom Tree to override `make_custom_control` for the
rich text display, similar to EditorProperty.

Fixes #30244.
2019-07-02 16:49:31 +02:00
Fabio Alessandrelli
c798173332 Fix editor crash when StreamPeerSSL is unavilable.
The fix for EditorNode is a bit hacky, but the handling of the buttons
and features there is hacky too (based on enums that might not reflect
the actual state).
2019-07-02 15:34:34 +02:00
Rémi Verschelde
e9d624d7ce
Merge pull request #30239 from Faless/crypto/crypto_core
CryptoCore class to access to base crypto utils.
2019-07-02 14:52:43 +02:00
Rémi Verschelde
4cb0887660
Merge pull request #30249 from marxin/fix-gcc9-warnings
Fix few GCC9 warnings:
2019-07-02 14:16:28 +02:00
Martin Liska
f48bb8fac8 Fix few GCC9 warnings:
thirdparty/assimp/include/assimp/material.inl: In member function 'aiReturn aiMaterial::Get(const char*, unsigned int, unsigned int, aiColor3D&) const':
thirdparty/assimp/include/assimp/material.inl:176:33: error: implicitly-declared 'aiColor3D& aiColor3D::operator=(const aiColor3D&)' is deprecated [-Werror=deprecated-copy]
  176 |     pOut = aiColor3D(c.r,c.g,c.b);

modules/dds/texture_loader_dds.cpp:167:50: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  167 |  if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT1")) {
      |                                                  ^
[ 28%] modules/dds/texture_loader_dds.cpp:170:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  170 |  } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT3")) {
      |                                                         ^
modules/dds/texture_loader_dds.cpp:174:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  174 |  } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT5")) {
      |                                                         ^
modules/dds/texture_loader_dds.cpp:177:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  177 |  } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("ATI1")) {
      |                                                         ^
modules/dds/texture_loader_dds.cpp:180:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  180 |  } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("ATI2")) {
      |                                                         ^
modules/dds/texture_loader_dds.cpp:183:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  183 |  } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("A2XY")) {
      |                                                         ^

thirdparty/assimp/include/assimp/material.inl: In member function 'aiReturn aiMaterial::Get(const char*, unsigned int, unsigned int, aiColor3D&) const':
thirdparty/assimp/include/assimp/material.inl:176:33: error: implicitly-declared 'aiColor3D& aiColor3D::operator=(const aiColor3D&)' is deprecated [-Werror=deprecated-copy]
  176 |     pOut = aiColor3D(c.r,c.g,c.b);
2019-07-02 13:35:30 +02:00
Rémi Verschelde
78af5625d0 i18n: Sync translation template with current source 2019-07-02 13:30:19 +02:00
Rémi Verschelde
bc00332286 Fix TTR strings for VisualShaderNodes
It had been done wrongly in #30185, but I missed it.
2019-07-02 13:29:26 +02:00
Rémi Verschelde
ce3e3b609c i18n: Sync translations with Weblate 2019-07-02 13:22:58 +02:00
Fabio Alessandrelli
564d93ff10 CryptoCore class to access to base crypto utils.
Godot core needs MD5/SHA256/AES/Base64 which used to be provided by
separate libraries.
Since we bundle mbedtls in most cases, and we can easily only include
the needed sources if we so desire, let's use it.

To simplify library changes in the future, and better isolate header
dependencies all functions have been wrapped around inside a class in
`core/math/crypto_base.h`.

If the mbedtls module is disabled, we only bundle the needed source
files independently of the `builtin_mbedtls` option.
If the module is enabled, the `builtin_mbedtls` option works as usual.

Also remove some unused headers from StreamPeerMbedTLS which were
causing build issues.
2019-07-02 12:36:27 +02:00
Rémi Verschelde
98879be276
Merge pull request #27510 from fire/screenshot_editor
Add editor screenshot on control - f12.
2019-07-02 11:30:16 +02:00
Rémi Verschelde
e8b483ce21
Merge pull request #19936 from Xrayez/collapse-button
Expand/collapse nodes recursively in scene tree dock
2019-07-02 10:02:24 +02:00
Rémi Verschelde
0ab11e436d
Merge pull request #29656 from nhold/add-remove-option-array-inspector
Add buttons to remove keys\items from dictionaries\arrays.
2019-07-02 07:29:22 +02:00
Nathan Hold
bd9cc84fdc Add option to remove array item and button to remove typed array item 2019-07-02 12:42:37 +10:00
K. S. Ernest (iFire) Lee
05de0eafab Add editor screenshot on control - f12. 2019-07-01 13:39:21 -07:00
Rémi Verschelde
0268a4869d
Merge pull request #30196 from LikeLakers2/scenetreedock-script-creation-bugfix
SceneTreeDock will now only attach scripts to the selected node if the ScriptCreateDialog was opened from the SceneTreeDock
2019-07-01 21:13:46 +02:00
Michael Alexsander Silva Dias
91d357f177 Add "Go To" menu to the script editor and move the bookmark and breakpoint menus there 2019-07-01 16:00:05 -03:00
Rémi Verschelde
4d99408d12
Merge pull request #28884 from vnen/yield-resume-stack
Keep GDScript functions in stack while yielding
2019-07-01 16:35:26 +02:00
Rémi Verschelde
f5d9454a4b
Merge pull request #29071 from YeldhamDev/improve_bookmarks
Improve bookmarks
2019-07-01 16:34:17 +02:00
Rémi Verschelde
b0ce9401ff
Merge pull request #30126 from qarmin/remove_unnecessary_code
Remove unnecessary code and add some error explanations
2019-07-01 14:32:04 +02:00
qarmin
3c154eb93b Remove unnecessary code and add some error explanations 2019-07-01 12:59:42 +02:00
Hugo Locurcio
310b03d97e
Tweak gamepad button names to be consistent with the documentation 2019-07-01 12:18:59 +02:00
Rémi Verschelde
d17eac735c
Merge pull request #29815 from NilsIrl/plus_file_1
Replace ` + "/" + ` with `String::file_add()`
2019-07-01 12:06:35 +02:00
Rémi Verschelde
b62041d1f3
Merge pull request #30089 from fire/cicd-crash
Headless CI/CD crash fixes
2019-07-01 12:03:46 +02:00
Rémi Verschelde
e285114e0c
Merge pull request #30072 from mbrlabs/node-search-fix
Better pre-selection of search result node in "Create New Node" dialog.
2019-07-01 12:03:16 +02:00
Rémi Verschelde
bbb725836d
Merge pull request #28701 from SonerSound/master
Export paths are now saved as relative paths
2019-07-01 09:27:01 +02:00
Rémi Verschelde
b62d315a7f
Merge pull request #30146 from Chaosus/editor_file_dlg_ex
Auto-change file extension in EditorFileDialog when filter changes
2019-07-01 09:24:37 +02:00
SonerSound
90b2415343 Export path may now be written as a relative path
If the target directory does not exist, it will be recursively created.

Export paths are now saved as a relative to the projects base directory

Renamed relative_to function to final_path_from_relative which takes a relative path and outputs the final path from a string that represents a directory.
Added relative_path_from_final which takes in a final path and outputs a relative path if possible. If not possible it outputs the relative path that represents the current directory.
If the target directory does not exist when exporting the project, then it is recursively created.

Removed final_path_from_relative function

Changed DirAccess into DirAccessRef for automatic object destruction
2019-06-30 19:13:49 +01:00
LikeLakers2
410054db38 SceneTreeDock will now only attach scripts to the selected node if the ScriptCreateDialog was opened from the SceneTreeDock 2019-06-29 23:19:45 -04:00
LikeLakers2
4961db8e88 ScriptCreateDialog should emit the script_changed signal first 2019-06-29 23:18:37 -04:00
Rémi Verschelde
b4aba3ae7c
Merge pull request #30177 from hbina/use_FALLTHROUGH_macro
Applied some of FALLTHROUGH macro usage from #30122
2019-06-29 23:40:08 +02:00
hbina085
9f0c6a6009 Many fallthrough switch cases now have the FALLTHROUGH macro to tell the compiler that this is intended. 2019-06-29 16:08:48 -04:00
Rémi Verschelde
9ca1a5af3e
Merge pull request #30167 from Xrayez/module-editor-icons
Add support for creating editor icons per module
2019-06-29 18:51:28 +02:00
Rémi Verschelde
187d8addf9
Merge pull request #30152 from Chaosus/vs_conversion
Added convertor from VisualShader to Shader
2019-06-29 18:40:28 +02:00
Rémi Verschelde
176188b1c6
Merge pull request #30187 from bojidar-bg/30184-null-values
Remove bogus nulls from generated default values
2019-06-29 18:38:12 +02:00
Rémi Verschelde
5cf51cc7e4
Merge pull request #30182 from hbina/pylint_anomalous_backlash
"Anomalous backslash in string: '-'" in extract.py
2019-06-29 18:15:46 +02:00
Rémi Verschelde
4ca22d81d7
Merge pull request #30156 from qarmin/fix_memory_leak_in_tilemap
Fix memory leak in Tilemaps
2019-06-29 16:51:15 +02:00
Rémi Verschelde
19c780b0ed
Merge pull request #30185 from hbina/fix_issue_30111
use vformat for duplicate strings
2019-06-29 16:50:18 +02:00
Rémi Verschelde
f8df412512
Merge pull request #24156 from AnaDenisa/master
Add option to input value in EditorPropertyEasing. Fixes #8449
2019-06-29 15:34:24 +02:00
Bojidar Marinov
55234d62b0
Remove bogus nulls from generated default values
Also, fix crash in PluginScript destructor.
2019-06-29 15:51:33 +03:00
hbina085
f531a92057 use vformat for duplicate strings
many strings in visual_shader_editor_plugin.cpp does not use vformat for duplicate strings making it harder to translate
2019-06-29 07:52:09 -04:00
Rémi Verschelde
52355c638b
Merge pull request #29380 from bojidar-bg/16086-docs-default-value
Add default values to the editor help, docs, and generated RST
2019-06-29 12:28:30 +02:00
Rémi Verschelde
ba6b0dc38d
Merge pull request #30174 from LikeLakers2/resourcepropertyeditor-selection-bugfix
Fix an EditorPropertyResource bug where clicking on the flat buttons …
2019-06-29 12:22:57 +02:00
hbina085
fd39e94121 Pylint warning for extract.py
pylint is complaining that an "Anomalous backslash in string: '\-'"
The string constant might be missing an 'r' prefix.
2019-06-29 05:31:42 -04:00
LikeLakers2
facafeb19a Fix an EditorPropertyResource bug where clicking on the flat buttons would not select the property in the inspector 2019-06-28 19:23:57 -04: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
Chaosus
da7cf8b49f Added convertor from VisualShader to Shader 2019-06-28 19:54:43 +03:00
Chaosus
eeabb132ec Auto-change file extension in EditorFileDialog when filter changes 2019-06-28 18:35:24 +03:00
qarmin
67b58de0f8 Fix memory leak in Tilemaps 2019-06-28 15:37:09 +02:00
AnaDenisa
13279a7da7 Add option to input value manually in EditorPropertyEasing
Double-clicking on the EditorPropertyEasing widget (e.g. for the Light
Attenuation parameter) shows an EditorSpinSlider to set the value manually.

Fixes #8449.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2019-06-28 12:25:19 +02:00
unknown
a86329c41e Fixed search highlight when search text not found or empty 2019-06-27 22:44:14 +05:30
Bojidar Marinov
0c4c36d823
Add default values to the editor help, docs, and generated RST
Also, make spacing of "=" in the editor help a bit more consistent.
Closes #16086
2019-06-27 18:29:35 +03:00
Rémi Verschelde
f35fd681ac
Merge pull request #30114 from Chaosus/vs_context_menu
Shows menu when dragging connection on empty space in visual shader
2019-06-27 15:14:54 +02:00
Rémi Verschelde
11b8bf5572
Merge pull request #30103 from groud/center_2D_editor
Centers the 2D viewport in the editor
2019-06-27 15:14:23 +02:00
Chaosus
0aec3c3113 Shows menu when dragging connection on empty space in visual shader graph 2019-06-27 10:48:18 +03:00
Rémi Verschelde
eaaff9da31
Merge pull request #29941 from qarmin/redundant_code_and_others
Remove redundant code, possible NULL pointers and others
2019-06-27 01:05:18 +02:00
Gilles Roudière
1b53ea79e2 Centers the 2D viewport in the editor 2019-06-26 23:03:15 +02:00
Hein-Pieter van Braam-Stewart
d1dbbd6515 Make sure that the resource previewer does not hang on exit 2019-06-26 08:02:49 -07:00
qarmin
4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Marcus Brummer
80a0d1701b Better pre-selection of search result nodes in "Create New Node" dialog.
Also search for substrings in class types, not just subsequences. If for
the current search term a substring has been found in a class type name,
prefer the substring match over the subsequence.

Fixes #26010
2019-06-26 15:05:00 +02:00
Rémi Verschelde
cb8d95dd4b
Merge pull request #24288 from ttencate/update_spinner_23738
Make visibility of update spinner editor-wide, hidden by default
2019-06-26 12:12:16 +02:00
Michael Alexsander Silva Dias
70036d8484 Fix certain items not appearing in search tree when a feature profile is set 2019-06-25 20:36:26 -03:00
Thomas ten Cate
05b67514a6 Make visibility of update spinner editor-wide, hidden by default
- Make visibility of the spinner and "update always" option editor-wide,
  rather than per-project metadata.
- Add options "Show Update Spinner" and "Update Continuously" under
  Editor Settings > Interface > Editor. Both options are false by
  default.
- Rename some variables and constants to be more consistent and clearer:
  "update always" -> "update continuously", "update changes" -> "update
  when changed", "update menu" -> "update spinner", "circle" -> "update
  spinner".

Fixes #23738.
2019-06-25 14:57:44 +02:00
Rémi Verschelde
615ffb3507 doctool: Fix writing theme_item descriptions
We already had support for parsing and saving theme_item descriptions
in DocData, and displaying it in the editor, but doctool would drop the
changes as it was not writing them back to the XML.

Part of #29868.
2019-06-25 13:08:15 +02:00
Rémi Verschelde
c477cbd09d
Merge pull request #30041 from KoBeWi/to_infinity_and_beyond
Allow to remove 2D editor bounds
2019-06-25 09:12:17 +02:00
Tomasz Chabora
c81525ec05 Allow to remove 2D editor limits 2019-06-25 00:19:44 +02:00
Rémi Verschelde
6fbd045845
Merge pull request #29913 from eligt/fix-editor-help
Ensure indentation works properly in rich text
2019-06-24 22:59:59 +02:00
Rémi Verschelde
9f2f1f5e3d Fix scoped enum value reference, breaks GCC 5
Introduced in #29376 and recent compilers are fine with it, but GCC 5
complains.

Fixes #30044.
2019-06-24 21:56:55 +02:00
Marcus Brummer
0716c59f14 Check if autoload nodes are != NULL before deleting them.
This fixes #27854
2019-06-24 16:00:54 +02:00
Rémi Verschelde
25022a1d89
Merge pull request #29974 from clayjohn/particles_restart
Properly set emitting when particles restart
2019-06-24 13:48:56 +02:00
Rémi Verschelde
1cb2b682ab
Merge pull request #30026 from akien-mga/fix-undo-convert-cpuparticles
Fix undo references for conversion to CPUParticles
2019-06-24 12:40:23 +02:00
Rémi Verschelde
ed504753f4 Fix undo references for conversion to CPUParticles
The 'undo' reference should be the node to free when the undo history
is lost, i.e. the original (GPU) Particles node. Similarly, the 'do'
reference should point to the CPUParticles (result of the 'do' call).

Fixes #29742.
2019-06-24 12:08:30 +02:00
Gwyneth Lowe
7142064110 Correct typo that broke custom selected font color
Change several font_selected_color to font_color_selected; the actual name of the override
2019-06-24 04:55:29 -05:00
Rémi Verschelde
297e7efa0a
Merge pull request #30011 from akien-mga/animation-invalid-key
Display invalid value keys in AnimationTrackEdit
2019-06-24 00:07:13 +02:00
Rémi Verschelde
30383a1cdc
Merge pull request #29376 from hilfazer/editor_layouts_dialog
Saving/deleting editor layouts dialog with layout list
2019-06-23 23:56:52 +02: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
Dawid Wdowiak
0f14489ecb Center script line when double clicked on error in debugger 2019-06-23 15:58:07 +02:00
Nils ANDRÉ-CHANG
d2833d4f4d Replace + "/" + with String::file_add() 2019-06-23 13:33:50 +01:00
clayjohn
64ecc8a5a3 properly set emitting when particles restart 2019-06-21 22:33:11 -07:00