Commit Graph

411 Commits

Author SHA1 Message Date
d4c541c25a iOS Export: add option to use storyboard for launch screen 2020-07-07 01:46:26 +03:00
64aa25b2e5 Merge pull request #40050 from naithar/feature/ios-gdnative-master-2
[4.0] Add support of iOS's dynamic libraries to GDNative
2020-07-03 07:48:13 +02:00
864224a5c1 iOS Export: Updated Info.plist. Framework embedding. Fixes for search paths 2020-07-02 12:56:11 +03:00
00299f15b4 [macOS] Add support for the Apple Silicon (ARM64) build target. 2020-06-29 12:33:51 +03:00
488879f52b Export: Fix iOS enabling push notifications capability 2020-06-23 12:48:44 +03:00
6a01fbc9a7 Export: Remove system frameworks from xcode template 2020-06-23 12:48:44 +03:00
fdb89a3f9a Rename "Identifier" to "Bundle Identifier" in macOS/iOS export presets
"Bundle Identifier" is more well-understood among macOS and iOS
developers and is less ambiguous.

This is a slight breaking change as export presets will need to be
updated to account for this change.

See https://github.com/godotengine/godot-docs/pull/3295.
2020-06-19 09:59:38 +02:00
22c718ab17 SCons: Improve registration of compilation_db tool, check version
There's a builtin `toolpath` option we can use for that, so no need to hack
around a custom `scons_site` path.

The script requires SCons 3.1.1 or later, so we enable it conditionally.

Follow-up to #32848.
2020-05-18 14:11:19 +02:00
2231673d42 Merge pull request #37099 from Faless/js/debugger_4.0
WebSocket profiler for HTML5 platform [4.0]
2020-05-12 18:02:38 +02:00
3097c2da96 Add WebSocket debugger, use it for Javascript. 2020-05-12 15:09:13 +02:00
5a6f275b74 Added compilation database support for clang and gcc
This tool is originally from mongodb.

- Updated CPPSUFFIXES to use scons suffixes
- objective-c files will also be loaded into the compilation database where the compiler / tooling is available to compile the files.

Known limitations:

- This will not work with msvc as your compiler.
2020-05-12 13:07:50 +02:00
7411e7fd37 DisplayServerJavaScript implementation. 2020-05-10 18:22:48 +02:00
b896ca8722 Request the dedicated GPU when starting Godot from the .desktop file
See <https://www.hadess.net/2020/05/dual-gpu-support-launch-on-discrete-gpu.html>
for more information on this newly added `.desktop` entry property.
2020-05-06 21:09:40 +02:00
23b7670d32 Merge pull request #35382 from Calinou/html5-export-title-tag
Set the `title` tag in the HTML5 export immediately
2020-04-26 18:23:35 +02:00
05f041127d Git Hooks: Suppress "which" error messages. 2020-04-24 20:11:53 +03:00
eecce139ea Set the title tag in the HTML5 export immediately
This makes the project title display without having to wait for
the project to finish loading.
2020-04-22 11:31:14 +02:00
fdad0e3bd1 Git Hooks: Add support for GUI git clients.
[ci skip]
2020-04-21 16:24:33 +03:00
ca896ddbf0 Android: Bump build tools to 29.0.3 2020-04-14 13:47:13 +02:00
526deb724a Travis: Re-enable Android builds 2020-04-09 22:50:18 +02:00
8dd58a6157 Merge pull request #37153 from neikeq/mono_ios-4.0
[master] Mono/C#: Add iOS support
2020-03-31 14:17:27 +02:00
0926c192e8 Style: Add black format to fix_style.sh
Also ignore new Android build artifact.
2020-03-31 09:55:13 +02:00
21d1ea60a7 Fix exporting corrupted Xcode pbxproj if project name has spaces 2020-03-31 09:37:17 +02:00
dfed5efea3 Merge pull request #37445 from nekomatata/hook-makerst-fix
Fixed errors in makerst pre-commit hook
2020-03-31 00:17:51 +02:00
619354fb2c Fixed errors in makerst pre-commit hook 2020-03-31 00:02:11 +02:00
7b6e664178 Pre-commit hook instructions on Windows 2020-03-30 22:59:06 +02:00
3644036fd3 Travis: Add static check for Python black formatting
Also install and use pygmentize to visualize clang-format and black
diffs.
2020-03-30 09:31:53 +02:00
4d52761da6 Hooks: Use pygmentize if available to visualize diff 2020-03-30 09:05:59 +02:00
164826a39b Hooks: Add pre-commit hook for psf/black formatting 2020-03-30 09:05:59 +02:00
cd4e46ee65 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.
2020-03-30 09:05:53 +02:00
7dbe8b65ae Make file formatting comply with POSIX and Unix standards
UTF-8, LF, no BOM, and newlines at the end of files
2020-03-21 17:41:03 -04:00
a4801674c5 SCons: Bump required C++ standard to C++17
As per #36436, we now need C++17's guaranteed copy elision feature to
solve ambiguities in Variant.

