Commit graph

137 commits

Author SHA1 Message Date
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Hugo Locurcio
ac210e196c
Warn about built-in script limitations in the script creation dialog
This partially addresses #31758.
2020-04-04 13:44:13 +02:00
Juan Linietsky
441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky
4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
Rémi Verschelde
cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
Rémi Verschelde
01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
Juan Linietsky
69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Juan Linietsky
867d073b98 Changed logic and optimized ObjectID in ObjectDB and Variant, removed RefPtr. 2020-02-15 08:36:04 -03:00
SkyJJ
032b0e5899 Fix script icon not showing at startup bug 2020-02-15 00:37:04 +01:00
Juan Linietsky
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Michael Alexsander
f7374cef84 Fix built-in script creation loading existing scripts by mistake 2020-02-03 13:07:17 -03:00
Michael Alexsander
14e36c72b0 Make ScriptCreateDialog's script valid message a bit more clearer 2020-01-10 20:14:45 -03:00
Michael Alexsander
8708d44a50 Add option to disable loading scripts in ScriptCreateDialog 2020-01-09 13:09:23 -03:00
Michael Alexsander
f9d11120f7 Minor fixes for ScriptCreateDialog 2020-01-08 02:02:34 -03:00
dankan1890
51c601d2e3 [Mono]: the C# script icon is now visible in the editor. 2020-01-03 22:49:22 +01:00
Rémi Verschelde
a4936e500f
Merge pull request #34721 from dankan1890/ext_fix
ScriptCreateDialog: Suggested language extension now matches the selected language.
2020-01-01 11:32:12 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
dankan1890
99efc93419 ScriptCreateDialog: Suggested language extension now matches the selected language.
Fixes #34711
2020-01-01 01:09:50 +01:00
Rafał Mikrut
99d8626f4a Fix some overflows and unitialized variables 2019-11-20 16:22:16 +01:00
Michael Alexsander Silva Dias
3333d447c0 Cleanup the "Attach Node Script" dialog 2019-09-27 00:49:20 -03:00
Bojidar Marinov
6c4407bae4
Add overriden properties to the documentation
Fixes #31855
2019-09-04 15:21:40 +03:00
Andrii Doroshenko (Xrayez)
f013596760 Allow to define and load script templates per project
Previously it was only possible to create custom script templates per
editor instance which could lead to certain name collisions, but now one
can create such templates per project tailored for specific use cases.

The default path to search for custom script templates is defined in
project settings via `editor/script_templates_search_path` setting as
`res://script_templates` path, yet this can be configured per project.

Templates have at most two origins now:

1. Project-specific, defined in `ProjectSettings`, for instance:
    - res://script_templates/
2. Editor script templates, for instance:
    - %APPDATA%/Godot/script_templates/

