Commit graph

3541 commits

Author SHA1 Message Date
Aaron Franke 5771f9959c
Mono formatting
No space for casting, add spaces inside braces, 4 space indentation, remove trailing indentation, remove BOM.
2019-12-11 16:32:47 -05:00
Michael Alexsander 6cc3bb2d9b Add note in 'load()' docs that the path must be absolute 2019-12-11 17:14:58 -03:00
Rémi Verschelde 98c3990f7d
Merge pull request #34271 from vnen/gdscript-unused-class-variable-disable
Disable GDScript warning for unused class variable by default
2019-12-11 16:27:42 +01:00
Rémi Verschelde 70a8c37957
Merge pull request #34227 from akien-mga/scons-mingw-split-libmodules
SCons: Add 'split_libmodules' option to workaround linker issue
2019-12-11 16:21:16 +01:00
Rémi Verschelde c320a82213 SCons: Add 'split_libmodules' option to workaround linker issue
The new 'split_libmodules=yes' option is useful to work around linker
command line size limitations when linking a huge number of objects.
We're currently over 64k chars when linking libmodules.a on Windows
with MinGW, which triggers issues as seen in #30892.

Even on Linux, we can also reach linker command line size limitations
by adding more custom modules.

We force this option to True for MinGW on Windows, which fixes #30892.

Additional changes to lib splitting:

- Fix linking of the split module libs with interdependent symbols,
  hacking our way into LINKCOM and SHLINKCOM to set the `--start-group`
  and `--end-group` flags.
