Commit Graph

738 Commits

Author SHA1 Message Date
Hugo Locurcio f5f04a10f5
Add a project setting to enable stdout flushing in release builds
This can be used in server builds for journalctl compatibility.

(cherry picked from commit 341b9cf15a)
2020-12-29 16:02:00 +01:00
Rémi Verschelde afbca1216e
Revert "Don't open editor window when using --export, --doctool, or --gdnative-generate-json-api"
This reverts commit 27393de36e.

Fixes #44403.
2020-12-16 15:02:10 +01:00
Rémi Verschelde 36662f3b4d
Don't force GLES2 in Project Manager, causes issues on macOS.
This partially reverts #44041.

Also fix the bogus label about lack of GLES3 support being always shown...
It was meant to be behind a check but I had left it out while testing, and
forgot to put it back.
2020-12-11 22:32:41 +01:00
Rémi Verschelde 0c7a9bd283
doc: Sync classref with current source
And fix broken doctool after #43948.
2020-12-10 14:22:31 +01:00
Rémi Verschelde e8fb0c3230
Merge pull request #43948 from name-here/no-window-on-export-3.2
Don't open editor window when using --export or --doctool
2020-12-09 11:21:55 +01:00
Rémi Verschelde 218d10a6a3
Merge pull request #44041 from akien-mga/project-manager-default-gles2
Use GLES2 by default in the project manager
2020-12-07 11:30:23 +01:00
Marcel Admiraal c3150eb783 Ignore hint entries in game controller mapping 2020-12-03 09:07:15 +00:00
Rémi Verschelde 8b1ee204cf
Use GLES2 by default in the project manager
This only applies to the project manager instance, what driver is used is otherwise
still defined by the project settings for a running game/editor.

Should help users who have issues with buggy GLES3 drivers to still use the project
manager to create and edit GLES2 projects.
2020-12-02 18:15:54 +01:00
Andrii Doroshenko (Xrayez) c663b3d5f8
Fix doctool misleading error message
(cherry picked from commit b0e8177306)
2020-12-01 09:00:54 +01:00
name-here 27393de36e Don't open editor window when using --export, --doctool, or --gdnative-generate-json-api 2020-11-29 16:53:38 -05:00
Fabio Alessandrelli f32c878ef7
Fix CLI export when export_path is in preset.
Export presets contains the export_path option, to specify the default
export location, but the CLI export option disregarded that, and always
required and export path to be specified.
After this commit, if the export path is not specified in the command,
the one in the preset will be used, erroring only if it's not present or
invalid.

(cherry picked from commit 032a1c5dc3)
2020-11-17 22:23:09 +01:00
Rémi Verschelde d0a5ef9c7a
Merge pull request #43234 from madmiraal/fix-42876-3.2
[3.2] Remove unneeded filter on joy_axis()
2020-11-16 22:41:49 +01:00
Rémi Verschelde 4d667dadb9
Merge pull request #43554 from lawnjelly/refactor_pixel_snap
Add 2d snap transforms option
2020-11-16 18:24:10 +01:00
Rémi Verschelde fc5b106369
Merge pull request #42168 from madmiraal/fix-42108-3.2
[3.2]  Remove the unnecessary sync() and the restrictions it imposes on 3D Physics.
2020-11-16 09:33:17 +01:00
lawnjelly a79293e0fc Add 2d snap transforms option
This is a cut back backport of reduz snapping PR #43194.

It just offers a global project setting for transform snapping.
2020-11-15 09:40:07 +00:00
Hugo Locurcio b7a3df473d
Allow using SVG images as project icon
Since exporters will save their own icon, the target platforms
don't have to support SVG to display the icon correctly.

This closes #23068.

(cherry picked from commit 0f9432f060)
2020-11-11 15:30:57 +01:00
Pedro J. Estébanez 3ec62c82a3 Implement no-window mode for X11 and MacOS
Bonus: Homogeinize and improve OS::alert() for no-window mode
2020-11-09 20:56:12 +01:00
Marcel Admiraal ef2a04bfd7 Remove unneeded filter on joy_axis() 2020-10-31 09:22:52 +00:00
Rémi Verschelde 914b0f700e
Update AUTHORS and DONORS list
New corporate sponsors:
  Spiffcode (Platinum)
  ASIFA-Hollywood (Silver)
  Zenva Academy (Silver)

Thanks to all contributors and donors for making Godot possible!