As script templates can have the same name over different paths,
the override mechanism was also added, enabling project-specific
templates over the editor ones.
2019-08-22 20:51:30 +03:00
Andrii Doroshenko (Xrayez)
bd9852b982 Display language icons in script create dialog 2019-08-12 15:31:03 +03:00
Ev1lbl0w
1994111037
Allow dots for class name in popup dialog
Signed-off-by: Ev1lbl0w <ricasubtil@gmail.com>
2019-07-10 13:44:52 +01: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
LikeLakers2
4961db8e88 ScriptCreateDialog should emit the script_changed signal first 2019-06-29 23:18:37 -04:00
James Buck
2d28e393d6 Fix script create dialog
- Correctly validate parent/class names
- Trigger parent validation when selecting from buttons
- Fix enabling/disabling parent buttons
- Clear class name if not supported
- Minor cleanup
2019-06-11 16:05:24 -05:00
Michael Alexsander Silva Dias
3eb5d1b525 Hide "Built-in Script" option in the script creation dialog when not possible 2019-05-02 13:42:21 -03:00
Michael Alexsander Silva Dias
73d95f1006 Make small changes to the script dialog 2019-05-02 12:04:33 -03:00
Michael Alexsander Silva Dias
6cb4ef1c55 Fix script dialog asking for correct inheritance when not needed 2019-05-02 12:04:05 -03:00
DrNochi
23fd2a9175 Fix script dialog path validation to handle spaces correctly 2019-04-30 16:06:43 +02:00
Rémi Verschelde
8a7cf6f0d1
Merge pull request #25708 from SeleckyErik/issue-25611-script_dialog_cursor
Moves cursor to and selects "new_script" in Create Script dialog
2019-04-30 13:57:14 +02:00
Rémi Verschelde
9591e587fe
Merge pull request #26022 from lupoDharkael/create-script
Add class tree selection to script inheritance selection
2019-04-30 13:43:53 +02:00
Hugo Locurcio
35a0162167
Improve wording of various messages and make casing more consistent
This also adds the number of selected projects to the confirmation
dialog that appears before removing projects.
2019-04-21 14:37:14 +02:00
marxin
8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
lupoDharkael
76560c8afa Add class tree selection to script inheritance selection 2019-02-18 19:16:09 +01:00
Erik
a83877a8e8 Moves cursor to and selects "new_script" in Create Script dialog
When Create Script dialog pops up, the cursor in the Path LineEdit is
moved to the "new_script" name placeholder and it is selected.
2019-02-08 18:42:05 +01:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
volzhs
d072d5ed14 Create built-in script properly 2018-12-16 18:31:43 +09:00
DualMatrix
6dc0120c60 Prevent built-in-scripts from being made from FileSystem dock
Prevent built-in-scripts from being made from FileSystem dock
2018-09-23 17:38:59 +02:00
Michael Alexsander Silva Dias
75d5d81b8a Remove unnecessary "OK"s text settings 2018-09-15 21:40:50 -03:00
Rémi Verschelde
fb77cdf2f2 Fix default script name in ScriptCreateDialog
It would default either to '.gd' when created from the script editor,
or to 'res:///NodeName.gd' (three '/') when created from the scene tree dock.
2018-09-12 12:29:50 +02:00
Rémi Verschelde
277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
willnationsdev
69c09ab2fd Fix ScriptCreateDialog passing script w/ no filename 2018-09-08 15:04:55 -05:00
willnationsdev
2a6c591957 Expose ScriptCreateDialog to EditorPlugin 2018-07-04 09:41:12 -05:00
Rémi Verschelde
99c1323a08
Merge pull request #17388 from Hinsbart/mono_class_name
Mono: Avoid invalid class names.
2018-03-15 19:47:39 +01:00
Andreas Haas
700d07cf7c
Mono: Avoid invalid class names.
Disallow reserved keywords as class names and prefix base class with the Godot
namespace if it's the same as the class name.

Fixes #12483
2018-03-15 19:25:06 +01:00
Poommetee Ketson
2de1dfa42f Update icons when theme changed 2018-02-25 23:04:16 +07:00
Anish
1fdb8251d2 Godot now allows built-in irrespective of the filepath.
Since the file in the filepath is irrelevant when setting the file
as built-in, changes have been made to allow setting to built-in
even if the file in the path exists.

Fixes #16425
2018-02-21 14:47:23 +05:30
Rémi Verschelde
8fcbba9326
Merge pull request #15544 from YeldhamDev/script_dialog_label_fix
Fixed "Attach Script" dialog's file dialog labeling
2018-02-14 16:44:39 +01:00
Michael Alexsander Silva Dias
2b45d721f9 Some small fixes for the "Attach Script" dialog. 2018-01-10 21:43:35 -02:00
Michael Alexsander Silva Dias
4b8387dd92 Fixed "Attach Script" dialog's file dialog labeling. 2018-01-10 00:36:07 -02:00
Rémi Verschelde
29ae3e5f33 Revert "Fix "Attach Node Script" inherits popup type"
This reverts commit 227238b424.

This dialog is used to both open and create scripts, so it needs to have
the features of the save dialog.
2018-01-09 16:15:22 +01:00
Jerome67000
227238b424 Fix "Attach Node Script" inherits popup type 2018-01-08 21:33:51 +01:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
d65ac7378c Fix crash in OS::execute on FreeBSD
As spotted by @robfram, closes #15288.
Also reviewed other uses of `if (String.find(.*))` for potential similar mistakes, found a wrong (and useless) one in ScriptEditorDialog.
2018-01-04 01:20:20 +01:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Rémi Verschelde
a5db25bd27
Merge pull request #14551 from volzhs/ok-alert-confirm
Pressing Enter key creates or loads script on Attach script window
2017-12-16 01:17:45 +01:00
Rémi Verschelde
ef1e2df86d
Merge pull request #14645 from volzhs/focus-after-select
Focus path field after seleting file browser on Attach script window
2017-12-16 00:47:15 +01:00
Andreas Haas
0de3cde6fc
ScriptCreateDialog: Fix loading scripts with named classes.
We only need to validate the class name when creating a new script, existing scripts already have one.

