Commit Graph

146 Commits

Author SHA1 Message Date
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
5b937d493f Rename empty() to is_empty() 2020-12-28 10:39:56 +00:00
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
221a2a1742 Refactored variant constructor logic 2020-11-09 08:54:43 -03:00
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
626d9d5ae4 Add placeholders to the searchbars in the Project/Editor settings 2020-08-28 18:39:19 -03:00
8f54e8bfb5 Fixed issues with adding custom project settings and added confirmation dialog when deleting settings. 2020-08-18 09:12:02 +10:00
3e8f3049f4 Fix and tweak the new header in "Project Settings" 2020-08-14 12:14:23 -03:00
5563722628 Rewrite ProjectSettings editor advanced options
- New layout: advanced options hidden by default, error labels added.
 - Disallow adding invalid new settings, or overwriting built-in settings.
2020-08-10 17:32:01 +02:00
8a6305a6f2 Refactor Project Settings:
- Moved Localization and InputMap editor code to separate files.
 - Removed empty method _item_checked from project_settings_editor.
 - Reordered some code for better readability.
2020-07-14 11:03:51 +02:00
c020eea184 Merge pull request #40092 from hinlopen/remove-find-last
Remove String::find_last (same as rfind)
2020-07-04 01:38:01 +02:00
929b98d24b Remove String::find_last (same as rfind) 2020-07-03 15:26:22 +02:00
efb4609425 Add translation parser plugin support 2020-07-02 14:47:35 +02:00
1db29d0101 Added "POT generation" feature under "Localization" in the Editor 2020-07-02 14:47:35 +02:00
277d2f1f50 Merge pull request #39661 from dreamsComeTrue/restart-project-settings-msg
Project Settings 'restart' message put focus on editor rather than project itself
2020-06-21 12:21:15 +02:00
251f43d79e Project Settings 'restart' message put focus on editor rather than project itself
Fixes: #39613
2020-06-19 21:16:51 +02:00
31b7f02a29 Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
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
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
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
e7fee711b3 Update game controller enums. 2020-05-13 10:33:32 +01:00
69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
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
0e1c66d9fc Implement global and per instance shader uniforms.
Adds two keywords to shader language for uniforms:
-'global'
-'instance'

This allows them to reference values outside the material.
2020-04-17 12:35:41 -03:00
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
4396e98834 Refactored Input, create DisplayServer and DisplayServerX11 2020-03-26 15:49:32 +01:00
e47d5691e4 prevent joypad button input dropdown going out of dialog 2020-03-16 21:44:50 -03:00
e2b66cacf7 Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodes
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-03-01 23:00:42 +01:00
b8f08b42e7 Signals: Fix signals error prints for the new signal system 2020-02-28 14:24:09 +01:00
f742dabafe Signals: Manually port most of remaining connect_compat uses
It's tedious work...

Some can't be ported as they depend on private or protected methods
of different classes, which is not supported by callable_mp (even if
it's a class inherited by the current one).
2020-02-28 14:24:09 +01:00
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
1af06d3d46 Rename scancode to keycode.
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-25 12:30:33 +02:00
69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
3205a92ad8 PoolVector is gone, replaced by Vector
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
c695751654 Improve icons in the Input Map editor
- Add a disabled icon for built-in inputs with a tooltip explaining
  why they can't be removed. This also makes the Add button's horizontal
  position consistent between built-in and custom inputs.
- Fade out input event icons slightly to make them easier to distinguish
  from action icons.
- Remove unnecessary punctuation from mouse button and joypad event
  descriptions.
2020-02-05 18:22:47 +01:00
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
078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
0287baf078 Disable ok button if no key is selected when adding event to an action 2019-11-13 22:37:06 +01:00
bcb6a99154 Merge pull request #32527 from OsamaElHariri/fix_locale_filter
Fix locale filter in project settings editor
2019-11-07 13:06:17 +01:00
b14e391792 Fix key names being wrongly capitalized in the input map editor
This also fixes the prompt in the editor shortcuts dialog
while removing duplicated code.

This closes #33305.
2019-11-04 15:23:28 +01:00
929d8dd20c Fix off-by-one error in the Project Settings type dropdown
This closes #33075.
2019-10-25 23:58:21 +02:00
616ab4fac2 Small fixes to redundand code, copy paste bugs 2019-10-14 11:40:55 +02:00
753eff2f68 Allow all Variant types to be added as project settings 2019-10-07 17:17:13 +02:00
724b9bc0ce Focus the search box when pressing Ctrl+F in Project/Editor Settings 2019-10-06 17:56:34 +02:00
b2d8b213f7 Fix locale filter in project settings editor 2019-10-03 21:17:35 +03:00
4e9df13a40 Fix crash when moving an action into itself in the Input Map editor 2019-09-27 22:12:35 -03:00
fd3c825034 Merge pull request #31970 from HaSa1002/i18n
Fixed out of range crash on remapping files for translation
2019-09-24 10:07:20 +02:00
364dfa8d28 Add some missing feature tags to the "Override For..." menu
This closes https://github.com/godotengine/godot-docs/issues/2782.
2019-09-23 15:13:50 +02:00