Commit Graph

243 Commits

Author SHA1 Message Date
Sergey Minakov
6a01fbc9a7 Export: Remove system frameworks from xcode template 2020-06-23 12:48:44 +03:00
Hugo Locurcio
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
Fabio Alessandrelli
3097c2da96 Add WebSocket debugger, use it for Javascript. 2020-05-12 15:09:13 +02:00
Fabio Alessandrelli
7411e7fd37 DisplayServerJavaScript implementation. 2020-05-10 18:22:48 +02:00
Hugo Locurcio
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
Hugo Locurcio
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
Ignacio Etcheverry
21d1ea60a7 Fix exporting corrupted Xcode pbxproj if project name has spaces 2020-03-31 09:37:17 +02:00
Aaron Franke
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
Rémi Verschelde
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
Hugo Locurcio
4d8dce1606
Add a fish shell completion file for the Godot editor 2020-02-16 17:44:03 +01:00
Rémi Verschelde
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
bruvzg
eb48be51db Add static Vulkan loader.
Initial Vulkan support for Windows.
Initial Vulkan support for macOS.
2020-02-11 11:57:11 +01:00
Fabio Alessandrelli
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
Rémi Verschelde
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
Hugo Locurcio
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
Rémi Verschelde
9823dab954 Bump version to 4.0-dev
No peace for the weary. :)
2020-01-29 13:37:17 +01:00
Hugo Locurcio
f5951e757d
Add a Bash completion script for the Godot editor 2020-01-27 00:53:03 +01:00
Rémi Verschelde
9ed14815d8 Linux: Sync man page with current --help output 2020-01-26 19:02:09 +01:00
Hugo Locurcio
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
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
Catchawink
5152afa70c Added microphone and camera usage descriptions to macOS builds. 2019-12-13 19:15:50 -05:00
bruvzg
ccf8778e86
[iOS] Add export options to control external access to user data. 2019-12-03 12:06:54 +02:00
bruvzg
2ef8c5fac5
iOS modular build and export implementation. 2019-12-01 21:57:18 +02:00
Hugo Locurcio
c8a8be6dd1
Optimize images losslessly using oxipng -o6 --strip all --zopfli 2019-10-12 23:23:33 +02:00
Relintai
6f1d6cfc78 Fixed running the export templates with newer emscripten versions. 2019-10-01 15:41:19 +02:00
Fabio Alessandrelli
e7760deb74 Fix HTML5 export after #30864 2019-09-14 16:47:55 +02:00
Enzo Ferrari
5323d24fad Fixed javascript code to remove animateStatusIndeterminate callback when the game is loaded.
(cherry picked from commit a5a413c7e9)
2019-09-03 13:39:57 +02:00
Bastiaan Olij
776dc93571 Add microphone privilege settings support back into export and add privilege exist check to camera server for iOS 2019-07-06 15:48:51 +10:00
Leonardo Giovanni Scur
31cc1bdb58 Fix pointer position in hidpi-corrected resolutions on web 2019-06-14 17:37:21 -03:00
Vasiliy Makarov
641922782e Make Xcode recursive search frameworks in project dir 2019-05-14 19:12:20 +03:00
Rémi Verschelde
7eabf4c8a3 dist: Rename Linux mime type to follow system convention
Mime type definitions are usually named like the mime type they define,
i.e. x-godot-project in our case.
It was introduced with reverse DNS naming as that's what FlatHub favors,
so it will need to be renamed there.
2019-04-03 13:24:28 +02:00
Allan Davis
bba5716899
Enable Mojave "dark mode" on the editor title bar
Enables "dark mode" in the editor and project selector title bars in macOS Mojave when selected in macOS System Preferences
2019-03-20 14:09:51 +00:00
Rémi Verschelde
860f097cc6 Bump version to 3.2-dev
No rest for the wicked.
2019-03-13 18:43:13 +01:00
Sam Green
36d627a9cf Remove microphone from export options and distribution plist 2019-03-04 18:01:02 -08:00
Bastiaan Olij
0f03ad379c New export options iOS 2019-02-16 12:11:53 +11:00
Rémi Verschelde
0f5a4fa7d5 Fix version in osx_tools.app 2019-02-10 17:01:25 +01:00
Rémi Verschelde
c363857426 Be explicit about usage of GDScript tests
Also drop empty "image" test, and print proper error when passing wrong
test name.

