Commit graph

102 commits

Author SHA1 Message Date
Rémi Verschelde 9e328bb5b7
Core: Move DirAccess and FileAccess to core/io
File handling APIs are typically considered part of I/O, and we did have most
`FileAccess` implementations in `core/io` already.
2021-06-11 14:52:39 +02:00
Hugo Locurcio 60b70c77e0
Improve the editor theme
The editor theme now makes use of rounded corners and less borders
to follow modern visual trends.

The default theme's colors were also tweaked to make the blue hue
more subtle (similar to the Arc theme, which was removed as a
consequence). The Alien theme was replaced by a Breeze Dark theme,
which should blend in well with the KDE theme.
2021-04-27 22:38:26 +02:00
Marcel Admiraal 86822b187e Rename LineEdit caret_* properties getters and setters to match property 2021-04-17 12:41:23 +01:00
Aaron Franke 5a9037f828
Warn when creating a script with the same name as the parent class 2021-04-06 22:43:00 -04:00
Rémi Verschelde b5334d14f7
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Marcel Admiraal 5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
Vedat Günel 13da314a64 Fix incorrect title and button text in Inherit dialog 2020-12-26 20:22:20 +03:00
Marcel Admiraal 8509c8c8fc Rename AcceptDialog get_ok() to get_ok_button()
Also renames:
- AcceptDialog add_cancel() to add_cancel_button()
- ConfirmationDiaglog get_cancel() to get_cancel_button()
2020-12-14 18:43:52 +00:00
reduz 127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Michael Alexsander fb17743ecc Fix being able to create invalid scripts by pressing enter inside "Path" 2020-08-31 22:24:09 -03:00
SkyJJ 280d4e2965 Fix TTR misuse 2020-07-24 15:15:23 +02:00
Stijn Hinlopen 526e060b73 Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
Stijn Hinlopen 929b98d24b Remove String::find_last (same as rfind) 2020-07-03 15:26:22 +02:00
Andrii Doroshenko (Xrayez) 52f3cfca6f Prevent crash attaching a script with no languages registered 2020-05-31 21:01:42 +03:00
Rémi Verschelde 0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
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