(cherry picked from commit 4960894880)
2020-10-28 15:09:17 +01:00
Marcel Admiraal 307f78abe6 Apply upstream gamecontrollerdb patch 391.
Co-authored-by: SalvoB <salvob41@users.noreply.github.com>
2020-10-26 17:01:53 +00:00
Marcel Admiraal 954b14ecec Provide support for buttons and D-pads mapped to half axes, and
fix axes mapped to buttons and D-pads.
2020-10-26 15:54:30 +00:00
Rémi Verschelde 9da889ff29
Merge pull request #40555 from RandomShaper/fix_debugger_autofocus_3.2
Fix debugger not getting focused on break on Windows (3.2)
2020-10-01 13:54:38 +02:00
Sergey Minakov 42de81e235 iOS: move touch delay to settings 2020-10-01 12:36:57 +03:00
Fabio Alessandrelli 6dffc1ef46
Ignore thread models when compiling with NO_THREAD
The thread model option for physics (2D) and rendering (single-unsafe,
single-safe, multithread), was causing crashes/locks when set as
multithreaded and exported for a platform that does not support threads
(namely HTML5).

This commit ensures that when threads support is not available, that
option is ignored, and the equivalent of "single-unsafe" is always used
instead.

(cherry picked from commit f3c6ac1d71)
2020-09-24 14:43:08 +02:00
Marcel Admiraal fc72c3fdf5 Remove the unnecessary sync() and the restrictions it imposes on 3D Physics. 2020-09-18 10:42:59 +01:00
Rémi Verschelde ee5971a185
Donors: Add Gamblify, remove Interblock from splash screen
(cherry picked from commit 92d1964d1a)
2020-09-16 16:14:31 +02:00
Rémi Verschelde 138eba1561
Fix invalid CSV in SDL2 controller mappings DB
Follow-up to a61cae1469.

(cherry picked from commit 1e49a86884)
2020-09-01 20:54:32 +02:00
Rémi Verschelde 9be924c454
Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@d148c6ce49.

(cherry picked from commit a61cae1469)
2020-09-01 10:24:04 +02:00
Rémi Verschelde b40f3f9740 Style: Sync other changes from new fix_style.sh and clang_format.sh 2020-07-24 10:39:18 +02:00
Pedro J. Estébanez 633b75c9e1 Fix debugger not getting focused on break on Windows
This is a revert of 9d78274e06, which was an attempt to fix #21431, but in the end it seems a different problem was the root of the issue.

Renewing focus steal allowance every time is needed on Windows.
2020-07-21 01:09:17 +02:00
Hugo Locurcio a8188265c2 Disable file logging for the project manager
Due to `user://` returning the current working directory when no
project is open, this caused logs to be written to `$HOME`
most of the time.

This closes #40305.

(cherry picked from commit b89dc6ae00)
2020-07-15 12:14:51 +02:00
Hugo Locurcio c2a4ce9380 Enable file logging by default on desktops to help with troubleshooting
- Use the `.log` file extension (recognized on Windows out of the box)
  to better hint that generated files are logs. Some editors provide
  dedicated syntax highlighting for those files.
- Use an underscore to separate the basename from the date and
  the date from the time in log filenames. This makes the filename
  easier to read.
- Keep only 5 log files by default to decrease disk usage in case
  messages are spammed.

(cherry picked from commit 20af28ec06)
2020-07-10 11:03:32 +02:00
PouleyKetchoupp fe0adc4f77 Keep debug & verbose options after loading project from project manager
(cherry picked from commit b2d27214aa)
2020-07-10 08:51:21 +02:00
Rémi Verschelde 07b24de868
Merge pull request #38724 from madmiraal/fix-8368-3.2
[3.2] Support SDL2 half axes and inverted axes mappings.
2020-07-06 23:10:47 +02:00
Fabio Alessandrelli dc8b7b3b17 Move frame delaying functions from Main to OS.
Will allow specific platforms to override it and avoid blocking on the
main/GUI thread.

(cherry picked from commit 1b6e3458b2)
2020-07-02 13:52:02 +02:00
Marcel Admiraal ebff150680 Support SDL2 half axes and inverted axes mappings. 2020-06-26 06:28:56 +01:00
Hugo Locurcio 087a83fd54 Improve the low processor mode sleep precision
The Low Processor Usage Mode Sleep Usec setting is now used as a
FPS limiter rather than a constant sleep duration.

This will increase CPU/GPU usage slightly due to the higher
effective FPS, but the increase in overall smoothness is worth it.

