Commit Graph

53 Commits

Author SHA1 Message Date
Wojtek Figat
777e65c170 Fix crash when setting static dotnet field from unmanaged code 2024-10-04 15:58:05 +02:00
Wojtek Figat
adbe578aa1 Add attributes support for dotnet interop for methods, fields and properties 2024-10-04 15:57:41 +02:00
Wojtek Figat
2f0518a348 Fix managed interop bug 2024-10-03 17:10:01 +02:00
Wojtek Figat
1e43b031ba Fix unpacking marshaled field value
#2790
2024-07-25 16:50:01 +02:00
bf5e5d1254 Refactor native interop internal type lookup 2024-06-01 23:20:33 +03:00
e77ae12b9b Fix unboxing of array type Variants 2024-05-05 13:15:54 +03:00
Wojtek Figat
14902dc29e Merge remote-tracking branch 'origin/master' into 1.8
# Conflicts:
#	Flax.flaxproj
2024-02-26 19:49:39 +01:00
Wojtek Figat
859c420d76 Update year in copyright note 2024-02-26 19:00:48 +01:00
Wojtek Figat
2df3d0f747 Fix crash when loading level with abstract script class
#1990
2024-02-25 14:54:57 +01:00
Wojtek Figat
c60058758b Minor fixes 2024-01-28 01:15:29 +01:00
Wojtek Figat
fd938e8284 Fix incorrect pointer marshalling from Variant to managed runtime
#1992
2023-11-28 11:22:14 +01:00
SS
d6e93a7fab Fixed issue involving stale scripting assemblies in FlaxEngine.Json dynamic type resolution
Added new ExtendedSerializationBinder
Added callback to clear serializer cache on scripting assembly reload
Added low-cost mechanism to invalidate the SerializerCache after domain reload
2023-11-06 18:49:30 -07:00
Wojtek Figat
74a69b8f13 Fix running game in non-ANSI path
#480
2023-10-12 22:29:48 +02:00
Wojtek Figat
af468ee6ae Fix scripting interop in AOT mode to use reflection-based field access 2023-10-11 15:18:28 +02:00
Wojtek Figat
19a0eab966 Merge branch 'sceneanim_null_check_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-sceneanim_null_check_fix 2023-10-01 12:12:21 +02:00
Wojtek Figat
fd3f10864b Fixes for iOS #1312 2023-09-29 00:00:51 +02:00
96d880df6a Fix crash in SceneAnimationPlayer 2023-09-28 22:06:07 +03:00
Wojtek Figat
279528a30d Merge branch 'marshalling_scriptingobject_changes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-marshalling_scriptingobject_changes
# Conflicts:
#	Source/Engine/Engine/NativeInterop.Unmanaged.cs
#	Source/Engine/Scripting/Runtime/DotNet.cpp
2023-09-28 18:41:20 +02:00
Wojtek Figat
c374127de1 Fix error when loading project on non-ASCII path
#1439
2023-09-25 16:34:01 +02:00
Wojtek Figat
96b6313acb Fix crash when loading C# assembly from non-ASNSI path
#1439
2023-09-25 16:30:24 +02:00
Wojtek Figat
8bd6649510 Refactor managed array unboxing to handle case of C# array passes as object
#1415
2023-09-20 14:17:11 +02:00
Wojtek Figat
0083ebd887 Fix missing C# static fields in native scripting api 2023-09-19 09:32:37 +02:00
2d2bfd9cd1 Include EditorModules in Assembly lookup paths 2023-09-16 14:15:09 +03:00
afec6afe4c Fix managed UTF-8 string allocation not using correct encoding 2023-09-03 14:05:21 +03:00
Wojtek Figat
c32a139dbd Fix crash when unboxing managed structure with refs into Variant 2023-08-29 11:57:18 +02:00
42ab218a8e Merge branch 'master' into marshalling_scriptingobject_changes
# Conflicts:
#	Source/Engine/Engine/NativeInterop.Invoker.cs
#	Source/Engine/Engine/NativeInterop.Unmanaged.cs
2023-08-20 20:24:41 +03:00
Wojtek Figat
342ec4c3c2 Merge branch 'arraytype_cache' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-arraytype_cache 2023-08-14 15:36:27 +02:00
53b1d0dd85 Optimize ScriptingObject managed initialization 2023-08-13 23:56:27 +03:00
d4d404ac0b Optimize native interop marshallers runtime type checking 2023-08-13 22:28:56 +03:00
1254af8bbb Optimize UnboxValue performance, safety and memory usage
- Avoids unnecessary boxing of the converted values by storing them in
unmanaged memory.
- Wrap ToNative-method in a delegate and cache it
- Fixes returning address to unpinned memory by pinning POD-types for
a short period of time.
2023-08-13 21:53:42 +03:00
44b70d87e5 Cache MakeArrayType results in native interop 2023-08-13 21:42:40 +03:00
9d8105e3f3 Separate managed assembly unloading and scripting ALC reinitialization
Fixes an issue with multiple managed assemblies unloading and releasing
all cached data before native resources were fully released in other
assemblies.
2023-08-08 17:39:31 +03:00
ff56152ef2 Fix releasing non-collectible types with collectible generic types 2023-07-15 13:20:56 +03:00
Wojtek Figat
04ef3c60d5 Fix regression from c79952a4d6 2023-07-05 09:27:21 +02:00
Wojtek Figat
c79952a4d6 Implement missing dotnet7 interop for field and stabilize interop 2023-07-04 17:57:59 +02:00
Wojtek Figat
9a1fd12a85 Fix sizeof struct within generic type instance
#1219
2023-07-03 11:42:15 +02:00
Wojtek Figat
3e792e6cd7 Add NativeInteropException for native interop crashes 2023-05-19 13:52:30 +02:00
cbe07b842f Fix resolving managed scripts references in Editor 2023-05-11 22:11:46 +03:00
Wojtek Figat
637850d06c Fix crash when C# type has missing empty ctor or it throws an exception
#1019
2023-05-10 20:41:58 +02:00
Wojtek Figat
c73897ce7f Merge branch 'object_array_marshalling' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-object_array_marshalling 2023-05-10 09:22:22 +02:00
da149d32cf Force GC to run periodically in order to reduce stuttering 2023-05-08 23:29:39 +03:00
cae07f3623 Optimize marshalling managed arrays of object references 2023-05-08 23:28:49 +03:00
65b63da93a Improve custom attributes caching in managed classes 2023-05-01 20:06:51 +03:00
Wojtek Figat
8b2d3db3f1 Fix passing boxed reference values to managed thunk and properly unbox non-POD structures 2023-04-18 15:54:54 +02:00
Wojtek Figat
f046642ba7 Improve stability by fixing various crashes with dotnet7 2023-04-18 12:36:33 +02:00
Wojtek Figat
84bb56d68b Minor dotnet tweaks 2023-04-03 14:12:27 +02:00
Wojtek Figat
350112a0d7 Fix C# string chars getter in AOT build 2023-04-03 11:23:32 +02:00
Wojtek Figat
21f419dd4b Fix C# assemblies loading in AOT mode (use file path to correctly load precompiled native assembly) 2023-04-02 14:50:42 +02:00
Wojtek Figat
12f4dc74d2 Optimize default C# stdlib references to prevent using jit-ed features in a game assembly 2023-04-01 23:34:05 +02:00
Wojtek Figat
dfca248ebd Optimize C# IsCollectible to be used in Editor-only builds 2023-03-31 14:56:57 +02:00