bruvzg
66832e9968
[Windows] Run native file dialogs in thread to make it non-blocking.
2024-08-19 12:58:16 +03:00
Rémi Verschelde
a0d549fe93
Merge pull request #95272 from akien-mga/applicalifragilisticexpialidocious
...
iOS: Fix typo in GodotApplicationDelegate
2024-08-17 00:46:47 +02:00
Hilderin
0987a9dc06
Fix drag&drop between window on Windows
2024-08-16 18:40:46 -04:00
Rémi Verschelde
82adfebcf8
Merge pull request #94799 from m4gr3d/memory_allocation_cleanup_and_optimizations
...
Android memory cleanup and optimizations
2024-08-16 23:45:39 +02:00
Fredia Huya-Kouadio
a57a99f5bc
Memory cleanup and optimizations
...
- Returns an empty list when there's not registered plugins, thus preventing the creation of spurious iterator objects
- Inline `Godot#getRotatedValues(...)` given it only had a single caller. This allows to remove the allocation of a float array on each call and replace it with float variables
- Disable sensor events by default. Sensor events can fired at 10-100s Hz taking cpu and memory resources. Now the use of sensor data is behind a project setting allowing projects that have use of it to enable it, while other projects don't pay the cost for a feature they don't use
- Create a pool of specialized input `Runnable` objects to prevent spurious, unbounded `Runnable` allocations
- Disable showing the boot logo for Android XR projects
- Delete locale references of jni strings
2024-08-16 09:27:41 -07:00
bruvzg
f72e74f395
[Windows/Linux] Check custom export templates architecture.
2024-08-16 15:52:12 +03:00
Rémi Verschelde
de44c20514
Merge pull request #95498 from LeonardoDemartino/fix_macos_dylibsigning
...
macOS: Only set entitlements for main binaries, fixing C# signing issues
2024-08-16 14:35:06 +02:00
Rémi Verschelde
f2fb3353cb
Merge pull request #95197 from yahkr/95128-audio-fix
...
Fix AudioStreamPlayer `get_playback_position()` for web build
2024-08-16 14:33:05 +02:00
Rémi Verschelde
b084b6a8bb
Merge pull request #94971 from bruvzg/drv_msgs
...
[Windows] Improve video driver error messages.
2024-08-16 14:32:50 +02:00
Rémi Verschelde
6042c66663
Merge pull request #94720 from noidexe/fix-gamepad-triggers
...
Fix gamepad triggers not working on web exports
2024-08-16 14:32:27 +02:00
Rémi Verschelde
a7598679cf
Merge pull request #95586 from m4gr3d/fix_last_modified_time_unit
...
Update the Android `fileLastModified` method to return values in seconds instead of milliseconds
2024-08-16 10:36:56 +02:00
Rémi Verschelde
a8bbb09bd5
Merge pull request #95143 from TV4Fun/fix_non_windows_library_load
...
Fix reload of GDExtension libraries in framework package on macOS
2024-08-16 10:35:19 +02:00
Rémi Verschelde
690c5669e2
Merge pull request #91271 from m4gr3d/clean_gradle_build_setup
...
Clean up the gradle build logic used to generate the Godot Android binaries
2024-08-16 10:33:19 +02:00
Fredia Huya-Kouadio
cde873b406
Update the Android `fileLastModified` method to return values in seconds instead of milliseconds
2024-08-15 12:24:58 -07:00
Alvin Wong
16a563b9ac
DisplayServerWindows: Fix logic when creating with transient parent
2024-08-15 04:10:15 +08:00
Lisandro Lorea
9dd372f316
Fix gamepad triggers not working on web exports
...
Fixes #81758
DisplayServerWeb::process_joypads handles buttons 6 and 7 of the
HTML5 Standard Gamepad as a special case by doing:
`input->joy_axis(idx, (JoyAxis)b, s_btns[b]);`
This doesn't work because there is no JoyAxis 6 or 7 in the enum
To fix this we use JoyAxis::TRIGGER_LEFT and TRIGGER_RIGHT for button 6
and 7
However since we are now lying to input->joy_axis we also need to lie in
the mappings for the standard gamepad in godotcontrollersdb.txt,
otherwise input->joy_axis will try to find a mapping to axis 4(LT) and
axis 5(RT) that's not defined.
Therefore we set lefttrigger to +a4 and righttrigger to +a5 in the
mapping, to match what we are actually sending.
A cleaner, and more involved fix to this would be modifying
input->joy_button so that it can handle analog buttons and map them to
axes preserving their value instead of converting to boolean
2024-08-14 16:13:16 -03:00
Leonardo Demartino
0a57dd4682
Only main binaries require entitlements. This fixes signing issues on macOS.
2024-08-13 16:55:27 -03:00
Rémi Verschelde
edc0571c96
Merge pull request #95425 from bruvzg/macos_joypad_queue
...
[macOS] Fix wrong object type in joypad queue.
2024-08-12 18:18:19 +02:00
Rémi Verschelde
4ab4613f90
Merge pull request #95331 from Riteo/seat-tight-this-is-weird
...
Wayland: Avoid recreating input objects on capability change
2024-08-12 14:10:07 +02:00
bruvzg
d1047f4c46
[macOS] Fix wrong object type in joypad queue.
2024-08-12 14:09:18 +03:00
Rémi Verschelde
d0fc7f73df
Merge pull request #95323 from bruvzg/ios_dyl
...
[iOS] Fix dylib GDExtension convertion.
2024-08-09 23:25:12 +02:00
Riteo
0d1826e084
Wayland: Avoid recreating input objects on capability change
...
Before, multiple capability events would instantiate the same object
over and over as long as its bit was set. This caused issues with
hotplug and device suspension.
2024-08-09 15:42:23 +02:00
bruvzg
824324e7c4
[iOS] Fix dylib GDExtension convertion.
2024-08-09 12:44:48 +03:00
Yahkub-R
bcd776e441
Fix AudioStreamPlayer get_playback_position() for web build
2024-08-08 15:58:25 -04:00
bruvzg
9949d5a089
[macOS] Remove kill override.
2024-08-08 21:39:00 +03:00
Joel Croteau
f44d6a235f
Fix reload of GDExtension libraries in framework package on macos
...
`GDExtension::open_library` has a check in it to see if the library was loaded
from a temp file, and if it was to restore the original name as that is the one
we actually care about. This check is breaking extension reloading on Mac when
the library path is to a framework folder, as the file inside the framework
will not generally be the same name as the folder.
This check also shouldn't be necessary even on Windows, which is the only
platform that uses `generate_temp_files`, since disposal of the created temp
file is handled within `OS_Windows::open_dynamic_library`, and
`GDExtension::open_library` (which is the only function to call
`open_dynamic_library` with a `p_data` argument) only cares about the original
library file path and has to do extra work to remove the name of the temp file.
Instead, I have removed that check and set `OS_Windows::open_dynamic_library`
to return the name of the original file and not the name of the copy.
This fixes GDExtension reloading on macOS. I do not have a Windows machine
available to test that it still works properly on Windows, so someone should
check that before merging this.
2024-08-08 08:31:49 -06:00
Rémi Verschelde
1938d170aa
iOS: Fix typo in GodotApplicationDelegate
...
Fixes #90714 .
2024-08-08 10:06:36 +02:00
bruvzg
2bd21b588e
[macOS] Load OpenGL.framework by path to avoid issues with non-Latin executable names.
2024-08-07 11:57:27 +03:00
Rémi Verschelde
4577b37036
Merge pull request #95191 from bruvzg/macos_term
...
[macOS] Attempt to terminate process normally before using `forceTerminate`.
2024-08-06 12:32:22 +02:00
Rémi Verschelde
8ba212f188
Merge pull request #95189 from bruvzg/fix_mono_bundle
...
[macOS] Fix `generate_bundle` build flag for .NET builds.
2024-08-06 12:32:18 +02:00
Rémi Verschelde
e693ff814a
Merge pull request #95155 from bruvzg/win_pen_checks
...
[Windows] Reject `WM_POINTER(UP/DOWN)` messages for non pen pointer type.
2024-08-06 12:32:02 +02:00
Rémi Verschelde
e54ffd21e2
Merge pull request #95046 from timothyqiu/typos
...
Fix several typos in the documentation
2024-08-06 12:31:12 +02:00
Rémi Verschelde
2b65ff9249
Merge pull request #95009 from bruvzg/win_transp_checks
...
[Windows] Check if transparency is enabled in the project setting before applying DWM blur.
2024-08-06 12:30:56 +02:00
bruvzg
393741a7e2
[macOS] Attempt to terminate process normally before using `forceTerminate`.
2024-08-06 12:45:56 +03:00
bruvzg
1f53c71df5
[macOS] Fix `generate_bundle` build flag for .NET builds.
2024-08-06 10:55:24 +03:00
bruvzg
e5efde9481
[Windows] Reject WM_POINTER(UP/DOWN) messages for non pen pointer type.
2024-08-04 20:07:14 +03:00
Haoyu Qiu
7cf9ed5f65
Fix several typos in the documentation
2024-08-02 08:42:20 +08:00
bruvzg
27474c9563
[Windows] Check if transparency is enabled in the project setting before applying DWM blur.
2024-08-01 10:30:46 +03:00
bruvzg
99b0100a06
[X11] Use motion event button state instead of async state.
2024-08-01 10:07:07 +03:00
Fabio Alessandrelli
470a35832f
[Web] Fix browser opening too early with serve.py
2024-08-01 05:38:36 +02:00
Thaddeus Crews
0163705640
SCons: Add method to generate raw cstrings
2024-07-31 14:22:04 -05:00
bruvzg
1dfcbccfe6
[macOS] Fix `is_process_running` and `kill` for bundled apps.
2024-07-31 16:54:53 +02:00
Rémi Verschelde
1d57b81d26
Merge pull request #94976 from bruvzg/win_app_name
...
[Windows] Improve editor grouping, set friendly name registry key for exported projects.
2024-07-31 16:13:21 +02:00
bruvzg
3f8cc6678b
[Windows] Improve editor grouping, set friendly name registry key for exported projects.
2024-07-31 15:04:00 +03:00
Rémi Verschelde
8d9a394f63
Merge pull request #94958 from adamscott/fix-missing-web-nullcheck-source
...
Add missing null check before disconnecting source
2024-07-31 11:37:47 +02:00
Rémi Verschelde
3fce516155
Merge pull request #94428 from alvinhochun/windows-angle-resize-sync
...
Windows: Update ANGLE surface size when window is resized
2024-07-31 11:37:37 +02:00
bruvzg
68ae413893
[Windows] Improve video driver error messages.
2024-07-31 11:16:38 +03:00
Adam Scott
1776258b1c
Add missing null check before disconnecting source
2024-07-30 15:00:58 -04:00
Pierce Brooks
e3482a9336
Android: Ensure cleanup of all subobjects in the OpenSL audio driver
2024-07-30 17:20:46 +02:00
Rémi Verschelde
3e0c10d393
Merge pull request #94943 from bruvzg/arm64_gl_switch
...
[Windows] Improve OpenGL/ANGLE switching on ARM64.
2024-07-30 12:29:13 +02:00
Rémi Verschelde
862d881843
Merge pull request #94923 from m4gr3d/fix_crash_on_android_terminate
...
Fix crash that occurs on termination of the Godot engine on Android
2024-07-30 12:29:10 +02:00
Rémi Verschelde
a92d7ed19f
Merge pull request #94887 from m4gr3d/fix_generate_apk_for_dev_build
...
Automatically enable `doNotStrip` for dev builds
2024-07-30 12:29:01 +02:00
bruvzg
ad0ab2f396
[Windows] Improve OpenGL/ANGLE switching on ARM64.
2024-07-30 10:11:58 +03:00
Fredia Huya-Kouadio
30d63e8ab9
Fix the crash that occurs on termination of the Godot engine on Android
2024-07-29 09:20:50 -07:00
Fredia Huya-Kouadio
c1acddfeb4
Fix the `generate_apk` logic when `dev_build` or `debug_symbols` are enabled
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-07-29 06:48:49 -07:00
A Thousand Ships
61c4ce272c
[Web] Gracefully handle non-finite audio volumes
2024-07-29 15:48:06 +02:00
Rémi Verschelde
9a8f18b9bf
Merge pull request #94796 from kus04e4ek/backfall
...
Windows: Fall back to D3D12 if Vulkan is not supported and vice versa
2024-07-29 15:17:26 +02:00
Rémi Verschelde
65e046159b
Merge pull request #94836 from bruvzg/win7_angle
...
[Windows] Remove libSynchronization
2024-07-28 17:46:59 +02:00
Rémi Verschelde
8239eac5d9
Merge pull request #94809 from ChrisBase/fix_keytool_for_android_export_not_found
...
Fix Android export failing with custom keystores and no JDK setup in the OS environment
2024-07-28 17:46:42 +02:00
Rémi Verschelde
1d8373a300
Merge pull request #92859 from Summersay415/do-not-strip
...
Android: Change the way `doNotStrip` is set
2024-07-28 17:46:31 +02:00
Alvin Wong
25270d5907
Allow llvm-mingw sanitizers only on x86_32/x86_64
2024-07-28 17:21:35 +08:00
Alvin Wong
0cda0b935d
Windows: Add sanitizers for llvm-mingw, increase stack for ASan
...
ASan and UBSan are supported by llvm-mingw. They can be enabled by
passing `use_asan=yes use_ubsan=yes` to scons.
2024-07-28 04:32:18 +08:00
bruvzg
5d5d51937f
[Windows] Remove libSynchronization
2024-07-27 17:12:27 +03:00
Kusok
d30c1e6a8f
Fall back to D3D12 if Vulkan is not supported and vice versa
2024-07-27 16:17:20 +08:00
Chris
7afefe6469
Fixed Android export failing when no JDK is setup in the OS environment and custom keystores have been set in the export dialog.
2024-07-27 01:33:59 +02:00
Rémi Verschelde
607b230ffe
Merge pull request #94789 from Faless/web/fix_thread_cc_with_workaround
...
[Web] Fix closure compiler builds, enable it in CI.
2024-07-26 13:44:25 +02:00
Rémi Verschelde
44342c385c
Merge pull request #94735 from aitorciki/nvdrs-memset-initialization
...
[Windows] Use default aggregate initialization for NVAPI settings
2024-07-26 13:44:13 +02:00
Rémi Verschelde
13c6c0cdb7
Merge pull request #94706 from alvinhochun/window-set-transient-parent-on-create
...
Pass window exclusive and transient properties for subwindow creation
2024-07-26 13:44:03 +02:00
Fabio Alessandrelli
96feb924e8
[Web] Enable the closure compiler in CI
...
Also fixes some JSDoc annotations in GodotAudio
2024-07-26 13:27:52 +02:00
Fabio Alessandrelli
26f17c33a5
[Web] Add workaround for missing export in threaded builds
...
The offending symbol gets stripped away by wasm-dce but it's used on the
JavaScript side and causes and undefined symbol which also causes the
closure compiler to throw an error.
2024-07-26 12:28:36 +02:00
Aitor Guevara
21f3e69a24
[Windows] Use default aggregate initialization for NVAPI settings
...
Using the member initialization encouraged in NVAPI documentation for
NVDRS_SETTING results in builds enabling `dev_mode` breaking. Default
aggregate initialization results in a clean build though.
2024-07-25 14:41:46 +02:00
alvinhochun
24e02d56cb
Remove unneeded call in DisplayServerX11
...
X11 does not need setting exclusive flag (it is not implemented).
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-07-25 17:11:15 +08:00
Fredia Huya-Kouadio
4d0da74014
Fix the cleanup logic for the Android render thread
...
On Android the exit logic goes through `Godot#onDestroy()` who attempts to cleanup the engine using the following code:
```
runOnRenderThread {
GodotLib.ondestroy()
forceQuit()
}
```
The issue however is that by the time we ran this code, the render thread has already been paused (but not yet destroyed), and thus `GodotLib.ondestroy()` and `forceQuit()` which are scheduled on the render thread are not executed.
To address this, we instead explicitly request the render thread to exit and block until it does. As part of it exit logic, the render thread has been updated to properly destroy and clean the native instance of the Godot engine, resolving the issue.
2024-07-24 10:17:46 -07:00
Alvin Wong
97aa278edb
Pass window exclusive and transient properties for subwindow creation
...
On Windows this allows to avoid having to change the owner of the window
after it has been created, which in rare circumstances may cause the
window to bug out.
2024-07-25 00:27:27 +08:00
Rémi Verschelde
25e5efaf9e
Merge pull request #94680 from bruvzg/fix_net_detection
...
Replace .NET detection code with `ClassDB::class_exists("CSharpScript")`.
2024-07-24 09:59:42 +02:00
bruvzg
25f78a5eb6
Replace .NET detection code with `ClassDB::class_exists("CSharpScript")`.
2024-07-23 23:46:14 +03:00
bruvzg
c34192eb9c
[macOS export] Do not stop export on signing errors.
2024-07-23 22:38:05 +03:00
bruvzg
52a2836861
Disable FP contraction.
2024-07-23 14:33:51 +03:00
Rémi Verschelde
a50fe87b89
Merge pull request #94078 from Repiteo/scons/msvc-flag-fix
...
SCons: Don't override cl flags on msvc
2024-07-22 14:12:45 +02:00
Riteo
e307fd60d8
Wayland: Fix error spam when interacting with decorations
...
Also tried to make tablet handling a bit tidier (less whitespace).
That said I'll uniform tablet handling better once we're back in the dev
cycle.
2024-07-20 03:46:35 +02:00
bruvzg
0e519118d2
[Windows] Fix release export template build for ARM64 Windows.
2024-07-19 14:33:40 +03:00
Rémi Verschelde
cf9e485696
Merge pull request #94518 from bruvzg/mac_net_non_sandboxed_sign
...
[macOS] Fix codesigning of .NET helper executables when sandboxing is disabled.
2024-07-19 11:10:55 +02:00
Rémi Verschelde
18da250ffb
Merge pull request #93737 from aitorciki/disable-windowed-gsync
...
[Windows] Disable G-SYNC in windowed mode
2024-07-19 11:10:31 +02:00
bruvzg
975ee76e2b
[macOS] Fix codesigning of .NET helper executables when sandboxing is disabled.
2024-07-18 23:40:49 +03:00
Rémi Verschelde
2b2fd56ca5
Merge pull request #94473 from nvlled/fix-screen-image-memory-leak
...
Linux/X11: Fix memory leak from created screen images
2024-07-18 10:45:43 +02:00
Rémi Verschelde
287521c2c2
Merge pull request #94466 from bruvzg/angle_update_lib
...
[Windows] Add `libSynchronization` to link flags.
2024-07-18 10:45:40 +02:00
Ronald Casili
3636d9dafc
Linux/X11: Fix memory leak from created screen images
...
Allocated XImages are improperly free'd with XFree.
The X11 documentation says that XImage should use
XDestroyImage to free both the image structure and
the data pointed to by the image structure.
Also fix a potential use-after-free bug.
2024-07-18 09:45:44 +02:00
Adam Scott
2f5f84b470
Fix audio samples not being able to be "finished"
2024-07-17 10:45:38 -04:00
Rémi Verschelde
ea018a8131
Merge pull request #94120 from bruvzg/fix_kbd_names
...
[Windows] Fix reading keyboard layout names.
2024-07-17 15:44:50 +02:00
Rémi Verschelde
1ca4ce284e
Merge pull request #94063 from bruvzg/tablet_drag
...
[Winink] Check pointer button states.
2024-07-17 15:44:47 +02:00
Rémi Verschelde
64a11d08cc
Merge pull request #94411 from Riteo/suspending-the-right-way
...
Wayland: Check for suspended flag when unsuspending
2024-07-17 12:52:50 +02:00
Rémi Verschelde
d191bee0ae
Merge pull request #94402 from Riteo/committed-to-the-cause
...
Wayland: Commit surface on window creation
2024-07-17 12:52:44 +02:00
Rémi Verschelde
a4312eebaa
Merge pull request #94468 from m4gr3d/restart_editor_when_updating_touchscreen_settings
...
[Android Editor] Resolve issues with the editor touchscreen settings
2024-07-17 12:24:14 +02:00
Rémi Verschelde
7b12dbd74d
Merge pull request #94425 from m4gr3d/fix_remote_android_button_not_enabling
...
Fix issue preventing enabling the remote button for Android/iOS
2024-07-17 11:44:34 +02:00
Rémi Verschelde
38a537c011
Merge pull request #94398 from alvinhochun/windows-rendering-driver-initial-size-fix
...
Windows: Fix wrong initial size passed to rendering driver
2024-07-17 11:44:19 +02:00
Fredia Huya-Kouadio
53a752f2d6
Disable long press for mouse events
...
Long press is used to simulate right-click events for finger touch and stylus. The previous logic also caused it to trigger for mouse input, which is not needed since the user can instead use the mouse right click button.
This update disables long press as right click events for mouse input.
2024-07-17 02:44:17 -07:00
Rémi Verschelde
496fd12b17
Merge pull request #94052 from m4gr3d/clean_input_dispatch_settings
...
Cleanup Android input on render thread settings
2024-07-17 11:42:52 +02:00
bruvzg
9f714bfde5
[Windows] Add `libSynchronization` to link flags.
2024-07-17 10:58:03 +03:00
Alvin Wong
88581a7705
Support GPU preference for MS Store packaged apps
2024-07-16 23:46:37 +08:00
Alvin Wong
4091abd727
Respect integrated GPU preference in Windows Settings
2024-07-16 23:46:37 +08:00