Core developers discussed the idea to move from C++14 to C++17 as our
minimum required C++ standard, and all agreed. Note that this doesn't
mean that Godot is going to be written in "modern C++", but we'll use
modern features where they make sense to simplify our "C with classes"
codebase. Apart from new code written recently, most of the codebase
still has to be ported to use newer features where relevant.

Proper support for C++17 means that we need recent compiler versions:

 - GCC 7+
 - Clang 6+
 - VS 2017 15.7+

Additionally, C++17's `std::shared_mutex` (conditionally used by
`vk_mem_alloc.h` when C++17 support is enabled) is only available in
macOS 10.12+, so we increase our minimum supported version.
2020-02-22 20:00:21 +01:00
e479231b21 Travis: Fix clang-format on non-master branches
`git diff-tree` used to fail on the `3.2` branch (and other non-master
branches) as Travis doesn't actually check that branch from the remote:
```
fatal: ambiguous argument '3.2': unknown revision or path not in the
working tree.
```

The exit code would still be 0 so we'd miss badly formatted commits
targeting stable branches.

We do it manually to ensure that it's going to work as we want it.
2020-02-19 11:37:26 +01:00
4d8dce1606 Add a fish shell completion file for the Godot editor 2020-02-16 17:44:03 +01:00
386968ea97 Remove obsolete GLES3 backend
Due to the port to Vulkan and complete redesign of the rendering backend,
the `drivers/gles3` code is no longer usable in this state and is not
planned to be ported to the new architecture.

The GLES2 backend is kept (while still disabled and non-working) as it
will eventually be ported to serve as the low-end renderer for Godot 4.0.

Some GLES3 features might be selectively ported to the updated GLES2
backend if there's a need for them, and extensions we can use for that.

So long, OpenGL driver bugs!
2020-02-13 10:36:44 +01:00
eb48be51db Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2020-02-11 11:57:11 +01:00
343b29a651 Merge pull request #35381 from Calinou/html5-export-favicon
Export and reference the icon as favicon when exporting to HTML5
2020-02-08 04:45:53 +01:00
9576ba8cdc Drop obsolete Dockerfile, we now have official build containers
Cf. https://github.com/godotengine/build-containers

A user-friendly tool using those containers will soon be released and
documented.
2020-02-05 16:53:20 +01:00
4492cf856b Export and reference the icon as favicon when exporting to HTML5
This makes the project icon display immediately as a favicon when
opening the page, without having to wait for the project to finish
loading.
2020-02-01 10:33:23 +01:00
9823dab954 Bump version to 4.0-dev
No peace for the weary. :)
2020-01-29 13:37:17 +01:00
f5951e757d Add a Bash completion script for the Godot editor 2020-01-27 00:53:03 +01:00
9ed14815d8 Linux: Sync man page with current --help output 2020-01-26 19:02:09 +01:00
8e3e41642b Add a zsh completion file for the Godot editor
This provides rich autocompletion when using Godot's command line
interface.
2020-01-10 14:54:04 +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
b6d6863055 Remove unused scripts from the misc/scripts directory
This also makes `make_icons.sh` executable directly.
2019-12-17 23:22:47 +01:00
5152afa70c Added microphone and camera usage descriptions to macOS builds. 2019-12-13 19:15:50 -05:00
17add2dc86 Add a pre-commit hook to check the class reference syntax
This also makes documentation helper scripts executable.
2019-12-06 23:40:19 +01:00
ccf8778e86 [iOS] Add export options to control external access to user data. 2019-12-03 12:06:54 +02:00
2ef8c5fac5 iOS modular build and export implementation. 2019-12-01 21:57:18 +02:00
ab4b57de1f Travis: Force installing OpenJDK8 for Android SDK compatibility
Travis CI upgraded their Xenial VMs to default to openjdk11, which
is not working properly for sdkmanager, so we can no longer accept
licenses for the SDK.

They don't really seem to care about providing a good alternative
for us from the few threads I read, so let's just force openjdk8
back.
2019-10-26 14:28:07 +02:00
156b96af8a Travis: Update Android NDK to r20
Drop unused and outdated OSX setup.
2019-10-24 10:15:24 +02:00