If both Force Fps and Low Processor Usage Mode settings are enabled
in the project settings, only the setting that causes the highest
sleep duration will be retained.

This closes #11030.

(cherry picked from commit 1c28b269d8)
2020-06-24 23:15:53 +02:00
Rémi Verschelde 530307e7ec Main::cleanup: Move MessageQueue deletion further down where it's safer
Partial revert of #15702 which triggered the issue.

Fixes #39786.

(cherry picked from commit 6480efba45)
2020-06-24 22:52:05 +02:00
Ev1lbl0w 17c87d2ec1
Expose disable_render_loop property to GDScript 2020-06-18 11:59:29 +01:00
Andrea Catania 74d10e766e - Added more euler rotation orders support.
- Fixed floating point issue on the old one.
- Fixed the equation on the get_euler_yxz function.
- Added unit tests.

This work has been kindly sponsored by IMVU.

(cherry picked from commit 2331300989)
2020-06-18 11:29:28 +02:00
Hugo Locurcio a6a29f97fe Add a suffix to the window title when running from a debug build
Since projects started from the editor or exported in debug mode
run slower than those exported in release mode, this should be
clearly presented to the user.

This partially addresses #20219.

(cherry picked from commit a9c60007a9)
2020-06-18 10:46:01 +02:00
Rémi Verschelde 7bf9787921 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.

(cherry picked from commit cd4e46ee65)
2020-06-10 15:30:52 +02:00
Rémi Verschelde 15b4192ec6 Sync controller mappings DB with SDL2 community repo
Synced with gabomdq/SDL_GameControllerDB@6191f6333b.

(cherry picked from commit 938334cc9e)
2020-06-05 12:46:28 +02:00
Andrii Doroshenko (Xrayez) 133997654c Add `custom_modules` build option to compile external user modules
This patch adds ability to include external, user-defined C++ modules
to be compiled as part of Godot via `custom_modules` build option
which can be passed to `scons`.

```
scons platform=x11 tools=yes custom_modules="../project/modules"
```

Features:

- detects all available modules under `custom_modules` directory the
same way as it does for built-in modules (not recursive);
- works with both relative and absolute paths on the filesystem;
- multiple search paths can be specified as a comma-separated list.

Module custom documentation and editor icons collection and generation
process is adapted to work with absolute paths needed by such modules.
Also fixed doctool bug mixing absolute and relative paths respectively.

Implementation details:

- `env.module_list` is a dictionary now, which holds both module name as
  key and either a relative or absolute path to a module as a value.
- `methods.detect_modules` is run twice: once for built-in modules, and
  second for external modules, all combined later.
- `methods.detect_modules` was not doing what it says on the tin. It is
  split into `detect_modules` which collects a list of available modules
  and `write_modules` which generates `register_types` sources for each.
- whether a module is built-in or external is distinguished by relative
  or absolute paths respectively. `custom_modules` scons converter
  ensures that the path is absolute even if relative path is supplied,
  including expanding user paths and symbolic links.
- treats the parent directory as if it was Godot's base directory, so
  that there's no need to change include paths in cases where custom
  modules are included as dependencies in other modules.

(cherry picked from commit a96f0e98d7)
2020-05-25 17:08:38 +03:00
bruvzg 28aabf4f73
[3.2] Block WM_MOUSEMOVE during Windows Ink pen handling. 2020-05-22 14:05:53 +03:00
Rémi Verschelde b6c551e864
Merge pull request #38875 from bruvzg/tab_drv_sel_32
[Windows, 3.2] Add tablet driver selection.
2020-05-20 13:58:26 +02:00
Hugo Locurcio a785641196 Allow `.res` and `.tres` extensions in the scene CLI positional argument
This closes #35709.

(cherry picked from commit 653334cc8d)
2020-05-20 12:07:08 +02:00
bruvzg 71b2abbfa3
[Windows, 3.2] Add tablet driver selection. 2020-05-20 09:36:56 +03:00
Pedro J. Estébanez 8349635ffc Fix leaks and crashes in OAHashMap
This changes the way the lifespan of items is managed to be consistent.

Bonus: Simplify cases of destroy-then-emplace.
2020-05-18 14:02:49 +02:00
Rémi Verschelde a5a7b1d462 Input: Readd 'Default Android Gamepad' magic binding
Removed by mistake in #38292 like the Windows `__XINPUT_DEVICE__`,
this magic binding is referenced directly in our code.

(cherry picked from commit 1c61b31109)
2020-05-11 11:22:21 +02:00