Fixes #14643
Supersedes/Closes #14684
2017-12-15 19:40:36 +01:00
volzhs
ac411c9f48 Focus path field after seleting file browser on Attach script window 2017-12-14 11:25:00 +09:00
volzhs
47182a01c3 Pressing Enter key creates or loads script on Attach script window 2017-12-11 23:20:25 +09:00
Rémi Verschelde
6e3f2f44af Use new XDG folders to dehardcode paths 2017-11-19 20:54:26 +01:00
Rémi Verschelde
ad199c3964 EditorSettings: Rename settings_path to settings_dir
Also to prepare for upcoming refactoring for XDG support.
2017-11-17 20:55:09 +01:00
Daniel J. Ramirez
8cf0d6ceb4 Some fixes and improvements.
Changed FileDialogs for EditorFileDialogs in EditorNode.
Updated CheckButton.
2017-11-10 16:45:08 -06:00
Ignacio Etcheverry
e218a13a64 Add ScriptLanguage::supports_builtin_mode and improve ScriptCreateDialog
- Make ScriptCreateDialog disable the built-in script checked button if the language does not support it.
- ScriptLanguage's get_template and make_template now receive the script path as class name if the the script language does not have named classes.
2017-10-24 15:48:58 +02:00
Jakob Sinclair
d9d371fb53 File names for scripts can include '-'
Fixes #12261

Signed-off-by: Jakob Sinclair <sinclair.jakob@mailbox.org>
2017-10-21 17:28:53 +02:00
Juan Linietsky
5f8df8bc11 Fix detectin of existing file being a dir in new script creation, closes #9958 2017-09-01 14:25:01 -03:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Wilson E. Alvarez
1577f41653 Fixed several memory leaks 2017-08-25 08:47:05 -04:00
Wilson E. Alvarez
738d2ab969 Removed unnecessary assignments 2017-08-21 15:15:55 -04:00
Daniel J. Ramirez
cd8feed0df Some theme and usability improvements
Fixed create script editor dialog not changing extension
Options menu for inspector element is bigger
2017-07-31 13:19:45 -05:00
Juan Linietsky
25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Poommetee Ketson
9ef0d0f96e ScriptCreateDialog: Fix regressions from #9536 2017-07-09 13:36:57 +07:00
Poommetee Ketson
a94ea0b9fe ScriptCreateDialog: fix open error crash, remember template 2017-07-07 20:42:39 +07:00
Andreas Haas
8e8e4b30e5
Script create diag: Show extensions for currently selected language only. 2017-07-01 15:19:34 +02:00
Andreas Haas
cc2cd20870
Capitalize template names in script dialog. 2017-06-24 15:37:27 +02:00
Andreas Haas
8361b1ce07 Add ability to use custom script templates.
Templates will be loaded from .godot/script_templates
For now they're disabled for GDNative.

Ideas for further improvements:

- Add a "Save as Template" option to the script editor, as it can normally only save to res://
- Support more placeholders / custom placeholders
2017-06-13 20:03:08 +00:00
Andreas Haas
4d8e45de17
Fix errors on engine startup.
Fixes a bunch of the most spammy console errors introduced by recent refactorings:

- `AudioServerState` does not exist, this was the reference to it in the source. The surrounding code made it clear that `AudioServerLayout` was meant to be used instead.
- `StreamCSVTranslation` same here, it's the only reference. I went with `Translation` here, but I'm not 100% sure on this one.
- Some methods have been moved from `Texture` to `Image`, but the old bindings were still there.
- A few `name == ""` errors related to duplicating nodes.
2017-05-22 20:50:59 +02:00
Przemysław Gołąb (n-pigeon)
2dc4b035a8 Reworked look and feel of Add Script Dialog.
Untangled a lot of Controls logic code and placed it in one place.
Which squashed few bugs and made code easier to maintain.
2017-05-06 15:52:39 +02:00
mbalint12
a3afec588c Added the ability to select files as base when creating scripts 2017-04-15 23:29:09 +02:00
Rémi Verschelde
df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Andreas Haas
df7ca7864b
Editor: Use GDScript as the default language in ScriptCreateDialog. 2017-04-06 14:26:36 +02:00
Rémi Verschelde
5dbf1809c6 A Whole New World (clang-format edition)
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?

I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon

A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format

A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Rémi Verschelde
49c065d29c Refactoring: rename tools/editor/ to editor/
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.
2017-03-05 14:21:25 +01:00
Renamed from tools/editor/script_create_dialog.cpp (Browse further)