- Fix Python 3 compatibility in `methods.split_lib()`.
- Drop seemingly obsolete condition for 'msys' on 'posix'.
- Drop the unnecessary 'split_drivers' as the drivers lib is no longer
  too big since we moved all thirdparty builds to modules.

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2019-12-11 15:40:28 +01:00
Rémi Verschelde df2e3e3f7f
Merge pull request #33018 from Xrayez/fix-inst2dict-getters
Fix `inst2dict` calling to getters to retrieve value
2019-12-11 15:06:38 +01:00
George Marques cbf5641a74
Disable GDScript warning for unused class variable by default 2019-12-11 11:02:07 -03:00
Rémi Verschelde cd9d513285
Merge pull request #34181 from van800/rider
Support Rider as external editor for Godot mono version
2019-12-11 09:20:31 +01:00
Ivan Shakhov 8fbc9d33fd Support Rider as External Editor 2019-12-11 08:39:04 +01:00
Rémi Verschelde 2845e6a21a
Merge pull request #34040 from qarmin/unused_variable_more_precise_numbers
Removed unused variables, add some constants numbers
2019-12-10 08:25:31 +01:00
Rafał Mikrut ed1c4bc77d Removed unused variables, add some constants numbers 2019-12-10 05:13:02 +01:00
Marcel Admiraal 78055cbdaf Check that motion is not zero before doing a sweep test.
Fixes #25476.
2019-12-09 09:21:38 +01:00
Rémi Verschelde 4eff13d768 doc: Markup fixes for enums and constants 2019-12-06 23:09:20 +01:00
Jonas 11258db001
Fix missing null checks in Mono Binding of GD
The print methods of mono binding was missing null checks for the params
2019-12-06 11:56:50 +01:00
Ignacio Roldán Etcheverry 6544a0e908
Merge pull request #34018 from dsge/show-template-directory-path-in-error-message
Make sure to include the path in the "Data template directory not found" error message
2019-12-05 14:17:23 +01:00
codecustard 601d870ae9 Fixes wrong position when adding node in VS editor
When adding a node in the visual script editor while zoomed in, the position of the newly added node would be wrong.
2019-12-04 17:12:01 -08:00
Ignacio Etcheverry 066ae9d83b Mono/C#: Several android fixes
- Added correct config file for android dllmaps.
- Fix __Internal DllImports with a dlopen fallback.
- Add missing P/Invoke functions and internal calls expected by the monodroid BCL and our custom version of the 'Android.Runtime.AndroidEnvironment' class (this last one can be found in the godot-mono-builds repo).
- Make sure to set 'btls' instead of 'legacy' as the default TLS provider on Android.
2019-12-04 19:03:42 +01:00
Ignacio Etcheverry 3797f19926 C#: Add Duplicate method to the Array and Dictionary bindings 2019-12-04 15:22:30 +01:00
Rémi Verschelde fc8bbaa8e9
Merge pull request #34094 from volzhs/compile-windows-on-linux
Fix compile error for Windows on Linux
2019-12-04 07:08:23 +01:00
Rémi Verschelde f326913f4d
Merge pull request #34067 from bojidar-bg/32370-retype-message
Make error when accidentially redeclaring a variable's type clearer
2019-12-04 06:52:22 +01:00
volzhs d1270f3d4c Fix compile error for Windows on Linux 2019-12-04 08:06:07 +09:00
Hugo Locurcio 1fcdeaee39
Mention that int() can be used as an alternative to floor() 2019-12-03 08:43:24 +01:00
Bojidar Marinov 79c26344e8
Make error when accidentially redeclaring a variable's type clearer
Fixes #32370
2019-12-02 22:26:05 +02:00
Rémi Verschelde e64a663c59
Merge pull request #33992 from bruvzg/ios_modular_build
iOS modular build and export implementation.
2019-12-01 22:35:45 +01:00
bruvzg 2ef8c5fac5
iOS modular build and export implementation. 2019-12-01 21:57:18 +02:00
Emmanuel Leblond fb9b010384
Add missing on error manifest struct destroy in pluginscript script init 2019-12-01 16:15:31 +01:00
Rémi Verschelde ea7f3037da
Merge pull request #34002 from KoBeWi/crashonat
Don't try to initialize empty NativeLibrary
2019-12-01 11:53:19 +01:00
Rémi Verschelde 7140d766a2
Merge pull request #33997 from akien-mga/doc-makerst-escape
makerst: Escape default values using reST markup
2019-12-01 11:52:20 +01:00
Aaron Franke 3231fca934
Add docs for is_equal_approx on structures 2019-11-30 16:52:27 -05:00
miere43 d747c61187 Fixed typo in docs for Script and GDScript classes ("exends" -> "extends") 2019-11-30 21:16:11 +03:00
dsge 81cae314b4 Make sure to include the path in the "Data template directory not found" error message 2019-11-30 15:44:18 +01:00
Rémi Verschelde 52e3944846
Merge pull request #34009 from flyingpimonster/gridmap-docs
Docs: GridMap and MeshLibrary
2019-11-30 11:13:42 +01:00
James Westman 7ef16ca136 Docs: GridMap and MeshLibrary
The only methods left to document are resource_changed, set_clip, and
the methods dealing with baked meshes.
2019-11-29 18:21:34 -06:00
Tomasz Chabora f4a1a79d01 Don't try to initialize empty NativeLibrary 2019-11-29 21:10:20 +01:00
Rémi Verschelde 55676b16da makerst: Escape default values using reST markup
Otherwise the docs would complain about values like "godot_"
which reST tries to interpret as an identifier.
2019-11-29 14:25:37 +01:00
Rémi Verschelde fa0e682027
Merge pull request #33982 from neikeq/issue-29349
Mono/C#: Add option to export assemblies outside of PCK
2019-11-29 11:37:18 +01:00
Ignacio Etcheverry 85d8c42763 Mono/C#: Fix crash on exported games that don't use C# 2019-11-29 01:35:46 +01:00
Ignacio Etcheverry 66de28eda8 Mono/C#: Add option to export assemblies outside of PCK
When using this options, assemblies will be saved in the Assemblies folder of the  data directory: 'data_AppName/Assemblies/'.
2019-11-29 00:36:05 +01:00
Hugo Locurcio 247767eb89
Document how to bypass the unused argument/variable warning in message
Note that prefixing with an underscore only works with unused arguments
and local variables, not class variables and signals.

