Commit Graph

4750 Commits

Author SHA1 Message Date
c7b53c03ae SCons: Add explicit dependencies on thirdparty code in cloned env
Since we clone the environments to build thirdparty code, we don't get an
explicit dependency on the build objects produced by that environment.

So when we update thirdparty code, Godot code using it is not necessarily
rebuilt (I think it is for changed headers, but not for changed .c/.cpp files),
which can lead to an invalid compilation output (linking old Godot .o files
with a newer, potentially ABI breaking version of thirdparty code).

This was only seen as really problematic with bullet updates (leading to
crashes when rebuilding Godot after a bullet update without cleaning .o files),
but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
2020-12-18 10:29:34 +01:00
b07a3f503b Merge pull request #44105 from neikeq/mono-wasm-m2n-hook
Mono: Make Godot provide its own WASM m2n trampolines
2020-12-17 09:58:24 +01:00
f6820306e0 Merge pull request #44374 from neikeq/mono-wasm-extra-framework-asms
Mono: Add extra WASM framework assemblies on game export
2020-12-17 09:56:46 +01:00
9e49dbda2a Merge pull request #44360 from bruvzg/ctl_punct_word_break
Add word breaks on punctuation characters.
2020-12-17 09:02:01 +01:00
88b8c3ec00 Merge pull request #44424 from briansemrau/gdscript-fix-and
Fix gdscript `and` operator
2020-12-16 14:42:56 +01:00
61ac640aa0 Fix gdscript and operator 2020-12-16 07:41:10 -05:00
7d07e20bda fixes crash in disassemlber for opcode OPCODE_ASSIGN_TYPED_NATIVE 2020-12-15 21:44:52 -06:00
94b15bfb89 Merge pull request #44275 from vnen/variant-function-arg-pointers
Use pointer parameters in Variant function pointers
2020-12-15 20:52:03 +01:00
abfc528439 Merge pull request #43890 from vnen/gdscript-builtin-functions-refactor
GDScript: Refactor builtin functions
2020-12-15 20:51:38 +01:00
0415a2d913 Merge pull request #44391 from madmiraal/fix-42285
Remove Generic6DOFJoint precision property
2020-12-15 19:06:25 +01:00
9bc62bf449 Remove Generic6DOFJoint precision property 2020-12-15 10:14:48 +00:00
2af8a72663 Mono: Don't use -rdynamic when compiling for WASM
`-rdynamic` was causing the emsdk linker to silently fail to
generate the output `.wasm` file (even though exit code was 0).
2020-12-14 21:16:09 +01:00
7439b5595d Mono: Make Godot provide its own WASM m2n trampolines
This depends on a custom Mono patch from this commit:
godotengine/godot-mono-builds@0e312939bd
2020-12-14 21:16:01 +01:00
b98e8b11e6 Mono: Add extra WASM framework assemblies on game export
This is needed with newer Mono versions, at least with Mono 6.12+

Depends on the following commit from our build scripts:
godotengine/godot-mono-builds@9d75cff174
2020-12-14 20:55:29 +01:00
8509c8c8fc Rename AcceptDialog get_ok() to get_ok_button()
Also renames:
- AcceptDialog add_cancel() to add_cancel_button()
- ConfirmationDiaglog get_cancel() to get_cancel_button()
2020-12-14 18:43:52 +00:00
06ae77a320 Add word breaks on punctuation characters. 2020-12-14 11:36:13 +02:00
a511a26ad8 Merge pull request #44353 from skyace65/PowFix
Pow method doc fix
2020-12-14 07:38:08 +01:00
77a045e902 Rework Mesh handling on scene importing.
-Reworked how meshes are treated by importer by using EditorSceneImporterMesh and EditorSceneImporterMeshNode. Instead of Mesh and MeshInstance, this allows more efficient processing of meshes before they are actually registered in the RenderingServer.
-Integrated MeshOptimizer
-Reworked internals of SurfaceTool to use arrays, making it more performant and easy to run optimizatons on.
2020-12-13 21:29:51 -03:00
4fd20015f3 Pow method doc fix 2020-12-13 17:53:30 -05:00
c1d261fdb0 [Complex Text Layouts] Add variable fonts support. 2020-12-13 18:43:39 +02:00
2760f5d0b4 Merge pull request #44315 from madmiraal/fix-handles-baseexception
Don't handle BaseException in build scripts
2020-12-12 12:23:07 +01:00
8ef5e3201c Don't handle BaseException in build scripts 2020-12-12 10:05:42 +00:00
9263f8eb4b Image: Rename PVRTC{2,4} to PVRTC1_{2,4}, drop COMPRESS_PVRTC2
We haven't had a proper implementation for COMPRESS_PVRTC2 (which is PVRTC1 2-bpp) in years,
so let's drop it instead of keeping a compress type which doesn't work.

The other enum values were renamed to clarify that our PVRTC2 and PVRTC4 are respectively
PVRTC1 2-bpp and PVRTC1 4-bpp. PVRTC2 2-bpp and 4-bpp are not implemented yet.
2020-12-10 23:14:04 +01:00
e4e9231420 Use pointer parameters in Variant function pointers
Instead of references. This is needed because those function pointers
are used in GDNative which needs to work with plain C, which doesn't
support passing parameters by reference.
2020-12-10 18:18:47 -03:00
1a31274855 PVRTC: Move compress func to modules/pvr, drop obsolete PVRTexTool code
The code we had for PVRTexTool doesn't work as it's not compatible with current
PVRTexTool CLI options, and likely hasn't been for years.

