Commit Graph

4163 Commits

Author SHA1 Message Date
e029e66454 Remove unnecessary string replacement 2022-08-05 18:15:57 -05:00
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
944779a132 Implement screen_is_kept_on for macOS. 2022-08-05 13:14:13 +03:00
00e788e611 Implement keep_screen_on for Windows 2022-08-05 11:58:50 +02:00
103c0fa6e6 Add support for multiple virtual keyboard types 2022-08-04 10:41:33 -04:00
2f9be29c73 Implement screen_set_keep_on for macOS 2022-08-04 10:38:26 +03:00
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
c06025fa13 Add override keywords to DirAccess derived classes 2022-08-02 16:39:44 +01:00
cafb19e608 Add override keywords to FileAccess derived classes 2022-08-02 16:35:15 +01:00
33258d850c Merge pull request #61315 from lawnjelly/variant_bucket_pools
Variant memory pools
2022-08-02 15:54:18 +02:00
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
9f55bd971e Extract EditorResourceConversionPlugin into its own source files and clean up editor includes 2022-07-31 21:14:15 +03:00
77b31ea365 Visual Studio Natvis file works for Variant again 2022-07-31 07:59:19 -04:00
3e5ad8213f Merge pull request #63563 from aaronfranke/export-arch 2022-07-30 11:22:25 +02:00
f4f8b18ebe Merge pull request #63647 from bruvzg/exp_msg_imp
Improve some export error messages.
2022-07-30 09:21:11 +02:00
15a02c49be Merge pull request #61647 from KoBeWi/SaverResource 2022-07-29 22:30:51 +02:00
ea00cf7270 Improve some export error messages. 2022-07-29 22:44:59 +03:00
d6a9384a32 [Linux] Fix build with missing DBUS. 2022-07-29 22:16:21 +03:00
c3606cb5f3 Swap arguments of ResourceSaver.save() 2022-07-29 19:53:09 +02:00
7199314eb3 Merge pull request #63595 from reduz/remove-signal-connect-binds
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
17c4cd6412 Update export dialog to handle many architectures 2022-07-29 10:24:58 -05:00
a0072ba39f Make some editor export methods const 2022-07-29 10:24:13 -05:00
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
f973069afb [Linux] Load dbus libraries dynamically. 2022-07-29 11:19:19 +03:00
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
0dcf679bdc Merge pull request #63548 from pattlebass/master-html5-vibrate 2022-07-27 22:19:37 +02:00
130e715ab9 HTML5: Add support for Input.vibrate_handheld() 2022-07-27 22:54:41 +03:00
9ced8bcca3 Load fontconfig libraries dynamically. 2022-07-27 21:07:21 +03:00
f86448520a Fix Linux build without fontconfig. 2022-07-27 17:21:04 +03:00
cc5135959b Merge pull request #62973 from bruvzg/sysfont_support 2022-07-27 13:38:30 +02:00
f3fbb157ca Merge pull request #63121 from aaronfranke/editor-export-split 2022-07-27 11:19:40 +02:00
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
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
e53ae13178 Split up editor export code into multiple files 2022-07-26 08:28:19 -05:00
ba2cffc575 Merge pull request #63096 from aaronfranke/exp-template-names 2022-07-26 10:28:25 +02:00
36ef8f29dc Implement support for loading system fonts on Linux, macOS / iOS and Windows. 2022-07-26 08:38:05 +03:00
3e0e84a54c Merge pull request #63459 from Kev/bigobj-for-msvc-release 2022-07-25 23:08:26 +02:00
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
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
3084a48ace Merge pull request #63219 from reduz/implement-vector4-projection 2022-07-25 11:13:27 +02:00
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
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
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
b53d032fb8 Flush buffered input events on UWP 2022-07-23 12:06:22 +02:00
8b5c744f95 Update export template names for Windows, Mac, and Linux 2022-07-22 18:40:59 -05:00
f37990ed77 Merge pull request #63278 from akien-mga/scons-linux-refactor-linker 2022-07-22 11:40:10 +02:00
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
0f5436098b [X11] Do case-insensitive search for pen inversion detection 2022-07-21 19:25:22 -07:00
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
3833165d85 [Export] Update generated CLI helper script to work on clean macOS Monterey installation. 2022-07-21 13:50:37 +03:00