This closes #26056.
2019-11-27 22:52:43 +01:00
Rémi Verschelde aae9e11a1e
Merge pull request #33946 from NeoSpark314/remove_exr_dbgprint
Remove .exr saver debug print
2019-11-27 17:55:23 +01:00
Holger Dammertz 365c5bd0e5 Remove .exr saver debug print 2019-11-27 17:17:29 +01:00
marcosjouron 6d2b21c6a4 VideoStreamGDNative: Fix playing video files without audio stream 2019-11-27 16:40:16 +01:00
Rémi Verschelde a87e2f85ee
Merge pull request #33939 from KoBeWi/grideprecatedmap
Remove deprecated theme property from GridMap
2019-11-27 15:32:59 +01:00
Tomasz Chabora 96b30e7727 Remove deprecated theme property from GridMap 2019-11-27 14:40:43 +01:00
Rémi Verschelde 31272d0956
Merge pull request #33921 from Faless/enet/no_relay
Add ENet option to disable server relaying.
2019-11-27 14:35:44 +01:00
Fabio Alessandrelli 7e592f9641 Add ENet option to disable server relaying.
It's useless when building fully authoritative servers, and prevents
various kinds of abuse.
2019-11-27 11:48:31 +01:00
Hugo Locurcio 4f14a1f59c
Remove type hint from the @GDScript class documentation
The current consensus in the Godot documentation is to avoid using
type hints unless they're relevant to the behavior explained.
2019-11-26 19:13:55 +01:00
Fabio Alessandrelli 391f6ff2c6 Fix memory leak in NetworkedMultiplayerENet.
Dynamically allocated ids of peers where not correctly freed when
calling close_connection and disconnect_peer (with now=true).
2019-11-26 16:00:55 +01:00
Zak Stam 5cfff77ca6 Added missing documentation for yield()
Added some missing documentation about yield() being able to wait for a function also. I cant believe something like that was missing from the docs, it would have saved me so much time (and others i assume).
2019-11-25 18:08:18 +02:00
Rémi Verschelde 636bc5c32f
Merge pull request #33828 from neikeq/貴様
Mono/C#: Prevent SCons from building API solutions in parallel
2019-11-23 11:24:48 +01:00
Ignacio Etcheverry ebdd2bc474 Mono/C#: Prevent SCons from building API solutions in parallel 2019-11-22 23:42:24 +01:00
Rémi Verschelde c41c24562d Style: Add missing copyright headers 2019-11-22 08:37:09 +01:00
Rémi Verschelde ab3bccdb78 Fix typos with codespell
Using codespell 1.16.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-11-22 08:35:03 +01:00
Ignacio Roldán Etcheverry 63b321dbbb
Merge pull request #33791 from neikeq/issue-33761
C#: Fix PathWhich on Windows when name already has extension
2019-11-21 21:34:12 +01:00
Ignacio Etcheverry f91416d9ac C#: Fix PathWhich on Windows when name already has extension
Also make the Posix version of PathWhich check if the file has executable access.
2019-11-21 14:53:00 +01:00
Rémi Verschelde 719254ae0d
Merge pull request #33759 from bruvzg/arkit_dyn_load
[iOS] Link and load ARKit framework dynamically.
2019-11-20 21:17:43 +01:00
K. S. Ernest (iFire) Lee 5d70a95fe1 33714 Check if the image is null before use. 2019-11-20 11:22:35 -08:00
Rémi Verschelde 73323a2838
Merge pull request #33763 from neikeq/issue-33725
Fix C# export error dialog showing up when it should not
2019-11-20 13:23:20 +01:00
Ignacio Etcheverry d79aeca599 Fix C# export error dialog showing up when it should not 2019-11-20 13:07:26 +01:00
bruvzg a9fef1a774
[iOS] Link and load ARKit framework dynamically. 2019-11-20 11:18:01 +02:00
Rémi Verschelde 02913f53d3 pcre2: Use scons option to disable JIT on some platforms
Third-party platforms (e.g. console ports) need to be able to
disable JIT support in the regex module too, so it can't be
hardcoded in the module SCsub. This is cleaner this way anyway.

Fixes #19316.
2019-11-20 08:54:52 +01:00
Ignacio Etcheverry 3f247ea507 Mono/C#: Bundle libmono-btls-shared.dll on Windows if it exists 2019-11-19 17:22:06 +01:00
Rémi Verschelde 8450658fa2
Merge pull request #33673 from YeldhamDev/script_templates_lines_style
Make the script templates' blank lines conform with the official style guide
2019-11-19 10:41:36 +01:00
Ignacio Etcheverry 008769aee9 C#: Throw NullReferenceException for null NodePath/RID params 2019-11-18 12:23:54 +01:00
Rémi Verschelde 46ae64cd60 Revert "Update opus to 1.3.1 and opusfile to 0.11"
This reverts commit e00426c512.

The way we handle platform-specific intrinsics is not good, so the
current state will not compile on armv8. This commit also requires
SSE4.1 support, which is likely not a good idea for portable binaries.