Instead, we have our own vendored pvrtccompressor thirdparty library which all
users have thus de-facto been using. This commit moves the compress code to
`modules/pvr` where it belongs.

There's no proper compress function for PVRTC 2-bit format, that's a bug that
will need to be fixed (currently it's compressed as 4-bit format even if you
use Image::FORMAT_PVRTC2).

Fixes #28669.
2020-12-10 22:08:01 +01:00
cf62289d24 LSP: Fix iterator in enum API dump 2020-12-09 13:34:29 +01:00
644f739660 Static analyzer fixes:
Removes unused code in OS.
Fixes return types.
Fixes few typos.
2020-12-09 10:17:53 +02:00
90bdba576a Merge pull request #43742 from qarmin/editor_modules_default_values
Initialize class/struct variables with default values in platform/ and editor/
2020-12-08 15:53:42 +01:00
edb3686ee2 Merge pull request #44190 from touilleMan/constify-ScriptLanguage.can_inherit_from_file
Constify ScriptLanguage.can_inherit_from_file
2020-12-08 13:59:46 +01:00
360cfeedac Merge pull request #44176 from touilleMan/global_class_naming-for-pluginscript
Add PluginScript support for global class naming/icon path
2020-12-08 13:51:06 +01:00
c4c18a2c58 Add PluginScript support for global class naming/icon path 2020-12-08 13:17:22 +01:00
a211812932 Constify ScriptLanguage.can_inherit_from_file 2020-12-08 13:06:15 +01:00
d94de32579 Merge pull request #44177 from touilleMan/pluginscript-allow-custom-can_inherit_from_file
Allow PluginScript to customize language's can_inherit_from_file attribute
2020-12-08 12:46:02 +01:00
d94bf9f7b6 Merge pull request #44136 from neikeq/scons-mono-bcl-option
Mono: Add mono_bcl SCons option for a custom BCL location
2020-12-08 09:43:50 +01:00
a834055c63 Merge pull request #44148 from Calinou/tweak-log-file-names
Tweak log file names for consistency between Mono and non-Mono logs
2020-12-08 09:42:54 +01:00
014efeb272 Allow PluginScript to customize language's can_inherit_from_file attribute 2020-12-08 00:56:01 +01:00
e20011b0da Merge pull request #44076 from Faless/js/4.x_gdnative
[HTML5] Optional GDNative Support
2020-12-07 15:34:33 +01:00
44a88244de Merge pull request #44162 from aaronfranke/arg
Improve some argument names for core types
2020-12-07 13:35:25 +01:00
d32878bfa8 Merge pull request #43007 from DeleteSystem32/mp3-support
Add MP3 import and playback support
2020-12-07 11:36:03 +01:00
3c9c2cbb23 Merge pull request #44093 from nekomatata/gdscript-base-class-init
Fix base script not initialized properly in some cases
2020-12-07 11:29:45 +01:00
93e9c9c470 Merge pull request #43981 from bruvzg/ctl_font_spacing
[Complex Text Layouts] Adds missing Font::SPACING_* to the controls, align glyphs to pixel grid.
2020-12-07 11:08:34 +01:00
5465e604bb Improve argument names for core types 2020-12-07 05:01:33 -05:00
73eb8d5a20 Merge pull request #44117 from bruvzg/mem_fonts
Load dynamic fonts to memory on all platforms, to avoid locked files.
2020-12-07 10:43:49 +01:00
29e5b900d0 Load dynamic fonts to memory on all platforms, to avoid locked files. 2020-12-07 10:53:15 +02:00
0ef483e9a9 [Complex Text Layouts] Performance optimizations. 2020-12-07 08:53:02 +02:00
4d81776fc9 Tweak log file names for consistency between Mono and non-Mono logs
- Avoid spaces in Mono log file names.
- Use a `.log` extension for Mono logs, just like non-Mono logs.
- Use periods to separate hours/minutes/seconds for non-Mono logs.
2020-12-06 20:17:02 +01:00
384211af4b [Complex Text Layouts] Fix bitmap font memory leak. 2020-12-06 20:31:00 +02:00
c3cc9d82b4 [Complex Text Layouts] Align glyph offsets and advances to the pixel grid. 2020-12-06 20:31:00 +02:00
a458e90179 [Complex Text Layouts] Adds missing Font::SPACING_* to the Label, LineEdit, TextEdit, TextLine and TextParagraph.
Fixes oversized editor control height (default editor spacing is negative) and control size changing when text is set.
2020-12-06 20:30:59 +02:00
87d73faa66 Fix base script not initialized properly in some cases
Storing script references to pointer only in result.script_type could
lead to losing the last reference, causing further conversions from
Script* to Ref<Script> to fail.

Now result.script_type_ref is always set first, and then cleared in the
specific case of the script being the owner, to avoid cyclic reference
issues.
2020-12-06 08:20:33 -07:00