Fixes #25638.
2019-02-10 15:11:32 +01:00
PrestonKnopp
8adc611bf5 escaped '&' in macos osx_tools.app Info.plist 2019-01-02 18:11:21 -08: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
Rémi Verschelde
d1f3b622f0 Fix missing/malformed license headers 2019-01-01 12:46:36 +01:00
bruvzg
c2aac1a1db
File icons: separate icons for gdscript, resource, scene and projects. 2018-12-06 15:16:36 +02:00
Rémi Verschelde
bc2e1eedc5 Tests: Drop old test_io referencing data which isn't included
This should eventually be rewritten to properly test IO features,
but this would be part of a bigger work on adding a proper testing
framework for Godot features.

Fixes #2454.
2018-12-05 00:47:05 +01:00
qarmin
ee39441cb3 Change old Godot logo/splash screen in UWP assets 2018-11-27 20:09:56 +01:00
bruvzg
ccafdb5d05
[macOS] Fix file associations (for *.scn, *.tscn and project.godot). 2018-11-10 22:49:07 +02:00
Rémi Verschelde
5f8af252e8 doc: Use HTTPS for docs.godotengine.org and point to latest branch
Fixes #23509.
2018-11-05 08:46:27 +01:00
Rémi Verschelde
cef310e0ea
Merge pull request #21336 from eska014/html5-new-presentation
Add responsive HTML5 export page with full-size canvas as new default
2018-08-24 00:10:46 +02:00
Leon Krause
86d9e67d7a Add responsive HTML5 export page with full-size canvas as new default 2018-08-23 21:28:09 +02:00
Hugo Locurcio
01914ee00b
Tweak AppStream metadata and add MIME type integration
This allows Godot to be registered as an application to open
Godot project files.
2018-07-28 00:40:05 +02:00
Rémi Verschelde
2d4a4a245d Main: Fix --check-only option implemented as paired
Fixes #20503.

Also added the option to the Linux manpage.
2018-07-27 08:39:48 +02:00
Hugo Locurcio
7360f6aeff
Rename AppStream metadata and desktop files to follow the specification
This also adds a few more fields to the AppStream file to improve
desktop integration.
2018-07-24 15:18:50 +02:00
Yasha Borevich
f78e5e5725 Respect window/handheld/orientation setting in iOS 2018-07-01 22:08:37 +03:00
Hugo Locurcio
53e94a1ce1
Optimize images losslessly using oxipng -o6 --strip all --zopfli 2018-06-28 19:17:41 +02:00
Hugo Locurcio
8c08c4fe84
Remove the old AppImage structure
These files did not serve a real purpose since `icon.png` can be used
as the AppImage icon, and a .desktop file can be found at
`misc/dist/linux/godot.desktop` with the same contents.
2018-06-24 00:15:55 +02:00
Rémi Verschelde
eaa6613f06
Merge pull request #18770 from eska014/cmdline
Command line fixes
2018-05-11 14:20:50 +02:00
Leon Krause
c4c7270cc7 Fix help/man for --export and --export-debug 2018-05-10 22:08:21 +02:00
Rémi Verschelde
a415efa4b7
Merge pull request #18765 from eska014/enginejs-extalt
Facilitate using non-default filename extensions in HTML5 platform
2018-05-10 21:57:07 +02:00
Leon Krause
96f907c023 Accept non-default main packs in engine.js startGame()
Allows using startGame() with main packs exported as .zip, but also any
other custom extension, for example if a web game host does not allow
the .pck filename extension.
2018-05-10 15:08:19 +02:00
Leon Krause
9080e96bc8 Fix keyboard focus lock-out with HTML5 canvas in iframe 2018-05-10 02:42:47 +02:00
Ruslan Mustakov
1d9a3a9b1c iPhone X support and iOS-related fixes
Starting from April 2018 Apple no longer accepts apps that do not
support iPhone X. For games this mainly means respecting the safe area,
unobstructed by notch and virtual home button. UI controls must be
placed within the safe area so that users can interact with them.