We'll have to redo this with more caution after 3.2 is released, or
we might simply drop opus as we're only using it as dependency for
theora right now.

Fixes #33606.
2019-11-18 09:56:48 +01:00
Michael Alexsander 7ecaff578b Make the script templates' blank lines conform with the official style guide 2019-11-17 08:54:43 -03:00
Rémi Verschelde 3c83137771
Merge pull request #33662 from touilleMan/issue-30577
Add singleton_name field to autogenerated json api
2019-11-16 23:00:07 +01:00
Rémi Verschelde e9f905dccc
Merge pull request #33637 from madmiraal/fix-c4334-warning
Fix Visual Studio throwing C4334 warning.
2019-11-16 22:55:09 +01:00
Rémi Verschelde 53bc47a4da
Merge pull request #33643 from Calinou/visual-script-multiply-sign
Use the Unicode "multiply" sign for the "A x B" visual script node
2019-11-16 22:54:41 +01:00
Rémi Verschelde 6cde380cee
Merge pull request #33603 from neikeq/ばか
Mono/C#: WebAssembly and initial AOT support
2019-11-16 22:44:13 +01:00
Emmanuel Leblond 03e1568aeb
Add singleton_name field to autogenerated json api 2019-11-16 20:29:54 +01:00
Hugo Locurcio 08b4671e03
Use the Unicode "multiply" sign for the "A x B" visual script node 2019-11-15 19:06:53 +01:00
Marcel Admiraal 8fa72a20f3 Fix Visual Studio throwing C4334 warning. 2019-11-15 14:11:12 +01:00
Ignacio Etcheverry 8cbe4a3db4 Make C# internal calls return structs as ref parameters
The Mono IL interpreter's WebAssembly to native trampolines don't support passing structs by value, so we need to do it this way.

Also now we pass and return long, ulong, float and double as ref parameters as well. This is due to missing trampolines for float and long types. This is likely a temporary workaround that will be reverted in the future. The correct solution would be to patch 'mono/mini/m2n-gen.cs' when building the Mono runtime for WASM in order to generate the trampolines we need.
2019-11-15 03:22:25 +01:00
Ignacio Etcheverry 2b67924a0b Mono/C#: Initial exporter support for AOT compilation 2019-11-15 03:22:18 +01:00
lupoDharkael 9254961297 Parser: Check all the arguments of the ternary operator 2019-11-15 01:29:18 +01:00
Ignacio Etcheverry de7c2ad21b Mono/C#: WebAssembly support 2019-11-13 21:41:11 +01:00
Rémi Verschelde 30d4c923cb
Merge pull request #32966 from ffaristocrat/fix-hex-parsing
Fix base 16 hex literal parsing
2019-11-12 23:04:20 +01:00
Micheál Keane 4b9fd961d6 Fixes #32963 by correctly parsing bin/hex literals 2019-11-12 15:57:38 -05:00
Ignacio Roldán Etcheverry 953f37f49b
Merge pull request #33249 from JoshLee0915/MonoHeadlessServer
Added missing server platform checks to template dir and shared lib copy in mono_configure.py
2019-11-12 14:57:29 +01:00
Rémi Verschelde ba4c808721
Merge pull request #33311 from SneakyFish5/update-opus
Update opus to 1.3.1 and opusfile to 0.11
2019-11-12 07:55:25 +01:00
Rémi Verschelde 51d1be5156 AudioStreamOGGVorbis: Expose loop and loop_offset as properties
Fixes #11231.
2019-11-11 15:14:37 +01:00
Rémi Verschelde 6b1628f9fc
Merge pull request #33517 from madmiraal/fix-_MSG-macros
Send *_MSG macros' explanations directly to the _err_print_error().
2019-11-11 13:27:51 +01:00
Marcel Admiraal 83069a3c0f Remove ERR_EXPLAIN macros and the scaffolding they needed. 2019-11-11 10:57:00 +01:00
Marcel Admiraal d18b2e599d Remove all uses of ERR_EXPLAIN macros. 2019-11-11 10:24:04 +01:00
Rémi Verschelde 2143f46df2
Merge pull request #33516 from qarmin/small_fixes
Memory leaks and crash fixes
2019-11-10 10:17:19 +01:00
Rafał Mikrut 7dda9309f9 Memory leak and crash fixes 2019-11-10 09:49:13 +01:00
unknown e00426c512 Update opus to 1.3.1 and opusfile to 0.11 2019-11-09 13:06:56 -06:00
mashumafi d7137a6b72 Add setting to exclude addons from script warnings 2019-11-07 23:01:22 -05:00
Rémi Verschelde 77816fea8b
Merge pull request #32477 from aaronfranke/equal-approx-separate
Make is_equal_approx separate and make == exact again
2019-11-07 14:54:15 +01:00
Rémi Verschelde f0fc28f0fd
Merge pull request #33160 from aaronfranke/alphabetize-mathf
[Mono] Alphabetize Mathf
2019-11-07 13:37:33 +01:00
Rémi Verschelde 91518defa5
Merge pull request #33257 from aaronfranke/printraw
Document behavior of GDScript printraw
2019-11-07 13:21:09 +01:00
Rémi Verschelde c4ecec1d33
Merge pull request #32853 from OsamaElHariri/visual_script_setter_props_fix
Set the properties of a Set node after add_node
2019-11-07 13:13:33 +01:00
RevoluPowered 5fb160c7c6 Updated assimp to 308db73 from https://github.com/assimp/assimp/ 2019-11-05 20:38:26 +00:00
RevoluPowered 0bd877780f FBX Importer Generation 3
Basic skin support

