Haoyu Qiu
207e52c161
Fix String::word_wrap() for long words
...
- Changes `TextServer.string_get_word_breaks()`
- Returns pairs of boundary start and end offsets
- Accepts `chars_per_line` to return line breaks
- Removes `String::word_wrap()`
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-12-16 13:18:57 +08:00
Rémi Verschelde
346efd29e0
Fix typos with codespell
2022-12-15 12:24:08 +01:00
Fredia Huya-Kouadio
ec4de82ab3
Merge pull request #69990 from exoticorn/fix-android-touch-input
...
Fix ambiguous touch input events on Android
2022-12-14 18:23:17 -08:00
Dennis Ranke
408000752c
handle ambiguous input events as touch events
...
there can be events can have both SOURCE_TOUCHSCREEN and SOURCE_STYLUS. handle them as touch events rather than mouse events.
2022-12-12 23:33:46 +01:00
Rémi Verschelde
8ab653c7ea
Merge pull request #69966 from bruvzg/ios_fix_single_line_input_and_offsets
...
[iOS] Fix broken single line input and incorrect selection / caret position.
2022-12-12 17:30:11 +01:00
bruvzg
13eb0a6592
[iOS] Fix broken single line input and incorrect selection / caret position.
2022-12-12 18:16:10 +02:00
oOjor-elOo
2507ee5ca4
Windows: Validate that the font family name exists before trying to get the font family
...
I didn't have the first emoji font installed, which led an an exception when calling font_collection->GetFontFamily() no the new rows.
2022-12-12 15:44:54 +01:00
Rémi Verschelde
f1edd03d4c
Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextension
...
Rename all gdnative occurences to gdextension
2022-12-12 11:43:59 +01:00
Hugo Locurcio
6799d000b1
Only support XDG directory path configuration on Linux
...
XDG support breaks when running Windows builds via WINE.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-12-12 11:43:16 +01:00
Gilles Roudière
be1c9d677d
Rename all gdnative occurences to gdextension
...
Non-exhaustive list of case-sensitive renames:
GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension ->Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:04:57 +01:00
nikitalita
4fec34808d
fix dbus and fontconfig links
2022-12-09 09:05:06 -08:00
Rémi Verschelde
0a3f66471e
Merge pull request #69712 from bruvzg/real_size
...
Rename `window_get_real_size`, add position counterpart.
2022-12-07 14:29:46 +01:00
Rémi Verschelde
39ad411369
Merge pull request #69707 from bruvzg/x11_exfs
...
[Linux/X11] Split fullscreen mode into `WINDOW_MODE_EXCLUSIVE_FULLSCREEN` and `WINDOW_MODE_FULLSCREEN` to improve multi-window handling.
2022-12-07 14:29:37 +01:00
Rémi Verschelde
dedca54754
Merge pull request #69686 from bruvzg/win_mgmt_fixes_batch1
...
[Windows] Window management fixes.
2022-12-07 13:25:58 +01:00
Rémi Verschelde
b3c7822fad
Merge pull request #69638 from bruvzg/macos_notarytool
...
[macOS export] Add support for Xcode notarytool.
2022-12-07 13:25:12 +01:00
bruvzg
9189c96aef
[macOS export] Add support for Xcode notarytool.
2022-12-07 13:01:12 +02:00
bruvzg
edf13eb5a6
Rename window_get_real_size
to window_get_size_with_decorations
, add window_get_position_with_decorations
.
2022-12-07 11:07:30 +02:00
Markus Sauermann
e18107a57c
Fix Determining Window for Touchscreen
...
DisplayServer::screen_is_touchscreen will likely never utilize its
parameter p_screen.
This PR replaces this function by DisplayServer::is_touchscreen_available()
with the same functionality.
This solves the problem, that a SubViewport was used for determining
the screen, which resulted in error messages.
2022-12-07 09:54:29 +01:00
bruvzg
ad0f6ff85b
[Linux/X11] Split fullscreen mode into WINDOW_MODE_EXCLUSIVE_FULLSCREEN
and WINDOW_MODE_FULLSCREEN
to improve multi-window handling.
2022-12-07 09:54:02 +02:00
bruvzg
e1cff4be9b
[Windows] Window management fixes.
...
Fix popup menus having incorrect scale when main window is in full-screen mode and multiple monitors with different DPI are used.
Prevent mouse move code from accessing deleted window data (and creating zombie records in the windows map).
2022-12-06 23:56:21 +02:00
Markus Sauermann
b44e6bb42b
Fix colorpicker slider bug with mouse-up outside of popup
...
When releasing the mouse button outside of the popup while dragging
a slider, the slider still gets adjusted by mouse-move events.
The reason for this bug is that the mouse-up event is sent to the
focused window (main editor window) instead of the colorpicker
popup window.
This PR adjusts the linuxbsd X11 DisplayServer to send the event to the
correct expected window.
2022-12-06 19:30:13 +01:00
Markus Sauermann
ada4761181
Fix that mouse-button-up event is parsed twice for drag-and-drop
...
Currently Input::get_singleton()->parse_input_event(mb); is
called twice for mouse-button-up events when dropping in a different
window on linuxbsd.
2022-12-05 19:31:22 +01:00
Rémi Verschelde
14f23df1a3
Merge pull request #69563 from nyanpasu64/patch-1
...
Fix burning CPU with udev disabled on Flatpak
2022-12-05 18:07:02 +01:00
Rémi Verschelde
5c6e2b2cac
Windows: Make MSVC debug CRT opt-in (debug_crt=yes
)
...
Follow-up to #69294 which enabled it automatically for `dev_build=yes`,
but this seems to cause some issues.
Those issues should likely be debugged but until then this can stay opt-in.
2022-12-05 15:56:12 +01:00
Rémi Verschelde
e82d66f23b
Merge pull request #69294 from akien-mga/windows-msvc-link-debug-runtime
...
Windows: Link MSVC dynamic debug CRT for debug builds
2022-12-05 10:14:33 +01:00
bruvzg
89db7f8e7c
[Linux/BSD] Fix build without fontconfig.
2022-12-05 07:56:44 +02:00
Rémi Verschelde
8912f3e4a7
Merge pull request #69578 from dsnopek/android-native-handles
...
Clean up DisplayServerAndroid::window_get_native_handle() with the GLES3 renderer
2022-12-05 00:31:12 +01:00
David Snopek
61cec0b023
Clean up DisplayServerAndroid::window_get_native_handle() with the GLES3 renderer
2022-12-04 13:07:51 -06:00
bruvzg
ecec415988
Use system fonts as fallback and improve system font handling.
...
Add support for font weight and stretch selection when using system fonts.
Add function to get system fallback font from a font name, style, text, and language code.
Implement system font support for Android.
Use system fonts as a last resort fallback.
2022-12-04 18:44:20 +02:00
nyanpasu64
0cbd1c85a9
Fix burning CPU with udev disabled on Flatpak
...
Fixes #67355 .
2022-12-03 20:10:48 -08:00
Rémi Verschelde
015dc492de
Merge pull request #69390 from Sauermann/fix-mouse-event-position
...
Fix incorrect mouse event position while hovering different window
2022-12-03 22:33:12 +01:00
Riteo
2dd5a792bb
Load X11 dynamically
...
The loaders have been generated through hpvb's dynload-wrapper, although
they had to be heavily handpatched to workaround some already reported
issues with it. I added a note to each generated file to account for
that.
As GLAD uses X11 stuff directly, I had to define the GLAD_GLX_NO_X11
macro to not let do it that, and handle myself the display loading and
screen handling part myself, which wasn't that hard but it's still
something worth saying.
I plan to improve greatly the X11 backend (including this aspect) but,
as the release isn't that far and I'm also working on the Wayland
backend, this will do for now, I hope.
2022-12-03 19:23:43 +01:00
Rémi Verschelde
7bffdca41c
Merge pull request #69380 from bruvzg/mac_max_ws
...
[macOS] Improve maximized and non-resizable modes handling.
2022-12-02 12:25:25 +01:00
Rémi Verschelde
7ef9947d0e
Merge pull request #68870 from dsnopek/master-webxr-input
...
Get WebXR fully working in Godot 4!
2022-12-02 12:24:40 +01:00
David Snopek
310bf39cd3
Get WebXR fully working in Godot 4!
2022-12-01 21:46:30 -06:00
Fredia Huya-Kouadio
2aba13e8fb
Updating the minimum Android target api for proper Vulkan support
2022-11-30 11:16:59 -08:00
Markus Sauermann
79401f8dc2
Fix incorrect mouse event position while hovering different window
2022-11-30 13:39:31 +01:00
bruvzg
8cd08f8b6f
[macOS] Improve maximized and non-resizable modes handling.
2022-11-30 11:34:40 +02:00
bruvzg
aa117a128e
[macOS] Fix export button incorrectly disabled when using login/app password for notarization.
2022-11-30 10:38:53 +02:00
clayjohn
9141984e7e
Enable GLES3 on Android
...
Add necessary build flags and switch from using a
GLES2 context to a GLES3 one.
This also enables building for OpenXR
Co-authored-by: m4gr3d <fhuyakou@gmail.com>
Co-authored-by: dsnopek <dsnopek@gmail.com>
2022-11-29 14:18:24 -08:00
bruvzg
0cea664cb5
[iOS] Read document and cache path directly in the OS code, instead of passing in from main.
2022-11-29 14:58:12 +02:00
Rémi Verschelde
82e45820d9
Merge pull request #69332 from bruvzg/exact_symbols
...
[MSVC] Use symbols from .pdb only, to avoid incorrect names in the backtrace when symbols are missing.
2022-11-29 10:34:52 +01:00
Rémi Verschelde
b7667e6a47
Merge pull request #69110 from bruvzg/con_icon2
...
[Windows] Optimize editor icon, use different icon for console executable.
2022-11-29 10:26:47 +01:00
bruvzg
d99c32668a
[MSVC] Use symbols from .pdb only, to avoid incorrect names in the backtrace when symbols are missing.
2022-11-29 11:12:54 +02:00
bruvzg
42c2c02acf
[Windows] Optimize editor icon, use different icon for console executable.
2022-11-29 09:39:03 +02:00
bruvzg
aaf4d7dfe1
[macOS] Fix sub-windows opening in fullscreen.
2022-11-28 14:11:21 +02:00
Rémi Verschelde
cf9bb5c2c3
Windows: Link MSVC dynamic debug CRT for debug builds
...
Fixes #31608 .
2022-11-28 12:58:17 +01:00
Rémi Verschelde
be0923b1d9
Merge pull request #69277 from pkdawson/construct-joypad-first
...
[Windows] Fix joypad crash
2022-11-28 08:47:32 +01:00
Rémi Verschelde
23f3adb7a0
Merge pull request #67815 from Calinou/html5-improve-feature-errors
...
Improve feature errors in HTML5 for easier understanding
2022-11-28 08:40:39 +01:00
Rémi Verschelde
2d1bf56510
Merge pull request #68740 from bruvzg/ios_fixes
...
[iOS] Fix getting Unicode executable path, fix error spam on start.
2022-11-28 08:31:53 +01:00
Fredia Huya-Kouadio
7cc47613fe
Add missing display server overrides
...
Improves the base functionality for the Android platform and helps reduce the amount of spurious error logs emitted.
2022-11-27 22:07:51 -08:00
Patrick Dawson
1aa4959381
[Windows] Fix joypad crash
2022-11-28 03:38:47 +01:00
Rémi Verschelde
2a36127e34
Android: Remove extra arch suffix now redundant with the default one
...
We would needlessly get file names like `*.arm64.armv8.o`.
2022-11-25 16:25:31 +01:00
Rémi Verschelde
afe1c89fb5
Merge pull request #68897 from bruvzg/mac_reparent
...
[macOS] Dynamically attach and detach transient windows to allow them to stay on top of parent and be moved to another screen.
2022-11-21 11:44:02 +01:00
bruvzg
908bef8eee
[Export] Use image loader directly to avoid "resource as image file" errors.
2022-11-21 10:11:59 +02:00
bruvzg
c2b061dec3
[macOS] Dynamically attach and detach transient windows to allow them to stay on top of parent and can be moved to another screen.
2022-11-21 10:11:14 +02:00
Markus Sauermann
567a591f87
Fix unused exitcode in macos export plugin
...
Fix that the exitcode is never set.
2022-11-20 22:27:23 +01:00
bruvzg
ac0ed9ce67
Windows icon export improvements.
...
Regenerate Windows icon on export to ensure correct icon size order.
Add support for using PNG/WebP/SVG files as an icon for Windows exports.
Allow using WebP/SVG files as icon for macOS exports.
Add option to select generated icons interpolation, and set default interpolation to Lanczos.
2022-11-18 19:42:07 +02:00
Fredia Huya-Kouadio
3c75887d41
Fix parsing of the keep_screen_on
display setting
2022-11-17 05:54:05 -08:00
Rémi Verschelde
eb7c3e1ad3
Android: Fix parsing keep_screen_on
setting
...
Boolean stringification changed in Godot 4.0.
Fixes #67034 .
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-11-17 14:32:42 +01:00
Rémi Verschelde
2e2a3a5f16
Merge pull request #68778 from bruvzg/ios_icons
...
[iOS] iOS export improvements.
2022-11-17 13:48:07 +01:00
Rémi Verschelde
921ab252e7
Merge pull request #68777 from bruvzg/mac_activ_13
...
[macOS] Update activation hack to work on Ventura.
2022-11-17 11:57:50 +01:00
bruvzg
7467067d23
[iOS] iOS export improvements.
...
Add export options to set Settings and Notification icons on export.
Automatically fill background of the app store icon instead of failing (with warning).
Update development region to use `en` instead of `English`.
2022-11-17 12:06:15 +02:00
bruvzg
153d06d79b
[macOS] Update activation hack to work on Ventura.
2022-11-17 11:14:03 +02:00
bruvzg
b11d180a93
[Windows] Use case-sensitive file names for the system fonts to avoid warnings.
2022-11-17 09:39:31 +02:00
bruvzg
6bf9594cfb
[iOS] Fix getting Unicode executable path, fix "!configured" and "!classes.has(ti.inherits)" error spam on start.
2022-11-16 18:55:37 +02:00
Fredia Huya-Kouadio
5212d37040
Fix 'save & restart' logic for the Android Editor
2022-11-16 03:35:53 -08:00
Rémi Verschelde
13280f1874
X11: Don't override glxSwapInterval function pointers loaded by GLAD
...
Fixes #68722 .
Co-authored-by: alcomposer <alex.w.mitchell@gmail.com>
2022-11-16 10:05:52 +01:00
Rémi Verschelde
5993209b26
Merge pull request #68700 from clayjohn/GLES3-vsync
...
Set vsync on window creation when using GLES3
2022-11-16 00:29:19 +01:00
clayjohn
58a9cfee80
Set vsync on window creation when using GLES3.
...
Add vsync to Windows platform
2022-11-15 14:14:21 -08:00
bruvzg
7db3822c2e
[Windows] Add icon to the console wrapper, add option to set icon for the console wrapper on export.
2022-11-15 23:47:21 +02:00
Riteo Siuga
dc2919d57b
Load GLX dynamically with GLAD
...
This is accomplished through the addition of a GLAD GLX loader in the
`thirdparty` directory.
This is another step towards a nice Wayland/X11 interoperation.
2022-11-15 13:55:30 +01:00
Rémi Verschelde
a70431559b
Merge pull request #68683 from bruvzg/mvk_detect
...
[macOS] Automatically detect MoltenVK libs installed via homebrew and macports.
2022-11-15 11:56:47 +01:00
Rémi Verschelde
696740fe38
Merge pull request #68680 from bruvzg/fc_no_font_sub
...
[fontconfig] Reject font substitutes if non-alias name was used.
2022-11-15 11:56:31 +01:00
Rémi Verschelde
dbf6ff0cb6
Merge pull request #68372 from Riteo/glad2
...
Regenerate GL loader code with GLAD 2
2022-11-15 11:56:16 +01:00
bruvzg
00d3ceb870
[macOS] Automatically detect MoltenVK libs installed via homebrew and macports.
2022-11-15 11:59:53 +02:00
bruvzg
40832cc670
[fontconfig] Reject font substitutes if non-alias name was used.
2022-11-15 11:17:44 +02:00
Rémi Verschelde
98e0d59952
Merge pull request #68504 from dzil123/cache_system_dir_xdg2
...
Cache OS_LinuxBSD::get_system_dir
2022-11-15 00:18:09 +01:00
Rémi Verschelde
80dbcfd995
Merge pull request #68657 from Sauermann/fix-redundant-initialization
...
Remove redundant non-trivial Variant types initializations
2022-11-14 23:23:54 +01:00
Riteo
f6397bffb1
Regenerate GL loader code with GLAD 2
...
GLAD 1 creates unusable loaders for EGL, while the newly released GLAD 2
does not, so for consistency I thought that it would be a good idea to
uniform things beforehand. While it had some API changes some renames
were all that was needed and everything works like before, at least on
the Wayland branch.
I've kept the structure identical, although this new generator has quite
a few hefty features, such as a single header mode.
I've also added GLAD to `thirdparty/README.md`, but I haven't specified
that in the commit title because it's a very small "fix".
2022-11-14 21:48:01 +01:00
Hugo Locurcio
efe3220b2e
Fix periods in editor strings and messages
...
- Ensure all strings with ellipsis end with 3 periods instead of 2.
- Fix extraneous period in "Error calling from signal '...' to callable"
messages.
2022-11-14 19:36:36 +01:00
Markus Sauermann
3b14f0334c
Remove redundant Variant-types initializations
2022-11-14 19:35:19 +01:00
Rémi Verschelde
315c64282b
Fix misc formatting issues
...
Somehow I missed the failing CI report from trailing whitespace.
Fixed a couple typos found by codespell while at it, and misc
trailing semicolons in one of the files.
2022-11-14 19:00:48 +01:00
Rémi Verschelde
1b3ed1b3ba
Merge pull request #68631 from pkdawson/fix-icondir-buffer-overflow
...
Fix ICONDIR buffer overflow
2022-11-14 11:08:22 +01:00
bruvzg
964d8b2d00
[macOS] Add exclusive fullscreen mode with Dock and Menu disabled.
2022-11-14 07:57:22 +02:00
Patrick Dawson
ffa39db847
Fix ICONDIR buffer overflow
2022-11-14 00:47:14 +01:00
Rémi Verschelde
b05e1e7d69
Merge pull request #68608 from dsnopek/gl-manager-nullptr
...
Added missing null checks for gl_manager in MacOS and Windows display servers
2022-11-13 15:52:42 +01:00
David Snopek
4c8409c0fe
Added missing null checks for gl_manager in MacOS and Windows display servers
2022-11-13 07:06:26 -06:00
dzil123
d22ab7c85b
Cache OS_LinuxBSD::get_system_dir(SYSTEM_DIR_DESKTOP)
2022-11-12 22:38:32 -08:00
Markus Sauermann
ed5c9a07d7
Fix gl_manager nullptr crash
...
Add a nullptr-check, before accessing gl_manager
2022-11-13 00:48:45 +01:00
Rémi Verschelde
6ec698059a
Merge pull request #68482 from Sauermann/fix-mouse-enter-event
...
Fix unsent WINDOW_EVENT_MOUSE_ENTER event on mouse_mode-change
2022-11-11 10:54:30 +01:00
Markus Sauermann
52d75c9b35
Fix unsent WINDOW_EVENT_MOUSE_ENTER event on mouse_mode-change
...
coauthor: @bruvzg
On linuxbsd and macOS the WINDOW_EVENT_MOUSE_ENTER was not sent,
when the mouse became visible again after a mouse_mode-change.
2022-11-11 07:52:16 +01:00
Fredia Huya-Kouadio
151233b702
Upgrade Android gradle plugin to version 7.2.1
2022-11-10 16:35:50 -08:00
Rémi Verschelde
29de658c29
Merge pull request #68345 from Abdul-AZ/master
...
Fix static object destructors being called on gpu selection with X11
2022-11-09 09:16:04 +01:00
David Snopek
23603e409c
Add support for OpenGL to OpenXR
2022-11-08 18:47:11 -06:00
TechnoPorg
df4597c9ab
Improve support for 64-bit types on Android.
...
This update mappings in the JNI functions to better support 64-bit integers, and adds support for 64-bit float arrays.
The code is mostly reused from 32-bit types.
2022-11-08 07:27:45 -07:00
Zae
bc9bf00e4a
Fix viewport doesn't auto-resize on Web.
2022-11-08 18:33:24 +08:00
Rémi Verschelde
70bde0d762
Merge pull request #68362 from bruvzg/android_gde
...
[Android] Fix GDExtension export and loading.
2022-11-08 10:50:30 +01:00
Rémi Verschelde
ddfd6cfeaa
Merge pull request #67682 from m4gr3d/misc_fixes_main
...
Small set of fixes to the input logic
2022-11-08 10:49:18 +01:00
bruvzg
6033668bed
[Android] Fix GDExtension export and loading.
2022-11-08 09:42:16 +02:00
kobewi
d9f066d5fa
Remove duplicate project settings definitions
2022-11-08 01:29:39 +01:00
Fredia Huya-Kouadio
5f4a3e57de
Small set of fixes to the input logic
2022-11-07 08:57:08 -08:00
Abdulrahman Al Zeidi
5860f81c18
Fix static object destructors being called on gpu selection with X11
2022-11-07 12:08:52 +00:00
Rémi Verschelde
930a94bfc4
Merge pull request #68287 from HolonProduction/android_keys
...
Fix wrong android key mapping.
2022-11-06 16:05:07 +01:00
Fabio Alessandrelli
3ff7964145
[Web] Force WebGL2 when supported.
2022-11-05 14:06:09 +01:00
Fabio Alessandrelli
cece83fdf2
[Web] Improve Godot shutdown and cleanup.
2022-11-05 14:06:09 +01:00
HolonProduction
a3f0dc5a83
Fix wrong android key mapping.
...
Fixes the wrong mapping of `Key::HOME`. Androids `KEYCODE_HOME` is in fact the hardware home button the right mapping is `KEYCODE_MOVE_HOME`.
Also adds mappings to keys that were not present before.
2022-11-05 13:54:44 +01:00
Rémi Verschelde
191c8ed12f
Merge pull request #67434 from bruvzg/win_wrapper
...
Add console wrapper app to handle console i/o redirection on Windows.
2022-11-04 10:49:37 +01:00
Rémi Verschelde
879aac9db4
Merge pull request #67695 from Sauermann/fix-filedrop-space
...
Do not strip spaces at the end of file names of dropped files
2022-11-03 12:08:08 +01:00
Rémi Verschelde
90d290f5f5
Merge pull request #67820 from Sauermann/fix-popup-closing-on-mousemove
...
Fix unwanted popup closing by mouse-move while holding mouse-button down
2022-11-03 12:07:59 +01:00
Rémi Verschelde
a68ea12c5b
Merge pull request #68133 from Sauermann/fix-mouse-dropping
...
Fix mouseleave event after drag and drop in different windows
2022-11-03 12:07:52 +01:00
Markus Sauermann
5d0aade322
Do not strip spaces at the end of file names of dropped files on linuxbsd
2022-11-03 11:38:42 +01:00
Markus Sauermann
8fb4b5998e
Fix unwanted popup closing by mouse-move while holding mouse-button
2022-11-03 11:36:58 +01:00
Rémi Verschelde
889868cbbc
Merge pull request #68182 from Riteo/x11-folder
...
linuxbsd: move all X11 stuff in its own directory
2022-11-03 00:32:30 +01:00
Riteo
593c571d6a
linuxbsd: move all X11 stuff in its own directory
...
This allows implementing `DisplayServer`s like Wayland without making a
mess in the source tree.
2022-11-02 20:48:46 +01:00
Rémi Verschelde
f7c611ab71
Style: Misc docs and comment style and language fixes
...
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-02 19:01:18 +01:00
Markus Sauermann
9cea653457
Fix mouseleave event after drag and drop in different Windows
...
When dropping in a different window, it is necessary to start tracking
the WM_MOUSELEAVE event again.
2022-11-01 18:58:46 +01:00
bruvzg
060d62e0dc
Load and use system emoji font in the editor.
2022-11-01 11:04:58 +02:00
Rémi Verschelde
ec3c3afeaf
Merge pull request #68099 from Sauermann/fix-popup-mouse-offset
...
Fix mouse offset for unfocused popups
2022-11-01 08:20:04 +01:00
Markus Sauermann
88feacdad5
Fix mouse offset for unfocused popups
...
On Windows, the mouse was offset, when unfocused popups were used,
like the Editor menu.
2022-11-01 00:04:14 +01:00
Rémi Verschelde
2bd9a6fe8d
Merge pull request #68044 from ztc0611/ios-promotion
...
Add ProMotion/High Refresh Rate Support to iOS Exports
2022-10-31 23:03:30 +01:00
Zach Coleman
601c42be66
Add ProMotion Support to iOS Exports
2022-10-31 09:33:39 -04:00
Rémi Verschelde
9188bc7341
Merge pull request #67879 from bruvzg/fix_no_vlk
...
Fix build with Vulkan disabled and no Vulkan headers installed.
2022-10-31 14:29:05 +01:00
bruvzg
9a33c97c2a
Add console wrapper app to handle console i/o redirection on Windows.
2022-10-31 14:37:49 +02:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
...
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde
90e337e081
CI: Update minimatch npm dependency to silence security report
...
No risk for us as this is only used for static checks on CI.
2022-10-31 11:52:52 +01:00
Rémi Verschelde
638dfe2528
Merge pull request #67581 from aaronfranke/android-float
...
Use proper types for converting Java float/double arrays in Android code
2022-10-31 10:36:11 +01:00
Clay John
04ac91f786
Merge pull request #67790 from kdada/fix-flash-window
...
Make creating window do not flicker when specify custom position
2022-10-28 13:02:58 -07:00
Clay John
282e50ac88
Merge pull request #67903 from Sauermann/fix-startup-windows-mouse-exit-event
...
Fix differences between Windows and linuxbsd Display Server
2022-10-28 11:20:36 -07:00
Max Hilbrunner
028db9f2b5
Merge pull request #67914 from Calinou/displayserverx11-no-native-icon
...
Fix `DisplayServer.has_feature()` claiming X11 has native icon support
2022-10-28 12:46:57 +02:00
Markus Sauermann
4bd601d82a
Fix differences between Windows and linuxbsd Display Server
...
Fix that Windows receive WINDOW_EVENT_MOUSE_EXIT on startup.
When moving the mouse cursor from one window to a different one, make sure that the first window receives the WINDOW_EVENT_MOUSE_EXIT event before the second window receives the WINDOW_EVENT_MOUSE_ENTER event.
Send Mouse-Move events also for Windows, that are currently not focused.
For determining the currently hovered window, consider not just the currently focused window, but also other windows.
Send mouse move events to focused window instead of hovered window.
2022-10-28 09:32:25 +02:00
zCubed3
e7091d07cd
Fix OS.get_video_adapter_driver_info crash
2022-10-27 15:45:21 -07:00
Clay John
9ffa86357d
Merge pull request #67421 from Sauermann/fix-failure-exit-code
...
Fix Godot exiting with unexpected failure code
2022-10-27 11:58:50 -07:00
Hugo Locurcio
82a575dff4
Fix DisplayServer.has_feature()
claiming X11 has native icon support
...
Native icons are not supported by the X11 DisplayServer, unlike
Windows and macOS.
2022-10-26 20:39:31 +02:00
bruvzg
4dd8f68120
Fix build with Vulkan disabled and no Vulkan headers installed.
2022-10-26 08:55:05 +03:00
Wei Guo
d7e39e313b
Make window creation with custom position do not flash
2022-10-24 13:50:25 +08:00
Clay John
753a182797
Merge pull request #65334 from dsnopek/opengl-multiview
...
[opengl] Add multiview to the opengl3 driver
2022-10-23 17:00:01 -07:00
Hugo Locurcio
8fcd54d13e
Improve feature errors in HTML5 for easier understanding
2022-10-23 19:13:42 +02:00
Fredia Huya-Kouadio
13e4770b97
Add double_tap attribute to InputEventScreenTouch
...
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
2022-10-22 07:30:46 -07:00
David Snopek
398ee08375
Add multiview to the opengl3 driver
2022-10-21 21:00:32 -05:00
Clay John
021f524dfd
Merge pull request #67546 from clayjohn/DS-msg
...
Update the DisplayServer video driver error message to be more accurate and friendly
2022-10-21 16:57:35 -07:00
nikitalita
34a60e2c62
improve get_apksigner_path() robustness
2022-10-20 04:20:34 -07:00
Max Hilbrunner
21c90b4c7d
Merge pull request #67564 from bruvzg/macos_wide_alert
...
[macOS] Fit OS::alert to the text width for better readability.
2022-10-19 21:52:40 +02:00
Fredia Huya-Kouadio
20d1c882cd
Delete Android godot-lib with the old naming scheme
...
Update the `clean` task configuration: running `gradlew clean` will now properly delete the generated build artifacts
2022-10-18 20:36:40 -07:00
clayjohn
c4ba1565d0
Update the DisplayServer video driver error message
...
to be more accurate and friendly
2022-10-18 10:15:11 -07:00
kobewi
e48c5daddf
Unify usage of GLOBAL/EDITOR_GET
2022-10-18 19:01:48 +02:00
Aaron Franke
01bec83cb6
Use proper types for converting Java float/double arrays in Android code
2022-10-18 08:26:04 -05:00
bruvzg
a3cb6163cc
[macOS] Fit OS::alert to the text width for better readability.
2022-10-18 12:11:39 +03:00
Rémi Verschelde
b545d55df9
Merge pull request #67539 from bruvzg/check_ctx
...
Check if Vulkan context for the window exists before resizing it to avoid unnecessary error messages.
2022-10-17 17:32:07 +02:00
Rémi Verschelde
235c5c60f8
Merge pull request #67322 from ztc0611/add-ios-ui-options
...
Add iOS UI Options
2022-10-17 17:30:55 +02:00
Fredia Huya-Kouadio
64e8d8cd1f
Merge pull request #67259 from lucasnlm/optimiza-android-export
...
Optimize Android export process
2022-10-17 08:22:37 -07:00
bruvzg
667a052ed8
Check if Vulkan context for the window exists before resizing it to avoid unnecessary error messages.
2022-10-17 17:26:57 +03:00
Markus Sauermann
7d59a14db8
Fix Godot exiting with unexpected failure code
...
The exit code is initialized as EXIT_FAILURE to indicate failures during
startup. Closing the Game window via the window manager does not
change the exit code, so the program exists with EXIT_FAILURE.
This PR set the exit code to EXIT_SUCCESS when initialization was
successful just before starting the main loop.
2022-10-15 03:17:40 +02:00
kobewi
072f6feaba
Make some Image methods static
2022-10-14 14:34:15 +02:00
Fabio Alessandrelli
40d60ca6ae
[WebSocket] Fix debugger implementation.
...
Register module during core initialization so the remote debugger can
properly handle the "wss://" protocol.
2022-10-13 17:25:29 +02:00
Rémi Verschelde
fd4572cc45
Merge pull request #67340 from bruvzg/mac_export_min
...
Fix macOS export plugin build without regex module.
2022-10-13 09:05:42 +02:00
Rémi Verschelde
40847f1436
Merge pull request #67318 from bruvzg/more_gcc_warn
...
[Windows] Fix more GCC MinGW warnings.
2022-10-13 09:04:06 +02:00
bruvzg
dac2047529
Fix macOS export plugin build without regex module.
2022-10-13 08:54:50 +03:00
Rémi Verschelde
42ebc4ef65
Merge pull request #67325 from Faless/web/4.x_scons_serve
...
[Web] Add the "serve" and "run" scons targets.
2022-10-12 22:56:10 +02:00
Rémi Verschelde
261b9da77f
Merge pull request #67281 from Nidjo123/x11-window-resize
...
Keep rendering context window size in sync when resizing
2022-10-12 22:53:49 +02:00
Rémi Verschelde
f2248969db
Merge pull request #66952 from bruvzg/macos_net_export
...
Fix macOS .NET export.
2022-10-12 22:52:59 +02:00
Fabio Alessandrelli
a06602363c
[Web] Add the "serve" and "run" scons targets.
...
You can now run the test HTTP server by calling:
scons p=web serve
If you also wish to run the browser, call instead:
scons p=web run
The default listen port is 8060, but can be overriden via the env
variable GODOT_WEB_TEST_PORT which must be a valid integer.
2022-10-12 22:29:35 +02:00
Zach Coleman
d78051c92c
Add iOS UI Options
2022-10-12 15:22:54 -04:00
bruvzg
ad4cc8682b
[Windows] Fix GCC MinGW warnings.
2022-10-12 20:19:17 +03:00
Rémi Verschelde
06dc4648bf
Merge pull request #67252 from zaevi/web_fix_export_file_locked
...
[Web] Fix file locked issue when exporting to Web.
2022-10-12 14:44:32 +02:00
Rémi Verschelde
ced736e584
Merge pull request #67272 from Riteo/fix-auto-execinfo
...
Actually set the execinfo flag on non-glibc systems
2022-10-12 08:56:03 +02:00
Rémi Verschelde
fb9b4a1dd0
Merge pull request #67258 from Faless/web/4.x_eslint_html
...
[Web] Add auto-formatting to HTML files.
2022-10-12 08:54:52 +02:00
Nikola Bunjevac
882d40fa11
Keep rendering context window size in sync when resizing
...
On X11 we rely on ConfigureNotify event to update rendering context
window size, but we don't get such event when resizing
programmatically, only when done "manually" by resizing the window
etc.
2022-10-11 23:27:21 +02:00
Riteo
a3b5353892
Actually set the execinfo flag on non-glibc systems
2022-10-11 21:45:29 +02:00
Rémi Verschelde
736a2df437
Merge pull request #67244 from RandomShaper/split_render_further_2
...
Polish rendering driver refactor further (take 2)
2022-10-11 21:08:42 +02:00
Fabio Alessandrelli
9a653ebeac
[Web] Add auto-formatting to HTML files.
...
Uses html-eslint for HTML file and eslint-plugin-html for inline
JavaScript.
Use HTML5 (not XHTML), remove CDATA and trailing slashes for self
closing tags.
Add format checks to CI.
2022-10-11 19:42:12 +02:00
Pedro J. Estébanez
f82deaa5b3
Polish rendering driver refactor further (take 2)
2022-10-11 19:06:55 +02:00
Lucas Lima
975c588cf9
Revert change
2022-10-11 11:39:22 -03:00
Lucas Lima
166696659e
Optimize Android export process
2022-10-11 11:35:39 -03:00
Zae
55a491114a
Fix file locked issue when exporting to Web.
2022-10-11 20:49:51 +08:00
Rémi Verschelde
5aadc618b6
Merge pull request #66102 from MJacred/feature/getvideoadapterdriverinfo
...
Fetch video adapter driver name and version from OS
2022-10-11 13:59:53 +02:00
MJacred
de768afbdc
Fetch video adapter driver name and version from OS on Linux/*BSD and Windows
2022-10-11 12:39:41 +02:00
Rémi Verschelde
6ad1a635ee
Merge pull request #67242 from akien-mga/cleanup-unused-defines
...
Cleanup unused defines in platform code
2022-10-11 12:34:10 +02:00
Rémi Verschelde
a92c564a02
Cleanup unused defines in platform code
2022-10-11 11:52:41 +02:00
Pedro J. Estébanez
e14c5186e2
Fix newlines not honored in Windows console
...
This is relevant when building with `windows_subsystem=console`.
2022-10-11 10:09:50 +02:00
Micky
fe56c1ff75
Use JSON::stringify
where possible
2022-10-11 00:27:23 +02:00
Rémi Verschelde
28f642097a
Merge pull request #67183 from akien-mga/gcc-warnings-cleanup
...
SCons: Cleanup GCC warnings configuration
2022-10-10 17:42:36 +02:00
Rémi Verschelde
3c413cf008
Merge pull request #67200 from bruvzg/fix_win_gcc_warn
...
[Windows] Fix GCC MinGW warnings.
2022-10-10 17:42:19 +02:00
Fabio Alessandrelli
15a8e17b87
Merge pull request #67184 from zaevi/web_fix_GodotJSWrapper_object_type
...
[Web] Fix `Object` type in GodotJSWrapper.
2022-10-10 17:41:10 +02:00
bruvzg
379df32a98
[Windows] Fix GCC MinGW warnings.
2022-10-10 17:43:49 +03:00
Rémi Verschelde
8017827144
SCons: Re-enable treating #warning
as error with werror
...
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.
We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
Zae
bf61af6ae9
Fix Object type in GodotJSWrapper.
2022-10-10 19:28:43 +08:00
bruvzg
73430f292b
[macOS] Fix window button position and title bar size when editor scale do not match OS UI scale.
2022-10-10 10:32:41 +03:00
Amor Iqbal
43264bff23
Changed the conditions for firing 'No such file or directory' error
2022-10-10 08:28:04 +05:30
Jason Knight
c2d7f7fb4c
Change auto to default in cursor css settings.
2022-10-07 10:53:49 -06:00
Rémi Verschelde
b28c39d2f5
Merge pull request #67021 from RandomShaper/window_create_ret_madness
...
Harmonize return values of `window_create()` in rendering drivers
2022-10-07 14:22:53 +02:00
bruvzg
6daf4c6593
[.NET Export] Improve .NET export process.
...
[macOS export] Fix incorrect file placement, search paths and architecture detection.
[macOS export] Automatically detect executable files and set +x flag.
[macOS export] Automatically apply "Disable Library Validation" entitlements when required.
[macOS export] Remove old Mono export code.
Fix folder tree creation for shared objects export.
Add arch suffix to the exported .NET "data" folder name.
Remove old Mono code from .NET "data" folder lookup.
2022-10-07 13:33:06 +03:00
Pedro J. Estébanez
e821e9d2a2
Harmonize return values of window_create() in rendering drivers
2022-10-07 11:31:54 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4.
2022-10-07 11:32:33 +03:00
Rémi Verschelde
6c58327c69
Merge pull request #66965 from bruvzg/win_llvm
...
[Windows] Fix LLVM MinGW build.
2022-10-06 08:57:29 +02:00
Rémi Verschelde
c2c9a582da
Merge pull request #64815 from RandomShaper/default_cpu_count
...
Improve default `OS`'s CPU count getter
2022-10-06 08:55:51 +02:00
bruvzg
6afb2d0225
[Windows] Fix LLVM MinGW build.
2022-10-06 09:30:25 +03:00
Fredia Huya-Kouadio
ea9bb98f26
Merge pull request #66946 from m4gr3d/cursor_shape_logic_cleanup_main
...
Cleanup of the Android cursor shape logic
2022-10-05 13:07:34 -07:00
Fredia Huya-Kouadio
ffe0e3970f
Cleanup of the Android cursor shape logic
2022-10-05 11:57:57 -07:00
Pedro J. Estébanez
6bf02c0162
Keep a single, portable implementation of OS::get_processor_count()
2022-10-05 20:10:47 +02:00
Fredia Huya-Kouadio
38113acf0d
Merge pull request #66941 from winterpixelgames/bugfix-android-null-input-event
...
Fix null in android keyboard handling.
2022-10-05 10:51:58 -07:00
Jason Knight
88df3e8d53
Fix null in android keyboard handling.
2022-10-05 11:17:02 -06:00
Fredia Huya-Kouadio
3178b042b3
Fix the gradle build configuration for the Android platform following https://github.com/godotengine/godot/pull/66242
2022-10-05 08:41:48 -07:00
Rémi Verschelde
5b6ccf2fd2
Merge pull request #66720 from qarmin/unintialized_memory
...
Remove usage of unitialized variables
2022-10-05 11:42:47 +02:00
Rémi Verschelde
33f4c5282f
Merge pull request #64819 from RandomShaper/enhance_thread_funcs
...
Enhance portability of threading
2022-10-05 11:42:35 +02:00
Rémi Verschelde
4bf3199000
Merge pull request #64886 from Calinou/web-editor-add-local-web-server-2
...
Replace local web server setup for web editor with a Python-based solution
2022-10-05 08:36:19 +02:00
Rémi Verschelde
2c94470dd1
Merge pull request #63983 from Calinou/scons-linux-execinfo-musl
...
Automatically use execinfo for crash handler on *BSD and musl-based Linux
2022-10-05 08:29:59 +02:00
Hugo Locurcio
8e04bffbcf
Automatically use execinfo for crash handler on *BSD and musl-based Linux
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-10-04 19:40:19 +02:00
Hugo Locurcio
1be1b15a57
Replace local web server setup for web editor with a Python-based solution
...
This makes it easier to set up, as you always have Python installed
when building Godot. On the other hand, you don't always have Node.js
+ npm installed (and you may not want to spend time running `npm install`).
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2022-10-04 19:39:27 +02:00
Pedro J. Estébanez
958ecf55fe
Enhance portability of threading
2022-10-04 11:43:28 +02:00
Rémi Verschelde
4eaa59d0ed
Merge pull request #66773 from MladoniSzabi/numpad-no-numlock-bug-linux
...
Remapped the numpad keys on linux when numlock is off
2022-10-04 11:29:01 +02:00
Rémi Verschelde
68765b8831
Merge pull request #66274 from Calinou/engine-rename-max-fps
...
Rename `Engine.target_fps` and associated project setting to `max_fps`
2022-10-04 11:19:56 +02:00
Rémi Verschelde
b7c68b343d
Merge pull request #66832 from bruvzg/cmd_p_fix
...
[macOS] Fix ⌘ + . + other modifier triggering twice.
2022-10-04 11:19:41 +02:00
Rémi Verschelde
02e9e2d3c0
Merge pull request #66559 from zaevi/fix_ScrollContainer_touch_scroll
...
Fix ScrollContainer touch-scrolling not working.
2022-10-04 10:30:31 +02:00
Rémi Verschelde
9928cdc2e7
Merge pull request #66807 from akien-mga/core-unix-remove-NO_FCNTL-and-NO_STATVFS
...
Unix: Remove now unnecessary I/O defines, cleanup
2022-10-04 10:22:29 +02:00
Rémi Verschelde
cd7f172cf8
Merge pull request #66804 from akien-mga/core-remove-NO_SAFE_CAST
...
Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android build
2022-10-04 10:22:24 +02:00
Hugo Locurcio
1c6c72caf1
Rename Engine.target_fps
and associated project setting to max_fps
...
This makes the setting easier to find, as research has found there are
numerous use cases to limiting FPS. This also improves documentation
related to the Engine property and project setting.
The project setting also works in projects exported in release mode,
so its location in the `debug/` section was misleading.
2022-10-03 23:54:36 +02:00
bruvzg
bfbbe9c1d0
[macOS] Fix ⌘ + . + other modifier triggering twice.
2022-10-03 20:44:50 +03:00
MladoniSzabi
cc0fd7e783
Remapped the numpad keys on linux when numlock is off
...
On Linux, when using the numpad while numlock is off doesn't do
anything. Made the numpad keys map to the correct control keys.
Resolves : #54814 .
2022-10-03 12:53:42 +01:00
Rémi Verschelde
f501e4f665
Unix: Remove now unnecessary I/O defines, cleanup
...
- `LIBC_FILEIO_ENABLED` wasn't defined anywhere, even in _other platforms_.
- `NO_NETWORK` is also never defined. It probably isn't enough anyway to
disable network APIs in the current codebase.
- `UNIX_SOCKET_UNAVAILABLE` is never defined in this code but used by some
other platforms, clarify that.
- `NO_STATVFS` can be removed as Android supports it since API level 19,
which is our current min SDK level. It's also only used for
`DirAccessUnix::get_space_left()` which is anyway overridden by
`DirAccessJAndroid::get_space_left()` so it shouldn't make a difference.
* Fixed documentation for `DirAccess.get_space_left()`.
- `NO_FCNTL` is likely also a remnant of early Android days, in current NDK
r23 it seems to be available. Also cleaned up unused `fcntl.h` includes.
- `NO_ALLOCA` is never defined, and we use alloca in many places now.
2022-10-03 12:33:41 +02:00
Rémi Verschelde
54418ea659
Remove NO_THREADS fallback code, Godot 4 requires thread support
...
This also removes `OS::can_use_threads` from the public API since it's always
true.
2022-10-03 11:23:26 +02:00
Rémi Verschelde
82b87d7a17
Remove unsupported NO_SAFE_CAST
/-fno-rtti
from Android build
...
Android was the last platform to still attempt to disable RTTI (for binary
size), but both the Android editor and now the ICU library used by templates
need RTTI.
There could still be the possibility to support this for non-ICU template
builds (i.e. without the TextServerAdvanced module), but since this isn't one
of the build configurations we test regularly it's pretty risky to keep this
option only for that specific use case. And our code is already littered with
`dynamic_cast`s which weren't guarded with `!defined(NO_SAFE_CAST)`.
2022-10-03 11:18:31 +02:00
Matthew Munro (mam552)
0f5b448a9c
Fix inconsistent window state on X11.
...
Fixes #66413 .
DisplayServerX11 tracks some internal state about whether the window is
fullscreen, minimized, maximized or none. This commit queries the
display server when the window changes, so that this internal state can
be correctly updated.
2022-10-01 16:01:28 -06:00
Rafał Mikrut
2233624152
Remove usage of unitialized variables
2022-10-01 21:09:22 +02:00
Rémi Verschelde
ef8834a642
Merge pull request #64784 from yedpodtrzitko/yed/ci-add-mypy
...
ci: add Python static analysis check via mypy
2022-09-30 17:44:39 +02:00
Rémi Verschelde
166df0896c
Fix typos with codespell
...
Using codespell 2.3-dev from current git.
And fix typo in `methods.py` for `vsproj=yes` option (still won't work
though).
2022-09-30 14:23:36 +02:00
Jiri Suchan
c5bd2f9dce
ci: add Python static analysis check via mypy
2022-09-30 19:03:17 +07:00
Rémi Verschelde
f47979f087
Merge pull request #66242 from akien-mga/scons-unify-tools-target
2022-09-30 12:28:50 +02:00
Rémi Verschelde
e5857bd6c7
Merge pull request #66548 from akien-mga/msvc-warnings-c4701-c4703
...
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
2022-09-28 20:47:50 +02:00
Zae
186ca020b3
Fix ScrollContainer touch-scrolling not working.
2022-09-29 01:47:03 +08:00
Rémi Verschelde
85fe6ecc32
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
2022-09-28 17:05:34 +02:00
Rémi Verschelde
0e53dd642c
Fix MSVC warning C4706: assignment within conditional expression
...
Part of #66537 .
2022-09-28 16:05:07 +02:00
bruvzg
4421378089
[Windows] Ignore excessive wintab mouse move events.
2022-09-28 10:12:04 +03:00
Rémi Verschelde
39facb35a0
SCons: Unify tools/target build type configuration
...
Implements https://github.com/godotengine/godot-proposals/issues/3371 .
New `target` presets
====================
The `tools` option is removed and `target` changes to use three new presets,
which match the builds users are familiar with. These targets control the
default optimization level and enable editor-specific and debugging code:
- `editor`: Replaces `tools=yes target=release_debug`.
* Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_debug`: Replaces `tools=no target=release_debug`.
* Defines: `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_release`: Replaces `tools=no target=release`.
* Defines: `-O3`/`/O2`
New `dev_build` option
======================
The previous `target=debug` is now replaced by a separate `dev_build=yes`
option, which can be used in combination with either of the three targets,
and changes the following:
- `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`),
enables generating debug symbols, does not define `NDEBUG` so `assert()`
works in thirdparty libraries, adds a `.dev` suffix to the binary name.
Note: Unlike previously, `dev_build` defaults to off so that users who
compile Godot from source get an optimized and small build by default.
Engine contributors should now set `dev_build=yes` in their build scripts or
IDE configuration manually.
Changed binary names
====================
The name of generated binaries and object files are changed too, to follow
this format:
`godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]`
For example:
- `godot.linuxbsd.editor.dev.arm64`
- `godot.windows.template_release.double.x86_64.mono.exe`
Be sure to update your links/scripts/IDE config accordingly.
More flexible `optimize` and `debug_symbols` options
====================================================
The optimization level and whether to generate debug symbols can be further
specified with the `optimize` and `debug_symbols` options. So the default
values listed above for the various `target` and `dev_build` combinations
are indicative and can be replaced when compiling, e.g.:
`scons p=linuxbsd target=template_debug dev_build=yes optimize=debug`
will make a "debug" export template with dev-only code enabled, `-Og`
optimization level for GCC/Clang, and debug symbols. Perfect for debugging
complex crashes at runtime in an exported project.
2022-09-26 16:31:46 +02:00
Rémi Verschelde
49fcf4ffad
Style: Cleanup header guards for consistency
...
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-26 13:51:17 +02:00
Rémi Verschelde
67f700d726
Merge pull request #66377 from bruvzg/macos_menu_cb_deferred
...
[macOS] Process menu callback after event processing step to avoid event queue corruption.
2022-09-25 08:38:10 +02:00
Rémi Verschelde
39be6695d1
Merge pull request #66295 from bruvzg/win_fix_wm_char_keysym
...
[Windows] Fix WM_CHAR processing code using Unicode char instead of Virtual key.
2022-09-24 22:59:44 +02:00
bruvzg
b66931946b
[macOS] Process menu callback after event processing step to avoid event queue corruption.
2022-09-24 23:57:24 +03:00
Rémi Verschelde
26e9145c26
SCons: Cleanup DEBUG
, _DEBUG
and NDEBUG
defines
...
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
outside thirdparty code, which we usually don't intend to debug, so it
seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
and `release_debug` targets. This used to be set for `release` for all
platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
code, which was only implemented for Unix anyway, should have been
`DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
target as we don't want OIDN and Embree asserting all over the place.
2022-09-23 15:21:26 +02:00
Rémi Verschelde
c5c3d13dc0
SCons: Remove redundant -fomit-frame-pointer
and -ftree-vectorize
...
- `-fomit-frame-pointer` is included automatically by both GCC and
Clang in `-O1` and above.
- `-ftree-vectorize` is included automatically by GCC in `-O2` and
beyond, and seems always enabled by Clang.
Closes #66296 . See that issue for a detailed investigation.
2022-09-23 13:56:16 +02:00
bruvzg
54adfb6dfd
[Windows] Fix WM_CHAR processing code using Unicode char instead of Virtual key.
2022-09-23 14:16:16 +03:00
bruvzg
0dab11afa4
[macOS extend-to-title] Add scene/project name to the editor title, fix incorrect window button position/order when system primary language is RTL.
2022-09-22 23:09:56 +03:00
Rémi Verschelde
0b06f8b0bd
Merge pull request #65816 from bruvzg/proj_settings_missing_flags
...
Add missing initial window flags and window mode to the project settings.
2022-09-21 18:56:31 +02:00
bruvzg
cdfa50dbe9
[macOS] Improve "extended to title" transition to / from fullscreen.
2022-09-21 11:21:48 +03:00
bruvzg
0ed4cc6287
[macOS] Add an option to align window buttons in "extend to title" mode.
2022-09-20 12:55:59 +03:00
Rémi Verschelde
aa553f4030
Merge pull request #65745 from akien-mga/scons-production-lto-earlier
...
Refactor handling of `production` flag and per-platform LTO defaults
2022-09-20 09:45:33 +02:00
Rémi Verschelde
7da532275b
Merge pull request #65541 from clayjohn/renderer-setting
...
Split rendering driver project setting into renderer_name and rendering_driver
2022-09-20 09:43:59 +02:00
clayjohn
4a1c7de57c
Split rendering driver project setting into renderer_name and rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
2022-09-19 10:26:10 -07:00
Rémi Verschelde
35a15e6191
SCons: Refactor handling of production
flag and per-platform LTO defaults
...
Fixup to #63288 .
See #65583 for the bug report.
Co-authored-by: Cyberrebell <chainsaw75@web.de>
2022-09-19 18:11:29 +02:00
bruvzg
d104a4cdbd
Add missing initial window flags and window mode to the project settings.
2022-09-19 12:30:10 +03:00
kobewi
9f2dc68279
Replace File/Directory with FileAccess/DirAccess
2022-09-19 11:03:31 +02:00
Rémi Verschelde
04082597f9
Merge pull request #65975 from Faless/web/4.x_features_detection
...
[Web] Add feature detection helpers to JS Engine class.
2022-09-18 00:43:13 +02:00
Rémi Verschelde
d0d22bfa5e
Merge pull request #65331 from derammo/derammo_natvis_3
...
Add more data structures to Natvis for Visual Studio
2022-09-18 00:43:06 +02:00
Fabio Alessandrelli
6bbde346ab
[Web] Add feature detection helpers to JS Engine class.
2022-09-17 11:21:17 +02:00
MJacred
ac9786c525
Add get_distribution_name() and get_version() to OS
...
supports: LinuxBSD, Windows, macOS, iOS, Android, UWP
Co-authored-by: bruvzg
2022-09-16 11:17:36 +02:00
Rémi Verschelde
d79040e7eb
Merge pull request #65496 from MinusKube/popup-capture-mouse-bug
...
Fix MOUSE_MODE_CAPTURED not working correctly with popups
2022-09-16 09:23:40 +02:00
bruvzg
89c68bb22d
[macOS] Remove tabs for "Quit" menu item.
2022-09-15 22:27:27 +03:00
bruvzg
734b89124e
[macOS] Fix redraw lag at the edge of the resizing window.
2022-09-15 17:08:12 +03:00
Rémi Verschelde
5ff8e4ee67
Merge pull request #65133 from bruvzg/win_cursor
...
[Windows] Simplify cursor handling and add support for fully transparent cursors.
2022-09-14 17:42:53 +02:00
bruvzg
d46bc8f4ac
[macOS, 4.0] Fix unresponsive redraw during live resizing.
2022-09-14 09:59:00 +03:00
Fredia Huya-Kouadio
9d5e48f873
Disable menus and functionality that are not relevant on the Android Editor port
2022-09-13 20:48:33 -07:00
Ted Spikes
21f7bd0723
Check for ios_simulator when building for x86_64
2022-09-13 14:04:08 +03:00
Rémi Verschelde
ff824b6f9d
Merge pull request #65509 from gotnospirit/master-os-get_datetime
...
get_datetime_* functions can return wrong values
2022-09-13 11:01:12 +02:00
Rémi Verschelde
5c1ef35def
Merge pull request #65262 from bruvzg/win10_dm
...
Disable dark mode title bar on Windows 10.
2022-09-13 10:58:19 +02:00
Rémi Verschelde
ad09e67894
Merge pull request #65682 from m4gr3d/update_editor_versioning_main
2022-09-13 10:38:21 +02:00
Rémi Verschelde
f8ec046b14
Merge pull request #65704 from akien-mga/web-editor-fix-some-errors
...
Fix some errors affecting the Web editor
2022-09-13 08:31:59 +02:00
clayjohn
96b7cb66df
Fix multiwindow support in GLES3 for X11, Windows, and MacOS.
...
Instead of updating all viewports, then blitting all viewports
to the backbuffer, then swapping all buffers, we run through
all viewports and render, blit, and swap backbuffer before
going to the next viewport.
2022-09-12 17:30:50 -07:00
Fredia Huya-Kouadio
1efafa9dfe
Exclude small screens from the set of supported devices.
2022-09-12 09:47:34 -07:00
Fredia Huya-Kouadio
67b38d0ac2
Update the versioning logic for the Godot Android Editor
...
This is necessary to separate subsequent uploads to the Google Play store as each upload needs to increment the version code.
2022-09-12 09:47:07 -07:00
Rémi Verschelde
1513d76cb9
Fix some errors affecting the Web editor
...
- Don't warn about minimized/maximized modes not being available.
- Blender and FBX export both depend on running thirdparty applications,
which can't be done (easily at least) for Web and Android editors.
- Editor theme complained about not being able to retrieve texture data
for an icon. It was only used once so instead of flipping at runtime,
let's just add a flipped icon.
Part of #65702 .
2022-09-12 16:29:45 +02:00
Fabio Alessandrelli
27f22b29f8
[Web] Small fixes and enhancements.
...
- "Definitive" fix for ENOENT randomly disappearing from emscripten.
- Proper shutdown when setup fails.
- Re-enable WebGL explicit buffer swap.
- Re-enable optional per-pixel transparency.
- Add type cast to make closure compiler happy.
- Remove emscripten Safari WebGL workaround.
- Improve AudioWorklet cleanup.
2022-09-11 09:45:09 +02:00
James
0aecfc9254
Fixes #65377 : get_datetime_* functions can return wrong values
2022-09-10 07:58:38 +08:00
Yuri Sizov
d2a6a187f4
Merge pull request #44118 from Calinou/windows-enable-ansi-escape-codes
...
Enable ANSI escape code processing on Windows 10 and later
2022-09-08 19:53:04 +03:00
Rémi Verschelde
c2c659db32
SCons: Refactor LTO options with lto=<none|thin|full>
...
Adds support for LTO on macOS and Android. We don't have much experience
with LTO on these platforms so for now we keep it disabled by default
even when `production=yes` is set.
Similarly for iOS where we ship object files for the user to link in
Xcode so LTO makes builds extremely slow to link.
`production=yes` defaults to full LTO.
ThinLTO is much faster for LLVM-based compilers but seems to produce
bigger binaries (at least for the Web platform).
2022-09-08 10:00:02 +02:00
Rémi Verschelde
69233093d7
Merge pull request #65241 from bruvzg/no_keymap_ambiguity
...
Fix key mapping changes when moving from macOS to other platform.
2022-09-08 09:24:24 +02:00
Rémi Verschelde
a51dc70dfb
Merge pull request #65460 from Faless/net/4.x_ssl_to_tls_more
...
[Net] Rename "ssl" references to "tls" in methods and members.
2022-09-08 09:20:19 +02:00
Rémi Verschelde
df5a356e6c
Merge pull request #65501 from m4gr3d/fix_invalid_project_manager_path_main
...
Fix issue causing the project manager to crash because of missing path argument
2022-09-08 09:19:25 +02:00
Fabio Alessandrelli
a95d792420
[Net] Rename "ssl" references to "tls" in methods and members.
2022-09-08 03:24:23 +02:00
Fredia Huya-Kouadio
cd544fd86b
Fix issue causing the project manager to crash because of missing path argument
...
In the process, the initialization logic is updated to show an error message and gracefully close the engine when setup errors occur.
2022-09-07 14:21:34 -07:00
Fredia Huya-Kouadio
c3c0bea615
Enable long press, pan and scale gestures for the Godot Android Editor
...
Fix the bug causing the editor to crash when running the project.
2022-09-07 13:30:10 -07:00
Fredia Huya-Kouadio
1b3511ad49
Cleanup the Android input logic implementation
2022-09-07 13:30:10 -07:00
MinusKube
06b86fad0d
Fix MOUSE_MODE_CAPTURED not working correctly with popups
2022-09-07 19:31:57 +02:00
bruvzg
6f4d233062
Fix key mapping changes when moving from macOS to other platform
...
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
Fabio Alessandrelli
86dd3f312c
[Web] Enable Web exporter in non-dev mode.
...
We now have a working OpenGL3/WebGL2 renderer, but extra work is needed
in project manager and editor to simplify the creation of OpenGL3
projects.
2022-09-07 11:58:30 +02:00
Fabio Alessandrelli
fffdbb38e3
Merge pull request #65239 from Geequlim/js2web
...
Rename JavaScript singleton to JavaScriptBridge
2022-09-07 09:29:42 +02:00
Fabio Alessandrelli
528e791a5f
[Net] Rename StreamPeerSSL to StreamPeerTLS.
...
SSL has been deprectated almost 10 years ago.
2022-09-07 07:38:50 +02:00
Rémi Verschelde
5062aafc2d
Merge pull request #64417 from aaronfranke/has-space
...
Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods
2022-09-06 17:00:44 +02:00
Micky
b6daad8d4b
Rename range_lerp
to remap
2022-09-06 07:19:20 +02:00
Aaron Franke
995b9f94e8
Replace Rect2(i) has_no_area with has_area
2022-09-04 23:03:36 -05:00
MatthewZelriche
ef02f06b8c
Fix XSendEvent crash & bootsplash.
...
Fixes a crash due to an Xlib error, as well as ensures that Godot
holds the correct size of the window after window modes have been
applied, before exiting the DisplayServerX11 constructor. This ensures
the bootsplash will be displayed with the correct dimensions.
Fixes #65320
2022-09-04 16:46:37 -06:00
derammo
0c46b5f8e9
added more data structures to Natvis for msdev
...
can now debug signal_map and connections in Objects
can now view more Variant types, such as packed arrays
2022-09-04 12:06:26 -04:00
Jiri Suchan
c69b22124e
fix: graceful exit on macOS missing Vulkan
2022-09-04 12:00:47 +09:00
Rémi Verschelde
042050a47c
Merge pull request #65283 from bruvzg/reenable_per_pix_transp
...
Re-enable per-pixel transparency support on Linux, macOS, and Windows.
2022-09-03 23:52:18 +02:00
Rémi Verschelde
7ced3a6e37
Merge pull request #65111 from MatthewZelriche/DroppedXEventFix
...
Fix dropped XEvents early in main window lifetime.
2022-09-03 20:36:39 +02:00
bruvzg
57829b7cc4
Re-enable per-pixel transparency support on Linux, macOS, and Windows (for Vulkan and OpenGL rendering drivers).
2022-09-03 19:16:03 +03:00
bruvzg
6ce0d3a212
Disable dark mode title bar on Windows 10.
2022-09-03 11:11:22 +03:00
Raul Santos
471c9c2969
Add support for system dark mode (Linux)
...
- Use `org.freedesktop.appearance color-scheme` to support system dark mode.
2022-09-02 16:49:21 +02:00
Geequlim
48f9069f3a
Rename JavaScript singleton to JavaScriptBridge
2022-09-02 21:11:15 +08:00
Rémi Verschelde
fe0b893dc7
Merge pull request #65242 from bruvzg/menu_event_multiwindow
2022-09-02 13:55:37 +02:00
Rémi Verschelde
f81a4b2478
Merge pull request #65026 from bruvzg/dark_mode
2022-09-02 13:54:46 +02:00
bruvzg
f255ecb241
[macOS] Simplify handling of menu accelerators, and send event to the focused window instead of main.
2022-09-02 13:56:27 +03:00
Rémi Verschelde
027415312e
Merge pull request #65132 from bruvzg/global_menu_shortcuts_context
2022-09-01 17:02:04 +02:00
MatthewZelriche
91ba9bcb03
Fix dropped XEvents early in main window lifetime.
...
The DisplayServerX11 constructor processes pending events shortly
after constructing the main window. However, it discards pending events
on the event queue that it is not interested in. This results in these
events never making it to the main events thread and as a result are
never processed. We need to save the events we don't handle in
DisplayServerX11 so that they can be resent for later handling by the
events thread.
2022-09-01 07:42:03 -06:00
Rémi Verschelde
d454b944e7
Merge pull request #65107 from MatthewZelriche/X11MinimizeMaximizeFix
...
Fix minimize/maximize not taking effect in X11.
2022-09-01 08:43:43 +02:00
bruvzg
b85a4c5d79
[macOS] Handle accelerator and click events of the global menu items separately.
2022-09-01 08:13:56 +03:00
bruvzg
629ae58a80
Add support for system dark mode and accent color detection (macOS and Windows). Add support for dark mode title bar on Windows.
2022-08-31 11:37:01 +03:00
bruvzg
77a4567122
[Windows] Simplify cursor handling and add support for fully transparent cursors.
2022-08-31 11:16:02 +03:00
Rémi Verschelde
c80ea41e3b
Merge pull request #65095 from m4gr3d/update_get_current_dir_main
...
Additional fixes to the Android `get_current_dir()` implementation.
2022-08-31 09:00:53 +02:00
Rémi Verschelde
87f9038ca0
Merge pull request #65094 from Faless/web/4.x_templates_refactor
...
[Web] Require threads, rtti, allow optimize=speed.
2022-08-30 23:57:02 +02:00
MatthewZelriche
87937bcf87
Fix minimize/maximize not taking effect in X11.
...
Attempts to construct an X11 window in an initial state of
minimized/maximized would fail due to the window being unmapped.
We simply check for failed mode changes during an unmap and reapply
them if necessary.
2022-08-30 12:52:24 -06:00
Fabio Alessandrelli
f958f00283
[Web] Require threads, rtti, allow optimize=speed.
...
Update export names (web[_dlink]_[release|debug].zip).
The Build with dynamic linking is broken due to high number of imports
in output wasm (likely emscripten regression issue 15487).
2022-08-30 20:01:19 +02:00
Fredia Huya-Kouadio
f916dff26d
Additional fixes to the Android get_current_dir()
implementation.
2022-08-30 10:04:12 -07:00
Rémi Verschelde
432b25d364
Merge pull request #65066 from aaronfranke/str-path-join
2022-08-30 10:01:11 +02:00
MatthewZelriche
37f3b9f1ef
Fix fullscreen on X11.
...
Attempts to set a Godot window to fullscreen prior to the window being
mapped would silently fail. This commit uses
_window_fullscreen_check to test if a window had been set to fullscreen
while unmapped, and if so, resets it to fullscreen once the window has
been successfully mapped.
Fixes #54065
2022-08-29 19:11:20 -06:00
Aaron Franke
10a56981dc
Rename String plus_file
to path_join
2022-08-29 19:38:13 -05:00
Fabio Alessandrelli
d20b32186f
[Web] Rename JavaScript platform to Web.
...
Also rename export name from "HTML5" to "Web".
2022-08-29 11:52:00 +02:00
Rémi Verschelde
c08e84af0d
Merge pull request #64943 from MatthewZelriche/FixUnMappedAncestor
2022-08-29 08:19:50 +02:00
Rémi Verschelde
35af2b0edd
Merge pull request #64921 from bruvzg/win_arm
...
[Windows] Improve build environment detection, add support for Windows on ARM.
2022-08-27 18:46:54 +02:00
Rémi Verschelde
67e731d450
Merge pull request #64507 from RandomShaper/remove_unused
...
Remove unused `force_quit` variable from many OS abstractions
2022-08-27 18:42:20 +02:00
MatthewZelriche
93af2993f0
Fix X11 menu window bug.
...
Fixes an issue where XSetInputFocus fails due to the window not
being viewable.
Fixes #62635
Fixes #60690
2022-08-27 07:38:09 -06:00
bruvzg
8dab4a2aa3
[Windows] Improve build environment detection, add support for Windows on ARM.
2022-08-27 16:10:53 +03:00
Pedro J. Estébanez
6e647dea24
Remove unused force_quit variable from many OS abstractions
2022-08-27 13:41:53 +02:00
Rémi Verschelde
046c69b2a5
Merge pull request #64923 from akien-mga/scons-linux-gnu-ld-detection
...
Linux: Fix GNU ld detection for `pck_embed` linker script
2022-08-26 23:09:01 +02:00
Rémi Verschelde
4f60fd0480
Merge pull request #64777 from bruvzg/extend_to_title
...
[macOS] Extend editor contents to the window title bar for better space usage.
2022-08-26 23:03:31 +02:00
bruvzg
bc4ba6cb78
[macOS] Extend editor contents to the window titlebar for better space usage.
2022-08-26 15:12:43 +03:00
Rémi Verschelde
fce3602a1e
Linux: Fix GNU ld detection for pck_embed linker script
2022-08-26 14:06:56 +02:00
bruvzg
d91cb1d5d5
[macOS export] Simplify code signing options, add support for rcodesign tool for signing and notarization.
2022-08-26 14:23:31 +03:00
Rémi Verschelde
ca26c78e7e
Merge pull request #64562 from bruvzg/fix_dup_locales
...
[macOS / iOS Export] Fix generation of duplicate locale property list files.
2022-08-26 10:47:28 +02:00
Rémi Verschelde
1b8f2e20bf
Merge pull request #64912 from m4gr3d/fix_android_arch_mapping_main
...
Revert the architecture values update made to the Android export logic
2022-08-26 07:45:02 +02:00
Fredia Huya-Kouadio
ba9e2cf512
Revert the architecture values update made to the Android export logic
2022-08-25 20:06:48 -07:00
Hugo Locurcio
ce56743aa1
Improve platform-specific READMEs to add useful links
...
This also adds READMEs for all platforms.
2022-08-25 17:50:53 +02:00
Aaron Franke
27b0f18275
Unify bits, arch, and android_arch into env["arch"]
...
Fully removes the `bits` option and adapts the code that relied on it.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-08-25 11:19:20 +02:00
Rémi Verschelde
8c1dc0c7ea
Merge pull request #64630 from nathanfranke/ios-opaque
...
(4.x) iOS: Force app store icon to be opaque, use proper errors
2022-08-25 08:43:39 +02:00
Rémi Verschelde
9085409492
Merge pull request #64414 from m4gr3d/fix_get_current_dir_main
2022-08-23 16:15:02 +02:00
kobewi
8be27dc59e
Replace Array return types with TypedArray
2022-08-22 22:42:36 +02:00
Rémi Verschelde
7c85c4a27e
Merge pull request #64374 from RandomShaper/inheritable_cl_args
2022-08-22 21:48:28 +02:00
Fabio Alessandrelli
1e044da15c
Merge pull request #64481 from jamie-pate/master
...
Improve performance of screen_get_dpi() in Javascript
2022-08-20 13:36:04 +02:00
Fredia Huya-Kouadio
a356e49803
Fix issue with get_current_dir()
returning the wrong path on Android
2022-08-19 20:08:19 -07:00
Nathan Franke
d769ff184f
ios: force app store icon to be opaque, use proper errors
2022-08-19 13:19:13 -05:00
Pedro J. Estébanez
e886d662ec
Overhaul CLI argument forwarding to processes started by the editor
2022-08-19 11:15:56 +02:00
bruvzg
8c56a7416b
Implement MenuBar
control to wrap PopupMenu
s or native menu, use native menu for editor.
2022-08-18 22:25:44 +03:00
bruvzg
16b45ee542
[macOS / iOS Export] Fix generation of duplicate locale property list files.
2022-08-18 09:44:43 +03:00
Jamie Pate
c2e3971013
Improve performance of screen_get_dpi() in Javascript
...
Replace a bisect with a single multiplication when calling
screen_get_dpi() in Javascript
Tested the value of
window.matchMedia(`(resolution:${(window.devicePixelRatio*96).toFixed(100)}dpi)`).matches
which is true except for values that cause a lot of rounding errors
(e.g. dpr : 0.3 => resolution: 28.799999999999997dpi)
Even in these cases the value matches the result of the previous
`findDPI()` method.
See also:
6cff589b5b (r81273660)
2022-08-15 21:12:19 -07:00
Fredia Huya-Kouadio
44dc24ec38
Disable threads used to check on plugins to load
...
The functionality is unavailable on Android (requires export capability) and unnecessarily consumes resources
2022-08-15 02:30:43 -07:00
Fredia Huya-Kouadio
b3117b6369
Fix issue preventing the Android Editor from displaying the project content
...
The issue was causing by a bug within the logic for `FileAccessFilesystemJAndroid#eof_reached()` causing that value to remain false after the eof was reached.
This in turn caused an infinite loop in the file scanner preventing the project's content from showing up.
2022-08-15 02:22:10 -07:00
Fredia Huya-Kouadio
45c7377556
Refactor the export checking logic to improve separation of concerns
2022-08-14 09:12:04 -07:00
Pedro J. Estébanez
8c2a577350
Clean iOS platform config of long gone macro
2022-08-10 21:42:49 +02:00
Rémi Verschelde
1b06b668c9
Merge pull request #49829 from naithar/feature/ios-plugins-swift-4.0
2022-08-10 14:09:58 +02:00
Hugo Locurcio
debfc7c38b
Enable ANSI escape code processing on Windows 10 and later
...
This lets the engine and projects use the same color codes
in the terminal on all platforms. This includes support for
`print_rich()` (GDScript) and `print_line_rich()` (C++).
2022-08-10 00:53:11 +02:00
Sergey Minakov
c99e8aeac3
[iOS] Extend iOS plugins to support Swift runtime
2022-08-09 20:20:54 +03:00
bruvzg
6510e11ae9
Fix memory leak when accessing/listing system fonts.
2022-08-09 12:57:53 +03:00
Rémi Verschelde
557c16bb88
Merge pull request #62885 from madmiraal/fix-59931
2022-08-08 15:53:48 +02:00
Rémi Verschelde
5df8eae862
Merge pull request #64014 from RedMser/keep-screen-on-singledef
2022-08-08 12:04:04 +02:00
RedMser
c939f336d6
Only define keep_screen_on
project setting once
2022-08-06 22:10:24 +02:00
Larry Tran
2ea4baae0a
Merge branch 'master' into bugfix-ios-export
2022-08-05 18:47:20 -05:00
Larry Tran
e029e66454
Remove unnecessary string replacement
2022-08-05 18:15:57 -05:00
Rémi Verschelde
04a66e1bab
Merge pull request #63882 from RedMser/keep-screen-on-windows
...
Implement `keep_screen_on` for Windows
2022-08-05 23:47:20 +02:00
bruvzg
944779a132
Implement screen_is_kept_on
for macOS.
2022-08-05 13:14:13 +03:00
RedMser
00e788e611
Implement keep_screen_on
for Windows
2022-08-05 11:58:50 +02:00
Brian Semrau
103c0fa6e6
Add support for multiple virtual keyboard types
2022-08-04 10:41:33 -04:00
bruvzg
2f9be29c73
Implement screen_set_keep_on
for macOS
2022-08-04 10:38:26 +03:00
Rémi Verschelde
9daffa12be
Merge pull request #49058 from madmiraal/add-override-fileaccess
...
Add override keywords to FileAccess and DirAccess derived classes
2022-08-02 20:03:24 +02:00
Marcel Admiraal
c06025fa13
Add override keywords to DirAccess derived classes
2022-08-02 16:39:44 +01:00
Marcel Admiraal
cafb19e608
Add override keywords to FileAccess derived classes
2022-08-02 16:35:15 +01:00
Rémi Verschelde
33258d850c
Merge pull request #61315 from lawnjelly/variant_bucket_pools
...
Variant memory pools
2022-08-02 15:54:18 +02:00
Rémi Verschelde
1418f97c70
File: Re-add support to skip CR (\r
) in File::get_as_text
...
This was removed in #63481 , and we confirmed that it's better like this,
but we add back the possibility to strip CR as an option, to optionally
restore the previous behavior.
For performance this is done directly in `String::parse_utf8`.
Also fixes Android `FileAccess::get_line()` as this one _should_ strip CR.
Supersedes #63717 .
2022-08-01 00:40:35 +02:00
Yuri Sizov
9f55bd971e
Extract EditorResourceConversionPlugin into its own source files and clean up editor includes
2022-07-31 21:14:15 +03:00
derammo
77b31ea365
Visual Studio Natvis file works for Variant again
2022-07-31 07:59:19 -04:00
Rémi Verschelde
3e5ad8213f
Merge pull request #63563 from aaronfranke/export-arch
2022-07-30 11:22:25 +02:00
Rémi Verschelde
f4f8b18ebe
Merge pull request #63647 from bruvzg/exp_msg_imp
...
Improve some export error messages.
2022-07-30 09:21:11 +02:00
Rémi Verschelde
15a02c49be
Merge pull request #61647 from KoBeWi/SaverResource
2022-07-29 22:30:51 +02:00
bruvzg
ea00cf7270
Improve some export error messages.
2022-07-29 22:44:59 +03:00
bruvzg
d6a9384a32
[Linux] Fix build with missing DBUS.
2022-07-29 22:16:21 +03:00
kobewi
c3606cb5f3
Swap arguments of ResourceSaver.save()
2022-07-29 19:53:09 +02:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
...
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Aaron Franke
17c4cd6412
Update export dialog to handle many architectures
2022-07-29 10:24:58 -05:00
Aaron Franke
a0072ba39f
Make some editor export methods const
2022-07-29 10:24:13 -05:00
Juan Linietsky
d4433ae6d3
Remove Signal connect binds
...
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
bruvzg
f973069afb
[Linux] Load dbus libraries dynamically.
2022-07-29 11:19:19 +03:00
bruvzg
51c5ba9da7
[Linux] Replace fontconfig wrapper with a one generated from the older library version (2.12.6, Ubuntu 18.04 LTS).
2022-07-29 08:55:19 +03:00
Rémi Verschelde
0dcf679bdc
Merge pull request #63548 from pattlebass/master-html5-vibrate
2022-07-27 22:19:37 +02:00
pattlebass
130e715ab9
HTML5: Add support for Input.vibrate_handheld()
2022-07-27 22:54:41 +03:00
bruvzg
9ced8bcca3
Load fontconfig libraries dynamically.
2022-07-27 21:07:21 +03:00
bruvzg
f86448520a
Fix Linux build without fontconfig.
2022-07-27 17:21:04 +03:00
Rémi Verschelde
cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support
2022-07-27 13:38:30 +02:00
Rémi Verschelde
f3fbb157ca
Merge pull request #63121 from aaronfranke/editor-export-split
2022-07-27 11:19:40 +02:00
Rémi Verschelde
835da447da
Merge pull request #63481 from m4gr3d/fix_remaining_scoped_storage_regressions_main
...
Address remaining scoped storage regressions
2022-07-26 18:17:03 +02:00
Fredia Huya-Kouadio
9679c67904
Address remaining scoped storage regressions
...
- Accelerate common path used to check the storage scope for a given path
- Update the logic for the `get_as_text()` method - previous logic loads the content of a text file one byte at a time
2022-07-26 07:44:08 -07:00
Aaron Franke
e53ae13178
Split up editor export code into multiple files
2022-07-26 08:28:19 -05:00
Rémi Verschelde
ba2cffc575
Merge pull request #63096 from aaronfranke/exp-template-names
2022-07-26 10:28:25 +02:00
bruvzg
36ef8f29dc
Implement support for loading system fonts on Linux, macOS / iOS and Windows.
2022-07-26 08:38:05 +03:00
Rémi Verschelde
3e0e84a54c
Merge pull request #63459 from Kev/bigobj-for-msvc-release
2022-07-25 23:08:26 +02:00
Kevin Smith
d8900e0020
Use bigobj for release MSVC builds
...
Previously it was used only on debug builds, but recent
additions to variant_call.cpp have made that unit too
large even in release_debug.
It was originally set to debug only because using it
breaks mingw, so this only reinstates it for MSVC where
it shouldn't have any drawbacks (famous last words).
Test-Information:
Builds for me with
scons -j 40 platform=windows target=release_debug
and my game then runs from it.
2022-07-25 20:10:20 +01:00
Rémi Verschelde
90019676b0
Code quality: Fix header guards consistency
...
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
Rémi Verschelde
3084a48ace
Merge pull request #63219 from reduz/implement-vector4-projection
2022-07-25 11:13:27 +02:00
MaxIsJoe
f3979527de
Fixes OS.get_unique_id()
string not getting printed properly
...
Fixes #61023
Changing it back to how it's done on the 3.x branch fixed the text not being written properly.
2022-07-24 11:05:36 +02:00
reduz
455c06ecd4
Implement Vector4, Vector4i, Projection
...
Implement built-in classes Vector4, Vector4i and Projection.
* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.
These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.
**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
Rémi Verschelde
667cef39b4
Merge pull request #63341 from RandomShaper/fix_uwp_accum_input
...
Flush buffered input events on UWP
2022-07-23 13:50:00 +02:00
Pedro J. Estébanez
b53d032fb8
Flush buffered input events on UWP
2022-07-23 12:06:22 +02:00
Aaron Franke
8b5c744f95
Update export template names for Windows, Mac, and Linux
2022-07-22 18:40:59 -05:00
Rémi Verschelde
f37990ed77
Merge pull request #63278 from akien-mga/scons-linux-refactor-linker
2022-07-22 11:40:10 +02:00
Rémi Verschelde
ed926c4ec1
Merge pull request #63303 from hansemro/x11-eraser-case-insensitive
...
[X11] Do case-insensitive search for pen inversion detection
2022-07-22 09:17:04 +02:00
Hansem Ro
0f5436098b
[X11] Do case-insensitive search for pen inversion detection
2022-07-21 19:25:22 -07:00
Rémi Verschelde
c8479c0d4d
SCons: Refactor Linux linker options with linker=<bfd|gold|lld|mold>
...
The new option is `linker` and lets the user specify the argument to
the`-fuse_ld=` linker flag directly. The supported options are:
- `default`: No change, typically uses GNU ld (bfd) unless the user or
distro picked a different default `/usr/bin/ld`.
- `bfd`: GNU ld from binutils
- `gold`: GNU gold from binutils
- `lld`: lld from LLVM
- `mold`: mold, an extremely fast modern linker, not (yet) intended for
use in production but great for development speed. Provided by distro
`mold` package or needs to be compiled from source and installed to
`/usr` otherwise.
Removes the `use_lld=yes` option, and make lld actually usable with GCC
too.
Not all the above are compatible or recommend for LTO, we recommend
using GNU ld with GCC LTO, or lld with LLVM ThinLTO.
2022-07-22 01:00:35 +02:00
bruvzg
3833165d85
[Export] Update generated CLI helper script to work on clean macOS Monterey installation.
2022-07-21 13:50:37 +03:00
bruvzg
8823eae328
Rename OSX to macOS and iPhoneOS to iOS.
2022-07-21 09:37:52 +03:00
Riteo
a21f8b7c13
Improve linuxbsd
headless building, cleanup build scripts
...
Now the `linuxbsd` platform can be built headlessly (e.g. without X11
development libraries).
I also cleaned up some weird (old?) usages of the `env` variable which
seem to make no difference and are used nowhere else.
2022-07-20 19:48:35 +02:00
Riteo
f035e7844f
Remove -pipe
from LINKFLAGS
...
For some reason this fixes the CI from going OOM.
2022-07-20 19:04:31 +02:00
bruvzg
680b5f1afb
[Windows] Set fullscreen flags on window creation.
2022-07-19 13:36:39 +03:00
bruvzg
7c005ba723
Improve DisplayServer.window_set_current_screen
...
Prevent unnecessary fullscreen toggle animation on macOS, when screen is not changed
Fix window position on Linux/X11
2022-07-19 12:26:11 +03:00
pattlebass
d57a76c809
HTML5: Make OS.get_locale()
match other platforms
...
Fixes #63029 .
2022-07-15 22:11:39 +03:00
Marcel Admiraal
6661141c21
Fix incorrect Android scancodes
2022-07-13 16:24:01 +01:00
Rémi Verschelde
19b10e2784
Merge pull request #62824 from MinusKube/haunted-editor-bug
...
Fix haunted editor bug causing weird issues with mouse behaviour
2022-07-13 14:13:16 +02:00
Rémi Verschelde
9b3972ad48
Merge pull request #62843 from RandomShaper/fix_iphone_input
...
Flush accumulated input events on iOS
2022-07-11 18:28:36 +02:00
Pedro J. Estébanez
1b98e904d0
Flush accumulated input events on iOS
2022-07-08 21:37:07 +02:00
kobewi
d2900429e8
Add static methods for creating Image and ImageTexture
2022-07-08 13:40:47 +02:00
MinusKube
7b05df8029
Move windows display server's 'outside' field to WindowData struct
2022-07-07 21:11:00 +02:00
Rémi Verschelde
1b8711b56c
Merge pull request #62813 from bruvzg/android_fix_zstd_build
2022-07-07 15:16:57 +02:00
bruvzg
e873778561
Use clang as assembler to ensure preprocessing is done, and add assembler "target" flag.
2022-07-07 14:15:12 +03:00
bruvzg
238ac2fdd5
[macOS] Improve file association handling, and allow URL schema handling.
2022-07-07 12:11:31 +03:00
bruvzg
a194043ea8
Check if GL manager exist to prevent crash when using multithreaded renderer with Vulkan.
2022-07-06 09:56:47 +03:00
Fredia Huya-Kouadio
f9c19298ce
Add full support for Android scoped storage.
...
This was done by refactoring directory and file access handling for the Android platform so that any general filesystem access type go through the Android layer.
This allows us to validate whether the access is unrestricted, or whether it falls under scoped storage and thus act appropriately.
2022-07-05 03:00:37 -07:00
Rémi Verschelde
344b42703b
Merge pull request #62212 from hansemro/eraser-detect-4
...
Add inversion/eraser-end property for tablet pens
2022-07-04 21:48:19 +02:00
Hansem Ro
6dcc9d1131
[macOS, Windows, X11] Add stylus inverted/eraser support to
...
InputEventMouseMotion event
2022-07-04 10:36:53 -07:00
lawnjelly
b221eab426
Variant memory pools
...
Memory pools via PagedAllocator for Transform2D, Transform3D, Basis and AABB.
2022-07-04 12:01:46 +01:00
Rémi Verschelde
e79cb76146
Merge pull request #62611 from akien-mga/android-preset-refactor-custom-build
2022-07-03 18:38:39 +02:00
Rémi Verschelde
ef4a5cd10b
Android: Refactor Custom Build options in export preset
...
Instead of reusing the custom_template/ prefix which is actually only
used for the prebuilt APK workflow, we add a new custom_build/ prefix.
This is a slight compat breakage (users will have to redo their config)
but enables us to group the Min SDK and Target SDK options where they make
sense, and avoid reusing the previously hardcoded Target SDK 30 from
Godot 3.4.
Those two options are now strings instead of integers so that we can keep
them empty by default, and show their default value using a placeholder.
So some validation has been added to make sure they are proper ints.
The upper bound on Target SDK was also removed as it's a common use case
to use it to try to target newer released SDKs. But we warn the user that
this wasn't validated by us.
The export info dialog is now exclusive so that when it doesn't auto-close,
i.e. when it errors, you don't close it by mistake by clicking outside.
Fixes #62465 .
2022-07-03 17:05:28 +02:00
bruvzg
b2462cfd8a
[macOS] Use statically linked MoltenVK by default, automatically detect MoltenVK SDK install (only in the default location).
2022-07-03 17:11:18 +03:00
Rémi Verschelde
ec1348a72a
Merge pull request #62618 from Bromeon/bugfix/exit-code
...
Fix exit code of --help and --version, and test them in CI
2022-07-02 10:25:03 +02:00
Fabio Alessandrelli
04bdd7eb93
Merge pull request #62607 from RPicster/master-default-cursor-fix
...
Default cursor fix for html5 export
2022-07-02 08:05:52 +02:00
Jan Haller
d38d76d039
Fix exit code of --help and --version, and test them in CI
...
Corrects prior regression which caused ERROR output and exit code of 1.
2022-07-02 01:17:35 +02:00
bruvzg
4cca1352b9
[macOS export] Unref FileAccess to ensure chmod is successful.
2022-07-02 00:34:27 +03:00
Raffaele Picca
7e43fb6ad2
Default cursor fix for html5 export
2022-07-01 20:50:04 +02:00
bruvzg
b767d2e0fd
Add arch flag to assembler to fix build on ARM64 macOS / iOS.
2022-07-01 12:44:23 +03:00
Wilson E. Alvarez
aadf831a67
Properly check for fullscreen toggle made through the Window Manager
...
Fixes #40007 .
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-06-30 12:14:46 +02:00
Rémi Verschelde
898e09e2e6
Merge pull request #61691 from madmiraal/android-ndk-23
...
Upgrade Android NDK to r23 LTS
2022-06-26 21:23:23 +02:00
Fredia Huya-Kouadio
6a7471b204
Merge pull request #62289 from madmiraal/fix-61816
...
Remove broken scroll gesture on Android
2022-06-25 18:48:14 -07:00
Marcel Admiraal
48efd563e4
Upgrade Android NDK to r23 LTS
2022-06-25 14:58:30 +01:00
Gustavo Maciel
ec6d5d6cba
Update android:targetSdkVersion from 30 to 31
...
Starting in August 2022, new apps will need to target API level 31 (Android 12) or higher and adjust for behavioral changes.
Read more here: https://developer.android.com/google/play/requirements/target-sdk
2022-06-23 15:17:15 +02:00
Marcel Admiraal
076638f13b
Remove broken scroll gesture on Android
2022-06-21 17:14:20 +01:00
Rémi Verschelde
a60e2085b6
Merge pull request #62000 from gregcsokas/master
2022-06-17 13:02:19 +02:00
gregcsokas
42e619c01e
Adding function key support from F17 to F35
...
OSX supports everything by default,
Linux is also capable of supporting every function key,
Windows as I know support only up to F24
2022-06-16 19:38:21 +02:00
Marcel Admiraal
806e7d18d1
Ensure joystick has been added or not already removed when processing input
2022-06-16 18:15:25 +01:00
Jiri Suchan
8d94d26caf
refactoring: simplify compiler version check
2022-06-14 22:23:20 +07:00
Fabio Alessandrelli
3a2fbd6fae
[HTML5] Add GDNative+Threads build.
2022-06-14 14:09:06 +02:00
Fredia Huya-Kouadio
6b9a81900e
Migrate the Godot Editor java source file to Kotlin.
2022-06-09 13:26:24 -07:00
bruvzg
e00571b194
Add readable export errors.
2022-06-08 17:55:46 +03:00
bruvzg
40b3be7912
Remove mouse events that closed the popup from queue, to fix pop-up reopening.
2022-06-02 08:35:27 +03:00
Rémi Verschelde
cd7871867f
Merge pull request #61579 from madmiraal/android-kotlin-java-version
...
Ensure Android Java and Kotlin compile to the same version
2022-06-01 18:31:09 +02:00
Marcel Admiraal
b19bbadcf0
Ensure Android Java and Kotlin compile to the same version
2022-06-01 16:23:44 +01:00
Fredia Huya-Kouadio
6f7ec7f723
Misc editor tweaks and polishes:
...
- Using a bucketized approach to select the editor scale in order to avoid too high values
- Add default app dimensions: used on Android devices with free floating app windows to set the default app frame
- Add ability to launch the Game window in an adjacent frame when in multi window mode
2022-05-31 23:49:40 -07:00
Rémi Verschelde
b777454097
Merge pull request #61573 from madmiraal/android-cleanup
...
Cleanup Android C++ code
2022-05-31 23:48:16 +02:00
Marcel Admiraal
2afef001e7
Cleanup Android C++ code
2022-05-31 17:11:05 +01:00
Marcel Admiraal
d0cb299f04
Only use Android fullscreen theme for splash screen
2022-05-27 16:54:44 +02:00
Rémi Verschelde
6aa7449d60
HTML5: Run npm audit fix
...
And re-add `node_modules` to `.gitignore` which I mistakenly removed
with an earlier cleanup.
2022-05-25 14:56:43 +02:00
Rémi Verschelde
3ff6d794c0
HTML5: Enable mbedTLS module for Crypto object
...
Increases the size of the wasm by around 3% (~300-350 KiB).
This enables using the Crypto object for hashing, signing and encryption,
and therefore reduces the gap between the features of the HTML5 platform
and other platforms.
Closes https://github.com/godotengine/godot-proposals/issues/3574 .
2022-05-25 14:19:49 +02:00
Rémi Verschelde
360119ffbf
Merge pull request #61352 from Faless/ext/linux_export
...
[Editor] Fix GDExtension GNU/Linux export.
2022-05-25 01:17:59 +02:00
Fabio Alessandrelli
9c2b5ae5ce
[Editor] LinuxBSD export reports Linux as OS name.
...
This is in line with what's reported by the `OS` class on GNU/Linux, and
is required by the extension exporter to identify the correct library.
For BSD, we should either finish splitting the platform (into
platform/bsd) or register a separate exporter with OS name BSD and
proper templates detection.
2022-05-24 12:01:34 +02:00
Rémi Verschelde
3bee0689bc
Merge pull request #61333 from m4gr3d/fix_restart_logic_main
2022-05-23 23:11:53 +02:00
Fredia Huya-Kouadio
d38ffda2c3
Fix the logic to restart the Godot application
2022-05-23 13:15:48 -07:00
Rémi Verschelde
9b3dd5e8c5
Merge pull request #61330 from madmiraal/android-duplicate-register
...
Remove duplicate Android sensor listener registrations
2022-05-23 21:58:50 +02:00
Rémi Verschelde
9923851370
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
Marcel Admiraal
cf0f967e6d
Remove duplicate Android sensor listener registrations
2022-05-23 20:33:13 +02:00
reduz
45af29da80
Add a new HashSet template
...
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Rémi Verschelde
3aa83a0235
Merge pull request #61020 from timothyqiu/wait-busy
2022-05-19 15:41:41 +02:00
Aaron Record
900c676b02
Use range iterators for RBSet in most cases
2022-05-19 12:09:16 +02:00
Haoyu Qiu
fc3b845c07
Add dedicated macros for property name extraction
...
* Replace case-by-case extraction with PNAME & GNAME
* Fix group handling when group hint begins with property name
* Exclude properties that are PROPERTY_USAGE_NO_EDITOR
* Extract missing ADD_ARRAY*, ADD_SUBGROUP* macros
2022-05-19 14:08:47 +08:00
Rémi Verschelde
ccdd85d8e7
Merge pull request #61001 from derammo/derammo_popup_conditional_hide
2022-05-17 12:56:53 +02:00
Rémi Verschelde
d6e7dcbea9
Merge pull request #61074 from timoschwarzer/fix-ios-vibration-duration
2022-05-16 12:00:26 +02:00
reduz
746dddc067
Replace most uses of Map by HashMap
...
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
(order matters) but use is discouraged.
There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
Timo Schwarzer
05d524b624
Fix vibration duration on iOS
...
Fixes #61063
2022-05-16 10:34:49 +02:00
Haoyu Qiu
ffd5362187
Swap the meaning of CURSOR_WAIT and CURSOR_BUSY
2022-05-14 10:13:42 +08:00
derammo
47d0dc8a41
popup deferred hide suppressed if reopened
...
popup no longer tries to close itself a second time
popup no longer closes after having been reopened
fixed bug in RenameDialog not calling base (by inspection)
fixes #59181
fixes #60921
reverts #59287
2022-05-13 09:30:00 -04:00
Rémi Verschelde
349aa9c884
Merge pull request #60894 from derammo/derammo_opengl3_windows
2022-05-13 15:07:13 +02:00
Hugo Locurcio
78b4ec2d4d
Increase compiler optimization when using target=release
on iOS/Android
2022-05-13 01:12:20 +02:00
Rémi Verschelde
ff30a09993
Merge pull request #60643 from clayjohn/GLES3-3D
2022-05-12 21:08:02 +02:00
clayjohn
652adcd5bf
Basic 3D rendering
2022-05-12 10:37:27 -07:00
reduz
8b7c7f5a75
Add a new HashMap implementation
...
Adds a new, cleaned up, HashMap implementation.
* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing ).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).
This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
derammo
96c21bc749
opengl3 driver now works on windows including multi window
...
fixed and simplified gl_manager_windows
swap buffers now called for all windows
fixed missing pixel format setting in additional windows
this makes them work in OpenGL contexts
changed verbose error printing to write once
this error message happens very frequently while opengl3 is not finished
removed dead code no longer needed after changes
fixed comments that were misinformation
window messages during window creation now handled
these were previously discarded
messages now tunnel the required context
changed failure to create opengl3 window on windows to be more fatal
marked a problem with pen code
conditional compilation of vulkan and opengl3 on windows fixed
windows debug builds now show messages on debug console also
rendering driver selection box now shows only compiled drivers
marked some problematic code
thanks to akien-mga for patiently rewriting my style mistakes
2022-05-11 16:12:40 -04:00
bruvzg
d36c5514d3
Fix ZipIO crash when reused (and possible leaks).
2022-05-11 16:08:17 +03:00
Fabio Alessandrelli
9bdb853eec
[HTML5] Limit the returned OS cpu count to 2.
...
Temporarily workaround issues due to godot spawning too many threads.
2022-05-11 00:26:02 +02:00
Fabio Alessandrelli
39d9a5540c
[HTML5] Fix JS "tools" editor plugin.
...
Needed update after file/dir access refactoring.
2022-05-10 23:56:32 +02:00
Fabio Alessandrelli
e8110474b6
[HTML5] Add "webgl/webgl2.h" as OpenGL include.
...
Requires emscripten versions > 2.0.17 .
2022-05-10 23:56:21 +02:00
bruvzg
ffe61e0895
[macOS / iOS] Fix text-to-speech build with older macOS / iOS SDK.
...
Add __has_include check for AVFAudio include.
Add some explicit casts to avoid conflicts.
Change all `include`s to `import`s for consistency.
2022-05-10 21:11:34 +03:00
Haoyu Qiu
a71e808112
Try to convert OS::execute() output to Unicode on Windows
2022-05-10 20:54:48 +08:00
bruvzg
b268c4b4bc
[Windows] Save and re-apply window icon when changing window style.
2022-05-10 11:12:04 +03:00
Rémi Verschelde
c366f8d2d4
Crash handler: Use print_error
to include backtrace in logs
2022-05-05 12:22:56 +02:00
Marcel Admiraal
c893302ca1
Read and store joypad events in a separate thread on x11 platform
2022-05-05 07:51:54 +02:00
bruvzg
800a68837f
Fix export plugins after embedded PCK loading changes.
2022-05-04 12:57:21 +03:00
Rémi Verschelde
5022efef02
Merge pull request #51682 from mdavisprog/os-is-process-running
...
OS::is_process_running function.
2022-05-04 09:02:33 +02:00
mdavisprog
f3c1232c59
Add OS::is_process_running function.
...
Adds the is_process_running function to the native OS class and exposes it to script.
This is implemented on Windows and Unix platforms. A stub is provided for other platforms that do not support this function.
Documentation is updated to reflect new API function.
2022-05-03 17:27:17 -07:00
Fabio Alessandrelli
070bd87aaa
[JS] Add flag to disable weak symbols in ZSTD.
...
Weak symbols are currently broken in upstream emscripten.
2022-05-03 21:52:55 +02:00
Fabio Alessandrelli
a4c3e915be
Added missing signature.
2022-05-03 18:44:49 +02:00
Rémi Verschelde
297241f368
Merge pull request #60714 from Calinou/typedef-remove-ref
...
Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
2022-05-03 14:28:18 +02:00
Rémi Verschelde
cb7a5a81ad
Merge pull request #60224 from pfeodrippe/fix-simultaneous-touches
2022-05-03 13:56:45 +02:00
Rémi Verschelde
3894b08d0d
Merge pull request #60553 from madmiraal/separate-display_safe_area
2022-05-03 11:20:46 +02:00
Rémi Verschelde
c9ce4069a3
Merge pull request #60601 from touilleMan/gdextension_get_library_path
...
Add GDNativeInterface::get_library_path to GDExtension
2022-05-03 08:13:34 +02:00
Hugo Locurcio
180e5d3028
Remove RES
and REF
typedefs in favor of spelled out Ref<>
...
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Rémi Verschelde
c273ddc3ee
Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
...
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.
Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.
Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
Rémi Verschelde
d56462d82a
Merge pull request #60638 from m4gr3d/support_hand_tracking_v2_main
2022-05-02 09:51:21 +02:00
Marcel Admiraal
97e87a2daf
Fix screen_get_usable_rect returning display safe area
2022-05-02 09:31:32 +02:00
Rémi Verschelde
bc7ccc909b
Merge pull request #60551 from madmiraal/implement-3466
...
Add a method for obtaining display cutouts on Android
2022-05-02 07:56:41 +02:00
Emmanuel Leblond
80f61352fb
Add GDNativeInterface::get_library_path to GDExtension
2022-04-29 00:51:04 +02:00
Rémi Verschelde
cbdc33bcf7
Merge pull request #60563 from madmiraal/fix-60562
2022-04-29 00:30:30 +02:00
bruvzg
652f78785b
[Linux] Disable speech-dispatcher, pulse audio and udev wrapper builds, when library is not found.
2022-04-28 18:13:34 +03:00
bruvzg
6ab672d1ef
Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and Windows.
...
Implement TextServer word break method.
2022-04-28 14:35:41 +03:00
bruvzg
2ca91948de
[Windows Export] Improve error messages for missing rcedit and signtool.
2022-04-28 10:48:30 +03:00
Fredy Huya-Kouadio
c63ca6c72b
Update Meta hand tracking version
...
https://developer.oculus.com/blog/presence-platforms-hand-tracking-api-gets-an-upgrade/
2022-04-27 20:56:24 -07:00
Marcel Admiraal
5924e2b90e
Check for null when retrieving clip data item text on Android
2022-04-27 16:12:33 +02:00
Rémi Verschelde
504708ae21
Merge pull request #56093 from bruvzg/pck_section_load
...
Improve embedded PCK loading and exporting.
2022-04-27 14:29:21 +02:00
Rémi Verschelde
8dfa12cae7
Merge pull request #59979 from bruvzg/cpp_check2
2022-04-27 10:08:26 +02:00
Rémi Verschelde
a300fb6665
Merge pull request #60523 from akien-mga/linux-pkgconfig-nixos
2022-04-27 09:41:58 +02:00
Rémi Verschelde
8a996d7b38
Merge pull request #60397 from timoschwarzer/ios-haptic-engine
2022-04-27 09:40:58 +02:00
Rémi Verschelde
e89fc52ec6
Merge pull request #58272 from bruvzg/x11_backup_screen_info
2022-04-27 09:34:25 +02:00
Marcel Admiraal
71ce5857ec
Add a method for obtaining display cutouts on Android
2022-04-26 13:51:21 +02:00
Rémi Verschelde
07ad066420
Linux: Use pkg-config for alsa, libudev and GL too
...
It's not needed on most distros as those are found in standard lib
and include paths, but on NixOS they're all in non-standard prefixes,
so we need to rely on information provided by pkg-config.
Fixes #59913 .
Co-authored-by: David Lewis <davidalewis00@gmail.com>
2022-04-26 09:37:28 +02:00
Rémi Verschelde
d9f7da2230
Merge pull request #60433 from madmiraal/remove-superfluous-null-check
...
Remove superfluous null check
2022-04-25 16:02:40 +02:00
Rémi Verschelde
b4a1a76bce
Merge pull request #60457 from madmiraal/replace-index-iterators
...
Replace index iterators with for each loops.
2022-04-25 16:02:28 +02:00
Rémi Verschelde
5e599d7c22
Merge pull request #60441 from madmiraal/remove-superfluous-inputmanager
...
Remove superfluous Android InputManager interface and implementation
2022-04-25 15:41:55 +02:00
Rémi Verschelde
d167583517
Merge pull request #60434 from madmiraal/remove-superfluous-version-check
...
Remove superfluous check for minimum Android SDK.
2022-04-25 15:40:33 +02:00
Fredy Huya-Kouadio
3b1e62bc7c
Fix the issue causing the screen to be black after resuming when in low processor mode.
...
This is done by forcing a redraw and buffers swap when resuming the app.
2022-04-25 00:25:17 -07:00
Marcel Admiraal
334ebd7eb7
Replace index iterators with for each loops.
2022-04-23 09:45:44 +02:00
Marcel Admiraal
2f225bf2c5
Remove superfluous check for minimum Android SDK.
2022-04-22 18:55:45 +02:00
Marcel Admiraal
22ca5b2eba
Remove superfluous Android InputManager interface and implementation
2022-04-22 18:52:06 +02:00
Marcel Admiraal
988432b8bb
Remove superfluous null check
2022-04-22 17:33:27 +02:00
Timo Schwarzer
4d3a7ad6ca
Vibrate using iOS haptics engine on supported devices
2022-04-20 22:28:29 +02:00
bruvzg
c0cc41d6c1
Improve embedded PCK loading and exporting.
...
Windows export process:
Limit size of executable with embedded PCK to 4 GB.
Use "rcedit" before embedding PCK.
Capture and process "rcedit" errors.
Windows, Linux:
Add support for PCK loading from executable "pck" section.
2022-04-20 11:09:59 +03:00
bruvzg
de4c97758a
Fix more issues found by cppcheck.
2022-04-20 10:34:00 +03:00
Paulo Feodrippe
a6f06d57dc
Fix simulatenous touches for different touch types
2022-04-13 22:52:08 -03:00
bruvzg
8b0761d1fd
Fix sub-menu keyboard navigation.
2022-04-13 09:58:38 +03:00
bruvzg
d2ebac3a30
Remove or make private FileAccess
close()
methods.
2022-04-12 14:50:14 +03:00
bruvzg
4bf99f4af2
Narrow FileAccess scope to prevent deadlocks.
2022-04-12 10:54:39 +03:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted.
2022-04-11 13:28:51 +03:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck.
2022-04-06 14:34:37 +03:00
Rémi Verschelde
b79721fede
Merge pull request #59908 from bruvzg/fix_popup_close_race
...
Fix a possible race condition on popup close, that might cause multiple deletions of the same list item.
2022-04-06 08:35:56 +02:00
Rémi Verschelde
77843355a0
CI: Update black formatter and apply changes
2022-04-05 17:43:12 +02:00
bruvzg
daa42e0e50
Fix a possible race condition on popup close, that might cause multiple deletions of the same list item.
2022-04-05 12:44:29 +03:00
Rémi Verschelde
f8ab79e68a
Zero initialize all pointer class and struct members
...
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
Rémi Verschelde
53317bbe14
Merge pull request #59866 from m4gr3d/update_default_display_scale_main
2022-04-04 19:31:37 +02:00
Fredia Huya-Kouadio
8eabf77f54
Update the editor display scale based on the device's scaled density
2022-04-04 09:23:43 -07:00
Fredia Huya-Kouadio
f1a7caf9bb
Remove duplicate resizable
settings
2022-04-04 09:18:07 -07:00
Rémi Verschelde
10d9e47949
Merge pull request #59861 from m4gr3d/enable_resizable_main
2022-04-04 11:17:24 +02:00
Fredia Huya-Kouadio
3f299e9255
Update resize
settings:
...
- Unlock resizing for the Godot Editor
- Add an option to specify whether a game is resizeable for the Godot template
2022-04-04 01:02:10 -07:00
bruvzg
50bd5e6fbe
[macOS] Add bundle launch code for older (pre 10.15) macOS versions.
2022-04-04 08:04:37 +03:00
bruvzg
ba0317be04
Add CI build with clang sanitizers, increase stack size to 30 MB for builds with sanitizers.
2022-04-01 13:15:35 +03:00
ConteZero
2eb36b8bdb
Fix X11 is_window_maximized
2022-03-31 23:21:32 +02:00
Rémi Verschelde
a647fb3e62
Fix typos with codespell
...
Using codespell 2.2-dev from current git.
Fix a couple incorrect uses of gendered pronouns.
2022-03-31 14:07:29 +02:00
Rémi Verschelde
04c17eb003
Merge pull request #59607 from m4gr3d/fix_low_processor_mode_main
...
Fix flickering issues with low processor mode on Android
2022-03-29 21:52:08 +02:00
Fredia Huya-Kouadio
b176b31f5d
Fix flickering issues with low processor mode on Android
2022-03-29 12:17:09 -07:00
Lyuma
ee02a7f785
Keep editor at normal priority on windows.
...
The multithreaded importer often causes system-wide hangs when importing more than 20 files at a time.
Running the editor at normal priority allows other applications on the system to be responsive during long imports.
2022-03-29 00:01:31 -07:00