This commit:

- Adds OS::get_window_safe_area method that returns unobscured area of
  the window, where interactive controls should be rendered.

- Reorganizes how launch screens are exported - the previous way was
  incorrect and modern iPhones did not pick up the correct screens and
  because of that used a non-native resolution to render the game.

- Adds launch screen options for iPhone X.

- Makes launch screens optional in the export template. If not
  specified, a white screen will be used.

- Adds App Store icon (1024x1024) export option as it now has to be
  bundled with the app instead of being provided in iTunes Connect.

- Fixes crash when launching games in iOS Simulator. It happened because
  controllerWasConnected callback came before the engine was
  initialized. Now in such case the controllers will be queued up and
  registered after initialization is done.

- Fixes issue with the virtual keyboard where for some reason
  autocorrection panel would intersect with the keyboard itself and not
  allow you to use the top row of the keyboard. This is fixed by
  disabling autocorrection altogether.

Closes #17358. Fixes #17428. Fixes #17331.
2018-04-11 14:53:24 +07:00
Michael Alexsander Silva Dias
ea97e2d0eb Added the "GLES2" option for the video-driver in the terminal help. 2018-03-25 23:23:53 -03:00
Rémi Verschelde
87290ba4cd
Merge pull request #17666 from akien-mga/editor-fps-verbose
Add --print-fps option to output FPS to stdout
2018-03-21 17:40:37 +01:00
Poommetee Ketson
ff070de986 s/2017/2018/g for gles2, websocket, linux appdata 2018-03-21 16:07:51 +07:00
Rémi Verschelde
10fa69285c Add --print-fps option to output FPS to stdout
Works both for the editor and games.

Projects can still use "debug/settings/stdout/print_fps" to enable it
permanently. The --print-fps option takes precedence (so works even if
the project setting is disabled). That setting is also no longer redefined
on the fly based on the verbose flag, that was a mess.
2018-03-21 09:08:51 +01:00
Leon Krause
61026e62bf Check only for WebGL 1.0, move test to HTML file
Whether to use WebGL 1.0 or 2.0 can only be determined at runtime after
reading project settings, so check for the lower version.

The test is now in the HTML file, so if desired WebGL 2.0 can be
checked early by changing the behaviour there.
2018-03-15 04:04:24 +01:00
Rémi Verschelde
a55e2f2dac Dist: Fix Linux desktop file launch argument 2018-03-14 12:05:25 +01:00
Rémi Verschelde
95b8984d5f Add --quit option to help output and update manpage 2018-02-24 18:22:29 +01:00
Rémi Verschelde
03d42e9e0d Dist: Update manpage and macOS version string 2018-01-25 23:21:31 +01:00
Leon Krause
cf5b074a95 Fix internal Emscripten JS API calls
Emscripten 1.37.24 no longer exports these by default
2018-01-06 15:53:04 +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
Razah
e3c9a7ed4f Fix broken Info.plist after copyright update
Fixes #15293.
+ related misc fixes by @akien-mga.
2018-01-03 17:10:07 +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
Ruslan Mustakov
8f0f327f02 Allow configuring iOS export
- EditorExportPlugin's _export_begin accepts all the arguments related
   to the current export (is_debug, path, flags).

 - EditorExportPlugin API is extended with methods allowing to configure
   iOS export: add_ios_framework, add_ios_plist_content,
   add_ios_linker_flags, add_ios_bundle_file.

 - iOS export template now contains Godot as a static library so that
   it can be linked with third-party Frameworks and GDNative static
   libraries.

 - Adds method to DirAccess for recursive copying of a directory.

 - Fixes iOS export to work with Xcode 9 (released recently).
2017-11-21 01:16:49 +07:00
Leon Krause
35adf718cf Change HTML5 start-up API
Rename engine.start() to startGame(), new start() takes string arguments
handed directly to main(). Rename Engine.loadEngine() to load().