Various fixes

- Fixes bind mount id and mesh index
- Fixed duplicate nodes being created
- Prevented leak when instances being freed during re-import.
- Improved camera and light transform import
- skeleton handling and technical debt removal
- ASSIMP: bone nodes were unlinked from bones by this code
- bone_add working can distinguish between armatutes
- Updated transform to be the correct offset
- Added safety for state.root node errors
- Fixed memory leak with leaf bones
- Implemented children re-parenting for mesh template
- import_animation fixes to basic skeleton data
- Adds some more debug messages
- Fixed Godot import segfault
- Fix build failing on mono
- Clear resources we use which are no longer required after import
- Fixed bone duplication issue
- Working skeleton_bone_map which can lookup armatures properly now.
- Fixed stack being used up when mesh swapped & Fixed bone ID

Additional notes:
We use a mesh template which is a fake node to instance the initial
mesh nodes . This is to ensure the entire tree can be built.

We replace mesh node templates with the real mesh after the
skeleton is available, since this makes it ensure that the fully
built skeleton exists with all bones, all nodes, etc.

The bone stack is a stack which pops when it finds bones,
this overcomes duplicate bones with the same names.

FBX has lots of these because animation armature has bone names like bone001
and another armature will also have bone001
Fixed errors in node path assignment

Simple explanation:
- Every mesh uses a node from the stack
- Node stack was empties before completed
- Every time node not found, stack must be rebuilt to maintain correct armature order :)

Additional fixes:
- Fixes destructor in assimp
- Implements aiNode* mArmature in bone data
- Implements aiNode* mParent in bone data
- Fixes parent ID on bones.

Implemented skeleton assignment in generate_mesh_indicies

This is the only place we can safely do a lookup for the skeleton for the mesh.h
I used a pointer reference so we can pass this back out, since the skeleton assignment happens inside the function.

Added mesh re-parenting to the armature node this is a permanent feature and must be enforced, just like GLTF2 specification.

Fixed import_animation spawning tracks per skin
2019-11-05 17:54:57 +00:00
Rémi Verschelde 6dca64140c
Merge pull request #33330 from nekomatata/fix-label-autowrap-size
Fixed cases where labels with autowrap can overflow the editor ui
2019-11-04 16:57:53 +01:00
PouleyKetchoupp 13c88878c4 Fixed cases where labels with autowrap can overflow the editor ui
Fixes #33155
2019-11-04 10:12:36 +01:00
Rémi Verschelde 76aa975460
Merge pull request #33266 from Xrayez/inst2dict-original-path
Use GDScript resource path over script path for `inst2dict`
2019-11-04 08:59:30 +01:00
Rémi Verschelde 0195ecdb0f
Merge pull request #33258 from aaronfranke/color8
Fix Color8 GDScript documentation
2019-11-02 23:08:23 +01:00
bruvzg 047ecffaac
Restore GDNative compatibility by moving new functions introduced in #33210 to core API 1.2 extension. 2019-11-02 15:25:43 +02:00