Ignacio Etcheverry
e59ac40712
Mono: Better handling of missing/outdated API assemblies
...
Remove the old API assembly invalidation system. It's pretty simple since now the editor has a hard dependency on the API assemblies and SCons takes care of prebuilding them.
If we fail to load a project's API assembly because it was either missing or outdated, we just copy the prebuilt assemblies to the project and try again. We also do this when creating the solution and before building, just in case the user removed them from the disk after they were loaded.
This way the API assemblies will be always loaded successfully. If they are not, it's a bug.
Also fixed:
- EditorDef was behaving like GlobalDef in GodotTools.
- NullReferenceException because we can't serialize System.WeakReference yet. Use Godot.WeakRef in the mean time.
2019-07-14 19:17:07 +02:00
Shiqing
206d515783
Fix unreachable code detection in match statements
2019-07-13 19:31:49 +08:00
Rémi Verschelde
eb98c5e047
Merge pull request #30129 from fire/xatlas_update
...
[WIP] Update xatlas to latest upstream commit (1efe581).
2019-07-11 19:44:55 +02:00
unknown
f236b460e5
Some small fixes to warnings in python scripts
2019-07-11 22:26:04 +05:30
Ignacio Etcheverry
4061e132ff
Mono: Add old TTRs to GodotTools
2019-07-11 13:59:06 +02:00
Rémi Verschelde
518e23424e
pcre2: Update to upstream version 10.33
2019-07-11 10:35:39 +02:00
Ignacio Roldán Etcheverry
2c6daf73f3
Merge pull request #30502 from neikeq/chotto-matte-kudasai
...
Mono: Fix Api HintPath and update old game projects
2019-07-10 22:36:06 +02:00
Ignacio Roldán Etcheverry
1700ab9bc6
Merge pull request #30501 from neikeq/dispose-godotsharpexport
...
Mono: Fix null dereference in EditorExportPlatformAndroid
2019-07-10 22:35:54 +02:00
Ignacio Etcheverry
9eb0729a05
Mono: Fix Api HintPath and update old game projects
...
Fixed Api assembly references with more than one HintPath.
Also made the editor update old C# projects use the new Api assembly HintPaths.
2019-07-10 22:00:31 +02:00
Ignacio Etcheverry
2a8294ff24
Mono: Fix null dereference in EditorExportPlatformAndroid
...
We need to dispose the GodotSharpExport export plugin before the editor destroys EditorSettings. Otherwise, if the GC disposes it at a later time, EditorExportPlatformAndroid will be freed after EditorSettings already was, and its device polling thread will try to access the EditorSettings singleton, resulting in null dereferencing.
2019-07-10 21:51:47 +02:00
Ignacio Roldán Etcheverry
c3da4f854d
Merge pull request #30486 from neikeq/fix-indexoutofbounds-msbuildfinder
...
Fix IndexOutOfBounds in FindMsBuildToolsPathOnWindows
2019-07-10 21:43:17 +02:00
Rémi Verschelde
34d7484039
Merge pull request #30455 from qarmin/const_reference
...
Pass by reference to const
2019-07-10 15:43:15 +02:00
Ignacio Roldán Etcheverry
8b778f6234
Merge pull request #30489 from neikeq/fix-nullexc-on-gengameproj
...
Mono: Fix null exception in GenerateGameProject
2019-07-10 15:40:25 +02:00
Ignacio Etcheverry
caf20492cf
Mono: Fix null exception in GenerateGameProject
...
Also fix pdb files for GodotTools.*.dll assemblies not being copied to the output directory.
2019-07-10 15:03:05 +02:00
Ignacio Roldán Etcheverry
63c4d5af72
Merge pull request #30485 from neikeq/remove-frameworkpathoverride-from-scons
...
SCons no longer passes FrameworkPathOverride to MSBuild
2019-07-10 13:35:40 +02:00
Ignacio Etcheverry
ace0c6ce38
Fix IndexOutOfBounds in FindMsBuildToolsPathOnWindows
2019-07-10 13:30:03 +02:00
Ignacio Etcheverry
c0a4f12fcc
SCons no longer passes FrameworkPathOverride to MSBuild
2019-07-10 13:19:52 +02:00
Ignacio Etcheverry
2da83a278b
Mono: Add missing GodotTools.sln
2019-07-10 12:30:12 +02:00
qarmin
01cc7a996b
Use reference to constant in functions
2019-07-10 11:54:12 +02:00
K. S. Ernest (iFire) Lee
d81d29dcbf
Update xatlas to b7d7bb.
2019-07-09 15:24:10 -07:00
Ignacio Etcheverry
d3f48f88bb
Fix EditorNavigationMeshGenerator registered in Core API
...
Also added an option to output a json file with all the ClassDB registered classes and its members. This can be used to compare the API of two different builds by a simple diff.
2019-07-09 23:33:29 +02:00
Rémi Verschelde
d2e620b8fc
Merge pull request #30463 from neikeq/fix-search-dirs
...
Fix export templates ignoring assemblies in 'res://.mono/assemblies'
2019-07-09 21:59:32 +02:00
Ignacio Etcheverry
4af03e52bd
Make SCons check for System MSBuild before Mono's
2019-07-09 16:49:06 +02:00
Ignacio Etcheverry
df6d1656fe
Fix export templates ignoring assemblies in 'res://.mono/assemblies'
2019-07-09 16:49:02 +02:00
Rémi Verschelde
2fd902a08f
Merge pull request #30438 from Calinou/use-color-constructors
...
Use base `Color()` constructors instead of `Color::html()`
2019-07-09 08:30:10 +02:00
Rémi Verschelde
dcffa0ee64
Merge pull request #30434 from Faless/ws/wslay_fix_handshake_break
...
Fix WebSocketClient consuming data during hanshake
2019-07-09 08:28:01 +02:00
Rémi Verschelde
29ca79bd68
Merge pull request #30428 from neikeq/gitcheckout-b
...
Misc Mono Fixes
2019-07-09 08:26:48 +02:00
Hugo Locurcio
28d3a6051c
Use base Color()
constructors instead of Color::html()
...
This results in slightly smaller binaries (-17 KB for an editor binary)
as no strings need to be allocated.
2019-07-08 21:17:10 +02:00
Fabio Alessandrelli
3e305ea036
Fix WebSocketClient consuming data during hanshake
...
Was missing a break of the while loop on connection.
This potentially caused early data frames to be trashed.
2019-07-08 19:24:27 +02:00
Ignacio Etcheverry
069af23bdb
Mono: Fix build errors with tools=no
2019-07-08 18:07:20 +02:00
Ignacio Etcheverry
dd22cc7527
C#: Fix some crashes during assemblies reloading
2019-07-08 18:07:20 +02:00
Ignacio Etcheverry
aa3b8f7dbb
Fix Godot.Object.ToString() infinite recursion
...
Should not be using Variant to String conversion as that would call ToString() again
2019-07-08 18:07:20 +02:00
Ignacio Etcheverry
5ed3d34cd9
Fix --generate-mono-glue bug when directory doesn't exist
...
DirAccess::get_full_path(path) only works if the path exists. Implement our own abspath function.
2019-07-08 18:07:15 +02:00
Ignacio Etcheverry
2c83255013
Fix C# bindings detection of abstract classes
...
ClassDB::can_instance was changed recently breaking our code, as the editor is not yet initialized. Check ClassInfo::creation_func directly.
2019-07-08 15:13:57 +02:00
Ignacio Etcheverry
b0cbf4e2b2
Fix InvalidCastException when loading script metadata
...
Old value wasn't string so we have to keep that in mind
2019-07-08 15:12:04 +02:00
Rémi Verschelde
9da5fdc955
Merge pull request #30419 from Faless/ws/wslay_server_proto
...
(Re-)Implement subprotocols in websocket server.
2019-07-08 08:18:00 +02:00
Rémi Verschelde
af80182016
Merge pull request #30407 from qarmin/small_fixess
...
Fixes minor issues found by static analyzer
2019-07-08 08:16:50 +02:00
Fabio Alessandrelli
11452dcf91
(Re-)Implement subprotocols in websocket server.
2019-07-08 07:48:26 +02:00
qarmin
9a77d748c0
Fixes minor issues found by static analyzer
2019-07-07 23:08:51 +02:00
Remi Rampin
ddfd67401f
DOC: Fix spelling
...
See also https://github.com/godotengine/godot-docs/pull/2595
2019-07-06 16:54:01 -04:00
Rémi Verschelde
ba211bd58c
Merge pull request #30352 from bojidar-bg/28727-enum-value-check
...
Fix parsing of enums allowing for juxtaposed identifiers
2019-07-06 20:28:53 +02:00
Ibrahn Sahir
4e4697b1c4
Added release function to PoolVector::Access.
...
For clarity, assign-to-release idiom for PoolVector::Read/Write
replaced with a function call.
Existing uses replaced (or removed if already handled by scope)
2019-07-06 12:04:27 +01:00
Bojidar Marinov
c43e050145
Fix parsing of enums allowing for juxtaposed identifiers
...
Fixes #28727
2019-07-05 21:40:40 +03:00
Rémi Verschelde
f104fab83d
Merge pull request #30334 from Calinou/improve-csg-gizmo-drawing
...
Improve the CSG shape gizmo drawing
2019-07-05 10:54:29 +02:00
Rémi Verschelde
6e9cb44004
Merge pull request #30282 from neikeq/editor_in_cs_equals_win
...
Re-write mono module editor code in C#
2019-07-05 10:29:19 +02:00
Rémi Verschelde
a149e412f7
Merge pull request #24086 from RandomShaper/bundle-pck-to-executable
...
Enhance game export
2019-07-05 10:28:29 +02:00
Ignacio Etcheverry
aa9908e4f6
Script API methods must return Ref<T> instead of Reference*
...
ptrcall assumes methods that return a Reference type do so with Ref<T>. Returning Reference* from a method exposed to the scripting API completely breaks ptrcalls to this method (it can be quite hard to debug!).
2019-07-05 09:38:28 +02:00
Ignacio Etcheverry
270af6fa08
Re-write mono module editor code in C#
...
Make the build system automatically build the C# Api assemblies to be shipped with the editor.
Make the editor, editor player and debug export templates use Api assemblies built with debug symbols.
Always run MSBuild to build the editor tools and Api assemblies when building Godot.
Several bugs fixed related to assembly hot reloading and restoring state.
Fix StringExtensions internal calls not being registered correctly, resulting in MissingMethodException.
2019-07-05 09:38:23 +02:00
Hugo Locurcio
e87e8c0485
Improve the CSG shape gizmo drawing
...
The gizmo colors now depend on the operation. Subtraction will
result in an inverted gizmo color, whereas intersection is now displayed
as white.
A solid translucent overlay is now drawn over a selected node
to make it easier to distinguish.
2019-07-05 08:13:12 +02:00
Rémi Verschelde
550f436f8f
Merge pull request #30263 from Faless/ws/wslay_pr
...
Use wslay as a WebSocket library
2019-07-04 15:55:33 +02:00
Fabio Alessandrelli
3380dc9638
Optimize header reads (avoid extra allocs)
2019-07-04 15:03:04 +02:00
Fabio Alessandrelli
aae6c075aa
Remove libwebsocket. No longer used, yay!
2019-07-04 15:03:04 +02:00
Fabio Alessandrelli
9e303ef71c
WebSocket module now uses wslay library.
...
Both client and server are supported on native builds (as usual).
SSL server is still not supported, but will soon be possible with this
new library.
The API stays the same, we just need to work out potential issues due to
this big library switch.
2019-07-04 15:03:04 +02:00
Geequlim
ed7ed52151
Parse more informations for code completion
2019-07-04 14:00:14 +08:00
Pedro J. Estébanez
57b2b275b4
Skip export of non-project libraries
...
That is, any library referred to in GDNative library resources, won't be copied to the export target path unless its path begins with `res://`.
The case use for this is a bit advanced: having a GDN library that will be deployed separately from the project; for instance, to a path in the system (like `/opt/...`).
Currently the GDN library editor doesn't allow to pick dynamic libraries outside the project, but that can be done by editing the `.gdnlib` file manually.
2019-07-03 21:54:46 +02:00
Rémi Verschelde
e4699aa047
Merge pull request #30293 from neikeq/issue-29734
...
Mono: Fix Array IndexOutOfRangeException not being thrown
2019-07-03 21:26:25 +02:00
Rémi Verschelde
e1478b7a87
Merge pull request #30292 from neikeq/android_fixes
...
Mono: Android build and shared libraries fixes
2019-07-03 21:26:12 +02:00
Rémi Verschelde
e81ddf1242
Merge pull request #30289 from bojidar-bg/29586-class-name-constant
...
Fix inheriting from class_name messing up constants
2019-07-03 21:25:20 +02:00
Rémi Verschelde
9f666da2b2
Merge pull request #30287 from bojidar-bg/8006-constants-trouble
...
Fix parsing of arguments in constant expressions
2019-07-03 21:24:36 +02:00
Ignacio Etcheverry
3abe6961dc
Mono: Fix Array IndexOutOfRangeException not being thrown
2019-07-03 17:56:08 +02:00
Ignacio Etcheverry
9f1a8ce6a2
Mono: Android build and shared libraries fixes
...
Fix location of Mono's shared libraries.
Fix build failing if the directory 'platform/android/java/libs/{target}/{abi}' doesn't exist.
2019-07-03 17:48:12 +02:00
Bojidar Marinov
2ef438c200
Fix inheriting from class_name messing up constants
...
Fixes #29586
2019-07-03 17:59:29 +03:00
Bojidar Marinov
f7de816f8b
Fix parsing of arguments in constant expressions
...
Fixes #8006
2019-07-03 17:28:50 +03:00
Rémi Verschelde
b0d41847ed
SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor defines
...
It's the recommended way to set those, and is more portable
(automatically prepends -D for GCC/Clang and /D for MSVC).
We still use CPPFLAGS for some pre-processor flags which are not
defines.
2019-07-03 09:59:04 +02:00
Rémi Verschelde
8c78a4b78f
Merge pull request #30264 from Calinou/add-csg-gizmo-snapping
...
Implement snapping in the CSG gizmos and 3D polygon editor
2019-07-03 07:01:01 +02:00
Rémi Verschelde
e0d610203c
Merge pull request #30254 from bojidar-bg/30224-docdata-generate
...
Fix various memory leaks and errors
2019-07-02 21:41:42 +02:00
Hugo Locurcio
527fb3968a
Implement snapping in the CSG gizmos and 3D polygon editor
...
The spatial editor snap settings will now affect the CSG gizmos
and 3D polygon editor (which is used in CSGPolygon).
2019-07-02 20:02:07 +02:00
Bojidar Marinov
f7dad789e9
Fix various memory leaks and errors
2019-07-02 17:23:54 +03:00
Rémi Verschelde
e9d624d7ce
Merge pull request #30239 from Faless/crypto/crypto_core
...
CryptoCore class to access to base crypto utils.
2019-07-02 14:52:43 +02:00
Martin Liska
f48bb8fac8
Fix few GCC9 warnings:
...
thirdparty/assimp/include/assimp/material.inl: In member function 'aiReturn aiMaterial::Get(const char*, unsigned int, unsigned int, aiColor3D&) const':
thirdparty/assimp/include/assimp/material.inl:176:33: error: implicitly-declared 'aiColor3D& aiColor3D::operator=(const aiColor3D&)' is deprecated [-Werror=deprecated-copy]
176 | pOut = aiColor3D(c.r,c.g,c.b);
modules/dds/texture_loader_dds.cpp:167:50: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
167 | if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT1")) {
| ^
[ 28%] modules/dds/texture_loader_dds.cpp:170:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
170 | } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT3")) {
| ^
modules/dds/texture_loader_dds.cpp:174:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
174 | } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT5")) {
| ^
modules/dds/texture_loader_dds.cpp:177:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
177 | } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("ATI1")) {
| ^
modules/dds/texture_loader_dds.cpp:180:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
180 | } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("ATI2")) {
| ^
modules/dds/texture_loader_dds.cpp:183:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
183 | } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("A2XY")) {
| ^
thirdparty/assimp/include/assimp/material.inl: In member function 'aiReturn aiMaterial::Get(const char*, unsigned int, unsigned int, aiColor3D&) const':
thirdparty/assimp/include/assimp/material.inl:176:33: error: implicitly-declared 'aiColor3D& aiColor3D::operator=(const aiColor3D&)' is deprecated [-Werror=deprecated-copy]
176 | pOut = aiColor3D(c.r,c.g,c.b);
2019-07-02 13:35:30 +02:00
Fabio Alessandrelli
564d93ff10
CryptoCore class to access to base crypto utils.
...
Godot core needs MD5/SHA256/AES/Base64 which used to be provided by
separate libraries.
Since we bundle mbedtls in most cases, and we can easily only include
the needed sources if we so desire, let's use it.
To simplify library changes in the future, and better isolate header
dependencies all functions have been wrapped around inside a class in
`core/math/crypto_base.h`.
If the mbedtls module is disabled, we only bundle the needed source
files independently of the `builtin_mbedtls` option.
If the module is enabled, the `builtin_mbedtls` option works as usual.
Also remove some unused headers from StreamPeerMbedTLS which were
causing build issues.
2019-07-02 12:36:27 +02:00
Rémi Verschelde
4d99408d12
Merge pull request #28884 from vnen/yield-resume-stack
...
Keep GDScript functions in stack while yielding
2019-07-01 16:35:26 +02:00
Rémi Verschelde
08200cb9f5
Merge pull request #29333 from hbina/fix_double_click_when_no_edited_func
...
fixed an issue with double clicking available node in VisualScriptEditor
2019-07-01 16:33:04 +02:00
Rémi Verschelde
6b30f284a0
Merge pull request #29980 from Dentrax/directed-by-qarmin
...
Fix some editor crashes
2019-07-01 14:59:29 +02:00
Rémi Verschelde
b0ce9401ff
Merge pull request #30126 from qarmin/remove_unnecessary_code
...
Remove unnecessary code and add some error explanations
2019-07-01 14:32:04 +02:00
Furkan Türkal
7d8d337b2c
fix some crashes
2019-07-01 14:28:29 +03:00
qarmin
3c154eb93b
Remove unnecessary code and add some error explanations
2019-07-01 12:59:42 +02:00
Rémi Verschelde
d17eac735c
Merge pull request #29815 from NilsIrl/plus_file_1
...
Replace ` + "/" + ` with `String::file_add()`
2019-07-01 12:06:35 +02:00
Fabio Alessandrelli
78907d91f1
Update miniupnpc library to latest master
2019-06-30 17:49:40 +02:00
Rémi Verschelde
a78373ddc2
doc: Remove null default values that can't be determined
...
Applying #30187 .
2019-06-30 13:58:07 +02:00
Rémi Verschelde
b9aa13e591
doc: Remove hardcoded default values from descriptions
...
They are now generated automatically by doctool.
2019-06-30 13:58:07 +02:00
Rémi Verschelde
c6cea6e9b3
doc: Add default values to all properties
...
Thanks to @bojidar-bg's impressive work in #29380 .
2019-06-30 13:58:07 +02:00
Rémi Verschelde
96d3270c34
Merge pull request #24227 from BastiaanOlij/arkit31
...
ARKit for Godot 3.2
2019-06-30 12:14:23 +02:00
BastiaanOlij
d9cefb34c1
ARKit for Godot 3.2
...
This PR introduces support for ARKit to the iOS version of Godot.
ARKit is Apples Augmented Reality platform.
This PR brings in support for ARKit 1.0 and implements a few ARKit 2.0 features.
It requires iOS 11 to run but should not prevent Godot from running on older versions as long as ARKit remains unused.
2019-06-30 18:54:48 +10:00
Rémi Verschelde
b4aba3ae7c
Merge pull request #30177 from hbina/use_FALLTHROUGH_macro
...
Applied some of FALLTHROUGH macro usage from #30122
2019-06-29 23:40:08 +02:00
hbina085
9f0c6a6009
Many fallthrough switch cases now have the FALLTHROUGH macro to tell the compiler that this is intended.
2019-06-29 16:08:48 -04:00
Rémi Verschelde
9ca1a5af3e
Merge pull request #30167 from Xrayez/module-editor-icons
...
Add support for creating editor icons per module
2019-06-29 18:51:28 +02:00
Bojidar Marinov
55234d62b0
Remove bogus nulls from generated default values
...
Also, fix crash in PluginScript destructor.
2019-06-29 15:51:33 +03:00
Rémi Verschelde
ae70eca5af
Merge pull request #30183 from Andrettin/Variant-Pointer-Fixes
...
Fixed cases of unsupported pointers being used to construct variants
2019-06-29 13:45:45 +02:00
Rémi Verschelde
52355c638b
Merge pull request #29380 from bojidar-bg/16086-docs-default-value
...
Add default values to the editor help, docs, and generated RST
2019-06-29 12:28:30 +02:00
Andrettin
42e5d825b4
Fixed cases of unsupported pointers being used to construct variants
2019-06-29 12:06:29 +02:00
Andrii Doroshenko (Xrayez)
7c11a1b162
Add support for creating editor icons per module
...
The functionality is similar to how `doc_classes` are retrieved per module.
The build system will search for custom icons path defined per module via
`get_icons_path()` method in `config.py` or default icons path.
If such paths don't exist, only the editor's own icons will be built.
Most module icons were moved from editor/icons to respective modules.
2019-06-28 23:42:26 +03:00
Rémi Verschelde
6e03236574
Merge pull request #30134 from Calinou/doc-proofread
...
Proofread and improve the whole class reference
2019-06-28 12:36:41 +02:00
unknown
bd25e8d72a
Fixed regression bug caused in #30095 and actually fix the issue it was supposed to fix( #26850 )
2019-06-28 14:58:52 +05:30
Hugo Locurcio
f7f6115f76
Proofread and improve the whole class reference
...
- Document a few more properties and methods
- Add more information to many classes
- Fix lots of typos and gramar mistakes
- Use [code] tags for parameters consistently
- Use [b] and [i] tags consistently
- Put "Warning:" and "Note:" on their own line to be more visible,
and make them always bold
- Tweak formatting in code examples to be more readable
- Use double quotes consistently
- Add more links to third-party technologies
2019-06-27 22:30:19 +02:00
Bojidar Marinov
0c4c36d823
Add default values to the editor help, docs, and generated RST
...
Also, make spacing of "=" in the editor help a bit more consistent.
Closes #16086
2019-06-27 18:29:35 +03:00
tree786
2a63853720
doc: UPNP: Add example on how to open/close a port
...
I have added a small code sample to show how to automate the process of port forwarding (and closing after you are done).
Thanks to @mhilbrunner for explaining how to achieve t0his (see #18780 )
2019-06-27 17:17:15 +02:00
Rémi Verschelde
528c4722d6
doc: Don't use GlobalScope
scope in hyperlinks, it's automatically inferred
2019-06-27 14:43:37 +02:00
Rémi Verschelde
bc82781f7d
doc: Replace all [code]CONSTANT[/code] by new [constant CONSTANT] hyperlinks
2019-06-27 13:49:36 +02:00
Rémi Verschelde
1bf448dd87
Properly expose all Error constants to scripting languages
2019-06-27 12:48:26 +02:00