Add setLocale(), setResizeCanvasOnStart(), setExecutableName() and
preloadFile().
2017-11-19 15:39:57 +01:00
Leon Krause
ddf21ca016 Remove asm.js support from HTML5 platform
Since WebGL 2.0 is required, requiring WebAssembly support as well has
little impact on compatibility.
2017-11-18 05:52:14 +01:00
Rémi Verschelde
5bc2cf257b Convert DOS line endings to Unix line endings
Should fix issues some of us have with `misc/dist/uwp_template/AppxManifest.xml`
always showing up as modified.
Might cause issues on Windows due to the removal of BOMs or change of line endings
in some of the Mono, UWP or gradlew.bat files, we will test and adapt if need be.
2017-11-05 11:37:59 +01:00
Ruslan Mustakov
011d997840 Sign iOS dylibs before packaging
These changes allow to open the exported project in XCode and Run it
immediately to begin debugging. Before these changes you'd have to
sign GDNative libs and change Build Configuration manually.
2017-10-16 10:35:58 +07:00
Scott Beca
1c6a49b5f5 Change OSX version from 2.2-dev to 3.0-dev 2017-09-26 22:45:02 +10:00
Ruslan Mustakov
f5b3b24c22 Enhance iOS export
- The export process now builds complete .ipa on macOS, instead of just
   creating XCode project.

 - The project includes Capabilities games usually require: Game Center,
   Push Notifications, In-App Purchase.

 - Icons and launch screens can be specified in export preset.
2017-09-26 00:18:08 +07:00
Rémi Verschelde
cebcba9022 Dist: Fix typos in manpage
[ci skip]
2017-09-24 19:40:36 +02:00
Rémi Verschelde
b57fa8f19b Dist: Use HTTPS for screenshot link in AppData file
[ci skip]
2017-09-24 19:38:01 +02:00
Rémi Verschelde
622d428baa Dist: Add man page for Linux packagers
[ci skip]
2017-09-24 12:07:51 +02:00
Rémi Verschelde
20c8a4752c Dist: Add desktop and AppStream files for Linux packagers
[ci skip]
2017-09-24 10:10:29 +02:00
Poommetee Ketson
8bf8cf1316 Merge pull request #11154 from eska014/html5-startup-revamp
HTML5 start-up overhaul with download progress display
2017-09-12 04:35:30 +07:00
Leon Krause
4db801aaea HTML5 start-up overhaul
- Implement promise-based JS interface for custom HTML page
   integration
 - Add download progress callback
 - Add progress bar and indeterminate spinner to default HTML page
 - Try downloading files multiple times when failing
 - Get rid of godotfs.js
 - Separate steps for engine initialization, game initialization and game
   start
 - Allow multiple games on one HTML page
 - Substitution placeholders only used in .html file
 - Placeholders renamed: $GODOT_BASE => $GODOT_BASENAME,
   $GODOT_TMEM -> $GODOT_TOTAL_MEMORY
 - Emscripten Module is now Engine.RuntimeEnvironment (no longer a global)
2017-09-11 20:56:29 +02:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Timo Schwarzer
1e29d92dfa Use new icons everywhere
Closes #8879
2017-05-28 20:18:30 +02:00
Rémi Verschelde
787dad5ac4 Adapt tutorials (Godot Docs) icon to new design 2017-05-17 21:22:01 +02:00
Rémi Verschelde
df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Juan Linietsky
000e873008 Merge pull request #8191 from eska014/webgl2-export
WebGL 2 export per WebAssembly or asm.js
2017-03-29 15:21:52 +02:00
eska
7df7e9cc8b WebGL 2 export per WebAssembly or asm.js 2017-03-29 13:27:43 +02:00
Rémi Verschelde
1a0d1bb18d Remove redundant subfolder in iOS template 2017-03-26 22:03:58 +02:00
Daniel J. Ramirez
ef174abf6d Added AppImage structure 2017-03-04 17:38:29 +01:00
Rémi Verschelde
b87a232668 Reorder the folders in tools to prepare moving tools/editor
- `certs` and `editor_fonts` go to `thirdparty`
- `dist` and `scripts` go to a new `misc` folder
- `collada` and `doc` go to `tools/editor`

The next step will be to rename `tools/editor` to `editor` directly,
but this will be done at the right time to avoid breaking too many PRs.
2017-02-09 00:08:27 +01:00