Compare commits

..

2936 Commits

Author SHA1 Message Date
mafiesto4 b3a18883ca Fix iOS startup 2023-11-25 21:46:22 +01:00
mafiesto4 98b42d3e2e Add .NET SDK version 7 as forced to be used during game cooking (compatibility with) 2023-11-25 18:14:21 +01:00
mafiesto4 71f30f18a6 Add support for including global configs in engine configuration options 2023-11-25 18:08:34 +01:00
mafiesto4 9e74f3ae22 Update engine assets 2023-11-25 17:54:50 +01:00
mafiesto4 f4f49f63bc Remove debug logs from 3fc0a3dc84 2023-11-25 14:19:30 +01:00
mafiesto4 eaabd56cae Add manual dotnet versions search on windows 2023-11-25 13:03:22 +01:00
mafiesto4 3fc0a3dc84 Add test debug log for broken ci build debug 2023-11-25 12:46:21 +01:00
mafiesto4 cf155a4df4 Update build scripts to use .NET SDK 7 for engine 2023-11-25 12:20:42 +01:00
mafiesto4 40d6e18e7e Add -dotnet=ver command arg to Flax.Build to specify .NET SDK version to use for build 2023-11-25 12:16:13 +01:00
mafiesto4 2cef368282 Update missing unmanaged function callback error message 2023-11-24 21:45:59 +01:00
mafiesto4 40d8d3b972 Update build number 2023-11-24 17:54:44 +01:00
mafiesto4 6eb738bc58 Merge branch 'HydrogenC-master' 2023-11-24 15:00:39 +01:00
mafiesto4 91629d7a28 Merge branch 'master' of https://github.com/HydrogenC/FlaxEngine into HydrogenC-master 2023-11-24 15:00:34 +01:00
mafiesto4 cfef59d851 Merge branch 'nothingTVatYT-master' 2023-11-24 15:00:25 +01:00
mafiesto4 5f3fc38de2 Merge branch 'master' of https://github.com/nothingTVatYT/FlaxEngine into nothingTVatYT-master 2023-11-24 15:00:21 +01:00
mafiesto4 49bc7d3dcc Fix BehaviorTree node UI after adding decorator that was already there 2023-11-24 14:59:25 +01:00
mafiesto4 d0f7a04c58 Add support for getter-only properties in blackboard selector access 2023-11-24 14:59:07 +01:00
nothingTVatYT 297cdc5bfd Merge branch 'FlaxEngine:master' into master 2023-11-24 11:28:58 +01:00
mafiesto4 f61f35b259 Fix compilation regression 2023-11-24 10:53:07 +01:00
mafiesto4 aa1b779463 Fix Win32CriticalSection to use spin count of 4000 instead of just 100
#1930
2023-11-24 10:25:46 +01:00
mafiesto4 359d4ba8ef More refactoring to 6cf7d49a10 for better assets loading
#1930
2023-11-24 10:25:21 +01:00
mafiesto4 6cf7d49a10 Fix crash during asset loading due to potential threading issue when 2 threads load the same asset
#1930
2023-11-23 17:54:50 +01:00
mafiesto4 d5075d845c Fix content storage usage with relative paths
#1966
2023-11-23 17:37:55 +01:00
mafiesto4 d99a92fd13 Fix generic types including to be recursive in C++ bindings codegen
#1966
2023-11-23 13:46:43 +01:00
ExMatics HydrogenC 5b7a3f9700 Show skeleton when entering skeleton tab 2023-11-22 21:52:07 +08:00
mafiesto4 eba4b9bcc1 Add immediate game viewport sync after aspect ratio change in Editor 2023-11-21 12:34:31 +01:00
mafiesto4 d01990e3bb Fix deadlock in editor when using snap to the group with actor that has empty bounds
#1971
2023-11-21 12:34:06 +01:00
mafiesto4 0db259e300 Add CustomScenes feature to draw a fixed set of scenes within SceneRenderTask 2023-11-21 12:24:55 +01:00
mafiesto4 ce905fbe86 Merge branch 'HydrogenC-master' 2023-11-21 11:27:25 +01:00
mafiesto4 5fb82dd290 Merge branch 'master' of https://github.com/HydrogenC/FlaxEngine into HydrogenC-master 2023-11-21 11:27:18 +01:00
mafiesto4 ea81ac6a71 Fix crash in Multi Blend 2D node in Anim Graph when using single animation on a triangle 2023-11-21 11:10:05 +01:00
mafiesto4 88f751eda7 Merge branch 'Tryibion-submod' 2023-11-21 10:04:38 +01:00
mafiesto4 33115fca0c Merge branch 'submod' of https://github.com/Tryibion/FlaxEngine into Tryibion-submod 2023-11-21 10:04:32 +01:00
mafiesto4 4e37aafe6a Fix BT logic flow when start/stopping behavior 2023-11-21 00:01:46 +01:00
mafiesto4 9a091799fc Fix crash when debugging BT node state while tree is not running 2023-11-21 00:00:43 +01:00
Tryibion b14d88f8f8 Add git submodule init to git cloning. 2023-11-20 07:31:16 -06:00
nothingTVatYT da0dc7f11c Merge branch 'FlaxEngine:master' into master 2023-11-20 11:46:53 +01:00
mafiesto4 98012eb192 Minor improvements 2023-11-20 11:07:45 +01:00
mafiesto4 e9a1be481f Add short delay before auto-selecting editor tab on drag over header
#1934
2023-11-20 11:03:49 +01:00
mafiesto4 5573f5bb4a Merge branch 'GoaLitiuM-dotnet8_validate' 2023-11-20 10:48:35 +01:00
mafiesto4 822c25af7d Merge branch 'dotnet8_validate' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet8_validate 2023-11-20 10:48:27 +01:00
mafiesto4 70a540da4a Refactor main editor viewport and prefab viewport to share dragging handling code 2023-11-20 10:48:16 +01:00
mafiesto4 201a1f0264 Fix PostFx settings in Graphics Settings to be only used when checked as override 2023-11-19 22:10:11 +01:00
mafiesto4 9aa4421bfd Fix Visual Script parameter setter node to accept multiple input flows 2023-11-19 20:41:24 +01:00
mafiesto4 d90a0aa3f4 Fix missing initialization of scene objects added from prefab
#1924
2023-11-19 20:26:14 +01:00
mafiesto4 fc2d9a745f Fix missing scene dirty state when spawning prefab in scene tree 2023-11-19 20:24:47 +01:00
mafiesto4 4e190c2e3c Add decoding stack trace function names on Apple platforms 2023-11-19 18:04:24 +01:00
nothingTVatYT 6dcfe32979 Merge branch 'FlaxEngine:master' into master 2023-11-19 12:38:03 +01:00
mafiesto4 389bf89e2a Add GetStackFrames on Android 2023-11-19 11:07:44 +01:00
mafiesto4 31aafeb0d1 Add GetStackFrames and IsDebuggerPresent on Linux 2023-11-19 11:04:10 +01:00
mafiesto4 f9799f8ef3 Update old code 2023-11-19 11:00:15 +01:00
GoaLitiuM 017e7cbc60 Validate detected .NET SDK/runtime versions 2023-11-19 11:26:43 +02:00
GoaLitiuM 4eaac4ab2f Fix building Flax.Build with .NET 8 SDK 2023-11-19 11:26:40 +02:00
ExMatics HydrogenC ddcb792767 Improve documentation 2023-11-19 17:07:42 +08:00
ExMatics HydrogenC 8bcb984180 Implement SetNodeTransform 2023-11-19 17:02:07 +08:00
nothingTVatYT 038a4e6f90 Merge branch 'FlaxEngine:master' into master 2023-11-19 00:44:50 +01:00
mafiesto4 3799674b83 Merge branch 'Tryibion-hide-certain-ui' 2023-11-19 00:00:22 +01:00
mafiesto4 25246de791 Merge branch 'hide-certain-ui' of https://github.com/Tryibion/FlaxEngine into Tryibion-hide-certain-ui 2023-11-19 00:00:10 +01:00
mafiesto4 e76fffc95a Improve performance of 06c56d0a4b 2023-11-18 23:59:30 +01:00
mafiesto4 06c56d0a4b Fix bug when spawning new prefab objects during scene load due to regression in async scene init 2023-11-18 23:46:42 +01:00
nothingTVatYT 6c32e4a842 force DeepClone() to use runtime class 2023-11-18 05:34:34 +01:00
Tryibion 84f6e2f90f Hide search window and search nodes from UIControls 2023-11-17 11:25:54 -06:00
mafiesto4 f77f8fbb39 Fix regression from d9b90c9520 2023-11-17 16:15:43 +01:00
mafiesto4 15aaf5043a Fix scenes reload feature to check if can do it, properly use async in play mode and ask for save if scene is modified
#1740
2023-11-17 14:07:33 +01:00
mafiesto4 b7f2196784 Fix missing script replacement if data has object id that doesn't match current parent
#1924
2023-11-17 14:02:40 +01:00
mafiesto4 d9b90c9520 Fix crash in MissingScript if script is still missing after deserialization
#1924
2023-11-17 13:50:18 +01:00
mafiesto4 719498e99b Adjust MissingScriptEditor layout for UI 2023-11-17 13:08:37 +01:00
mafiesto4 0beb389012 Merge branch 'NoriteSC-MathLib' 2023-11-17 12:25:28 +01:00
mafiesto4 e177aec5fa Codestyle 2023-11-17 12:19:54 +01:00
mafiesto4 a1ef635a2c Merge branch 'MathLib' of https://github.com/NoriteSC/FlaxEngineFork into NoriteSC-MathLib 2023-11-17 12:17:11 +01:00
mafiesto4 ca64867f3c Merge branch 'RuanLucasGD-fix-navigation-crash' 2023-11-16 16:26:59 +01:00
mafiesto4 027fcbfd36 6Merge branch 'fix-navigation-crash' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-fix-navigation-crash 2023-11-16 16:16:07 +01:00
mafiesto4 bec878cc11 Fix crashes in various dictionary usages caused by duplicated keys
#1925 #1924
2023-11-16 15:47:42 +01:00
mafiesto4 f0865c3989 Fix crash in Global Surface Atlas when dirty object is missing 2023-11-16 14:18:29 +01:00
mafiesto4 9738fd4354 Fix crash on hot-reload in Editor due to leftover scripting events in ScriptingEvents::EventsTable
#1925
2023-11-16 14:09:05 +01:00
mafiesto4 d33bf2fa6a Update docs comments based on https://github.com/FlaxEngine/FlaxDocs/pull/127 2023-11-16 13:55:45 +01:00
NoriteSC 307129b4a1 added c++ PingPong and flipped sheer 2023-11-16 11:50:44 +01:00
Mr. Capybara 6aea001e94 Remove unnecessary check 2023-11-15 12:49:20 -03:00
mafiesto4 3a59cfcf20 Change Globals.BuildErrors into BuildException #1673 2023-11-15 11:57:53 +01:00
mafiesto4 385693afff Merge branch 'GoaLitiuM-csharp_vs_build' 2023-11-15 11:44:49 +01:00
mafiesto4 e7ef3ebef2 Merge branch 'csharp_vs_build' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-csharp_vs_build 2023-11-15 11:44:42 +01:00
mafiesto4 c45d606f69 Merge branch 'GoaLitiuM-dotnet8_rollforward_fix' 2023-11-15 11:44:29 +01:00
mafiesto4 2555b07edf Merge branch 'dotnet8_rollforward_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet8_rollforward_fix 2023-11-15 11:44:21 +01:00
Mr. Capybara d533cf554a Avoid crash when try build navmesh with null scene 2023-11-14 14:47:35 -04:00
mafiesto4 bc3107d1db Fix build warnings on the latest XCode 2023-11-14 19:03:46 +01:00
GoaLitiuM 3f5c92e2fa Improve .NET 8 runtime and SDK detection
Setting the environment variable `DOTNET_ROLL_FORWARD_TO_PRERELEASE=1`
is required to enable runtime support for release candidate builds of
future major .NET releases.
2023-11-14 17:00:51 +02:00
mafiesto4 8d3cb8953c Add casting to variant in large worlds build 2023-11-14 12:41:59 +01:00
mafiesto4 6fd34bf5cc Fix compilation regression 2023-11-14 12:15:51 +01:00
mafiesto4 0360f7786d Fix crash hen readingBehaviorKnowledgeSelector value in C# when type doesn't match exactly 2023-11-14 11:47:44 +01:00
mafiesto4 3320c76e14 Add soft check for null managed object value for unboxing 2023-11-14 11:23:15 +01:00
mafiesto4 e0de6744e2 Add better errors logging to BT nodes in case of issues 2023-11-14 11:22:41 +01:00
mafiesto4 7c53b1e99a Add clearing BT memory in non-release builds to make issues spotting easier 2023-11-14 11:22:17 +01:00
mafiesto4 dd579eb099 Merge branch 'GoaLitiuM-freetype_fontstyle' 2023-11-14 10:39:08 +01:00
mafiesto4 0d8868e5bb Merge branch 'freetype_fontstyle' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-freetype_fontstyle 2023-11-14 10:39:01 +01:00
mafiesto4 c0f0bd87aa Fix error in Tabs.SelectedTab
#1932
2023-11-14 10:33:40 +01:00
mafiesto4 f7fb366233 Minor doc updates 2023-11-14 10:31:11 +01:00
mafiesto4 b2f49e2791 Merge branch 'Tryibion-limit-cloth-brush' 2023-11-14 10:30:46 +01:00
mafiesto4 b848c12802 Merge branch 'limit-cloth-brush' of https://github.com/Tryibion/FlaxEngine into Tryibion-limit-cloth-brush 2023-11-14 10:30:27 +01:00
mafiesto4 45cb4eb66d Merge branch 'RuanLucasGD-WakeUp-Rigidboies' 2023-11-14 10:20:50 +01:00
mafiesto4 a42d54e401 Merge branch 'WakeUp-Rigidboies' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-WakeUp-Rigidboies 2023-11-14 10:20:43 +01:00
Tryibion ab5534da7f Add limits to cloth brush values. 2023-11-13 20:38:04 -06:00
Mr. Capybara 05ea803582 add check for GetStartAwake 2023-11-13 20:05:05 -04:00
mafiesto4 eaafb72ca9 Optimize some includes and use automatic serializers for platform settings 2023-11-13 23:54:07 +01:00
Mr. Capybara 4ceed361e2 small fix 2023-11-13 14:28:16 -04:00
Mr. Capybara a9e1568edc Auto WakeUp rigidbodies when set "isKinematic" to false 2023-11-13 14:26:42 -04:00
mafiesto4 348ed463fc Merge branch 'Radiangames-LightThemeTweaks' 2023-11-13 17:17:42 +01:00
mafiesto4 618273977c Minor improvements to code style #1541 2023-11-13 17:17:05 +01:00
mafiesto4 13881c7d97 Merge branch 'LightThemeTweaks' of https://github.com/Radiangames/FlaxEngine into Radiangames-LightThemeTweaks 2023-11-13 17:02:12 +01:00
mafiesto4 97a28d4431 Add security lockers for managed typeinfo access 2023-11-13 15:48:12 +01:00
mafiesto4 46f82aabcd Fix ui navigation regression from 2f9343c236 2023-11-13 14:48:40 +01:00
mafiesto4 c328eabd2a Merge branch 'Tryibion-dropdown-improvements' 2023-11-13 14:46:11 +01:00
mafiesto4 422fb34c69 Rename NumberOfItemsToShow to ShowMaxItemsCount #1826 2023-11-13 14:41:33 +01:00
mafiesto4 c7eaed6c65 Merge branch 'dropdown-improvements' of https://github.com/Tryibion/FlaxEngine into Tryibion-dropdown-improvements 2023-11-13 14:36:18 +01:00
mafiesto4 418918920e Add GetSplineSegmentLength to get spline segment length
#1879
2023-11-13 11:38:37 +01:00
mafiesto4 930b1b978c Fix incorrect spline length calculation if first point is not at spline origin
#1876
2023-11-13 10:25:46 +01:00
mafiesto4 95180f4aa9 Merge branch 'SinnersSum-Flax-SSDev' 2023-11-13 09:52:43 +01:00
mafiesto4 0f14672e3b Codestyle formatting and fixes for #1888 2023-11-13 09:45:33 +01:00
mafiesto4 0fe9f6f439 Merge branch 'Flax-SSDev' of https://github.com/SinnersSum/FlaxEngine into SinnersSum-Flax-SSDev 2023-11-12 21:47:45 +01:00
mafiesto4 cc1e98db3c Bump up build number 2023-11-12 01:06:06 +01:00
mafiesto4 31ce41c5a4 Fix marking scene as dirty when creating prefab from existing actor
#1916
2023-11-11 17:57:54 +01:00
mafiesto4 be90f47585 Documentation improvements from https://github.com/FlaxEngine/FlaxDocs/pull/125 2023-11-11 15:37:12 +01:00
mafiesto4 ddaa5f9161 Fix regression in Custom Editor UI from 74bcf7d9e5
#1616 #1911
2023-11-11 14:47:20 +01:00
GoaLitiuM dc7170c51e Expose Freetype font style flags in FontAsset 2023-11-10 21:32:50 +02:00
mafiesto4 43ae0bcd4c Merge branch 'MineBill-fix-rider-detection' 2023-11-10 16:14:48 +01:00
mafiesto4 252bb680fa Merge branch 'fix-rider-detection' of https://github.com/MineBill/FlaxEngine into MineBill-fix-rider-detection 2023-11-10 16:14:38 +01:00
mafiesto4 beab66e42e Merge branch 'RuanLucasGD-rebuild-navigation' 2023-11-10 15:54:13 +01:00
mafiesto4 c2c0ad8067 Merge branch 'rebuild-navigation' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-rebuild-navigation 2023-11-10 15:08:55 +01:00
mafiesto4 057d1fbcc6 Fix unpacking Float3 and other inbuilt Variant types via Unpack node in Visual Script
#1903
2023-11-10 15:07:37 +01:00
Mr. Capybara 626cde118b Add verification to rebuild navigation 2023-11-10 09:45:46 -03:00
mafiesto4 36daa38e0f Fix CollectionEditor to properly support editing multiple arrays
#1818
2023-11-10 13:23:32 +01:00
MineBill ed69f11121 Don't hardcode appdata path for linux anymore. 2023-11-10 13:58:03 +02:00
mafiesto4 9cd8c02911 Fix NetworkTransform to properly reject local simulation deltas on incoming authoritative transform data
#1907
2023-11-10 11:34:52 +01:00
mafiesto4 7d70a15034 Fix color editing control to properly handle mouse event
#1782
2023-11-10 10:20:21 +01:00
mafiesto4 39a5b8e635 Invert check order 2023-11-10 01:32:24 +01:00
Mr. Capybara 2ae290491e fix build 2023-11-09 14:50:56 -04:00
Mr. Capybara 3c71dc99e0 Rebuild navigation after apply changes in Navigation asset 2023-11-09 14:08:01 -04:00
NoriteSC ea3f02f810 Fix rotacion sheers the UI element 2023-11-09 17:34:51 +01:00
mafiesto4 4ae57e7769 Fix issue with asset loading to be properly canceled when reimporting file
#1894
2023-11-09 14:52:28 +01:00
mafiesto4 22c8ec5342 Fix crash when rigidbody gets deleted during physical collision
#1893
2023-11-09 11:50:48 +01:00
mafiesto4 710b9275fd Fix minor typos https://github.com/FlaxEngine/FlaxDocs/pull/123 2023-11-09 09:13:40 +01:00
mafiesto4 e7844bb5b2 Merge branch 'Menotdan-custom-model-matpv' 2023-11-09 09:10:32 +01:00
mafiesto4 d8a54692f0 Code cleanup #1785 2023-11-09 09:10:25 +01:00
mafiesto4 30ca7d52d0 Merge branch 'custom-model-matpv' of https://github.com/Menotdan/FlaxEngine into Menotdan-custom-model-matpv 2023-11-09 09:06:26 +01:00
mafiesto4 888a8ee7b9 Merge branch 'NoriteSC-Nodes' 2023-11-08 21:30:44 +01:00
mafiesto4 d90b723487 Code cleanup and usability tweaks for #1600 2023-11-08 21:30:31 +01:00
mafiesto4 67c22cf3d4 Merge branch 'Nodes' of https://github.com/NoriteSC/FlaxEngineFork into NoriteSC-Nodes 2023-11-08 21:19:08 +01:00
NoriteSC 6497f3109a Merge branch 'MathLib' of https://github.com/NoriteSC/FlaxEngineFork into MathLib 2023-11-08 18:36:05 +01:00
NoriteSC 6dcadb5131 Compacted UpdateTransform Matrix math 2023-11-08 18:35:27 +01:00
mafiesto4 d6f449820b Merge branch 'RuanLucasGD-ui-usability-improv' 2023-11-08 17:23:23 +01:00
mafiesto4 a6c47ae17b Merge branch 'ui-usability-improv' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-ui-usability-improv 2023-11-08 17:08:23 +01:00
mafiesto4 b3c15d6562 Merge branch 'Tryibion-center-import' 2023-11-08 15:07:44 +01:00
mafiesto4 0fe46457c6 Merge branch 'center-import' of https://github.com/Tryibion/FlaxEngine into Tryibion-center-import 2023-11-08 15:07:38 +01:00
mafiesto4 bcaa42dda2 Fix crash on negative collection capacity due to int32 maximum value limit
#1886
2023-11-08 15:07:20 +01:00
mafiesto4 22fa7a89ac Merge branch 'Tryibion-anim-slot-speed-fix' 2023-11-08 14:43:08 +01:00
mafiesto4 e572f75b06 Merge branch 'anim-slot-speed-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-anim-slot-speed-fix 2023-11-08 14:43:03 +01:00
mafiesto4 11b60390b6 Add GetRotationFromTo and FindBetween utilities to C# Quaternion API
#1885
2023-11-08 14:41:36 +01:00
mafiesto4 1a7770fba2 Fix deadlock regression when saving Visual Script in Editor with active instance objects
#1890
2023-11-08 14:33:05 +01:00
mafiesto4 966fb0275b Add SortScore to Visject node archetypes and use it to favor method overrides in Visual Script 2023-11-08 11:52:31 +01:00
mafiesto4 785d3e8648 Fix Output Log window to scroll log on startup properly 2023-11-08 11:40:57 +01:00
mafiesto4 2f9343c236 Add handling ViewLayersMask from camera when rendering UICanvas
#1811
2023-11-08 11:21:29 +01:00
SS 52a1175f96 Seperated out assembly resolution logic to it's own function 2023-11-07 16:30:50 -07:00
SS 77b6a4a68b Fixed issue in NativeInterop
Readded check in current app domain to ExtendedSerializationBinder
2023-11-07 16:03:03 -07:00
mafiesto4 74bcf7d9e5 Fix custom editor layout rebuilding when it has more editors in use
#1616
2023-11-07 18:30:05 +01:00
mafiesto4 22d754e797 Fix error during new json asset creation via ContentContextMenu if the class is missing empty constructor
#1838
2023-11-07 16:21:56 +01:00
mafiesto4 0d85094ebb Fix error during new json asset creation via ContentContextMenu if the class is missing empty constructor
#1838
2023-11-07 16:21:48 +01:00
mafiesto4 7d43a0cc8b Fix various cases of closing window tabs when using Dock Windows in Editor
#1750
2023-11-07 16:14:09 +01:00
mafiesto4 4c413cb146 Merge branch 'MineBill-editor-list-dragging' 2023-11-07 10:54:23 +01:00
mafiesto4 4238c43f27 Format code #1850 2023-11-07 10:54:11 +01:00
mafiesto4 f163edfb7e Move AssetPickerValidator to Editor Content folder
#1850
2023-11-07 10:24:38 +01:00
mafiesto4 fd4a5595c0 Merge branch 'editor-list-dragging' of https://github.com/MineBill/FlaxEngine into MineBill-editor-list-dragging 2023-11-07 10:21:57 +01:00
mafiesto4 f6645e5600 Add debug drawing contact offset for selected collider
#1728
2023-11-07 09:56:33 +01:00
Tryibion b72849eafe Fix anim slot from playing animations more than 1 time based on speed. 2023-11-06 19:52:19 -06: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
mafiesto4 6648481d12 Improve various doc comments to be more usable as tooltips in Editor 2023-11-07 00:57:18 +01:00
mafiesto4 87a9dedba4 Refactor default ContactOffset for Collider to be 2 (keep 10 for CharacterController)
#1728
2023-11-07 00:56:55 +01:00
mafiesto4 4fdeb773a5 Add hidding Camera properties based on UsePerspective option
#1858
2023-11-07 00:29:29 +01:00
mafiesto4 a90cf7c28f Add better formatting for automatic tooltips in Editor from xml comments 2023-11-07 00:26:14 +01:00
mafiesto4 4b2595e904 Remove tooltips from Camera and use automatic ones from xml comments 2023-11-07 00:19:02 +01:00
mafiesto4 42e8311736 Add engine version in Editor main window title
#1847
2023-11-07 00:13:13 +01:00
mafiesto4 a685918e10 Add default value for material Sphere Mask node to create blob gradient around UV center
#1830
2023-11-06 23:57:54 +01:00
mafiesto4 47ca4228dd Fix compile warning 2023-11-06 20:50:52 +01:00
mafiesto4 7dc645c114 Update Tracy Profiler to 0.10 2023-11-06 20:50:37 +01:00
mafiesto4 c78ce9697c Fix incorrect tabs selection handling when tab gets removed
#1843
2023-11-06 18:14:16 +01:00
mafiesto4 c3d74b690e Fix editor plugins init regression from #1779 and compact more code 2023-11-06 18:13:06 +01:00
mafiesto4 ae85a94261 Fix memory leak while doing drag&drop with Debug Draw in use
#1723
2023-11-06 17:18:20 +01:00
mafiesto4 e7b1fce3eb Merge DoDragDropJob to hsare the same code for Mac and Windows
#1723
2023-11-06 17:03:03 +01:00
mafiesto4 b47420f232 Compact various source code chunks 2023-11-06 16:56:15 +01:00
mafiesto4 c025b4414c Add support for unlimited window size if MaximumSize is set to Zero
#1824
2023-11-06 14:42:29 +01:00
mafiesto4 51c0a6e100 Fix crash regression on Dictionary and HashSet capacity set to 0 when it contains elements 2023-11-06 14:32:04 +01:00
mafiesto4 9a9e32d4c5 Fix incorrect directional light shadows influence on secondary render views
#1758
2023-11-06 14:20:30 +01:00
mafiesto4 1e9ded55b0 Fix missing xml doc 2023-11-06 14:09:39 +01:00
mafiesto4 e22fa20dc1 Minor fixes to #1740 2023-11-06 14:06:10 +01:00
mafiesto4 fe69a52cf2 Merge branch 'RuanLucasGD-add-reload-scenes-button' 2023-11-06 13:55:48 +01:00
mafiesto4 9eb9294e84 Merge branch 'add-reload-scenes-button' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-add-reload-scenes-button 2023-11-06 13:55:43 +01:00
mafiesto4 c53fce18a8 Merge branch 'Chikinsupu-MaterialEditor-RemovedUnsupportedParameterTypes' 2023-11-06 13:54:47 +01:00
mafiesto4 8500667817 Merge branch 'MaterialEditor-RemovedUnsupportedParameterTypes' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-MaterialEditor-RemovedUnsupportedParameterTypes 2023-11-06 13:54:41 +01:00
mafiesto4 40a3911453 Merge branch 'Tryibion-spawn-scalar' 2023-11-06 13:54:23 +01:00
mafiesto4 e57e86cde1 Fix spawned ui canvas scaller to use the same transform as CanvasScaler
#1819
2023-11-06 13:54:01 +01:00
mafiesto4 ad290d0140 Merge branch 'spawn-scalar' of https://github.com/Tryibion/FlaxEngine into Tryibion-spawn-scalar 2023-11-06 13:36:24 +01:00
Tryibion 0930671e90 Cache main panel, cleanup cached variables. 2023-11-06 06:25:17 -06:00
mafiesto4 855122672f Merge branch 'Chikinsupu-Visject-CommentOrder' 2023-11-06 13:09:29 +01:00
mafiesto4 e68330f5b5 Merge branch 'Visject-CommentOrder' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-CommentOrder 2023-11-06 13:09:21 +01:00
mafiesto4 a0d4714a0f Add always logging unhandled c# exception
#1861
2023-11-06 12:23:17 +01:00
mafiesto4 f703e7de77 Fix compile error 2023-11-06 11:05:31 +01:00
mafiesto4 7e6c8b7b32 Codestyle fix #1779 2023-11-06 10:33:11 +01:00
mafiesto4 a55dcf42da Merge branch 'Tryibion-plugin-order' 2023-11-06 09:37:15 +01:00
mafiesto4 23369c2ff3 Merge branch 'plugin-order' of https://github.com/Tryibion/FlaxEngine into Tryibion-plugin-order 2023-11-06 09:37:09 +01:00
mafiesto4 7855049509 Merge branch 'Chikinsupu-Visject-ConvertConstantToParameter' 2023-11-06 08:41:45 +01:00
mafiesto4 d79dd4aaf7 Add undo for Convert to Parameter connections change in #1671 2023-11-06 08:41:36 +01:00
mafiesto4 2c5a5acf33 Add maintaining new param id in undo #1671 2023-11-05 23:30:39 +01:00
mafiesto4 342360f537 Refactor #1671 2023-11-05 23:21:14 +01:00
mafiesto4 3ba8875121 Merge branch 'Visject-ConvertConstantToParameter' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-ConvertConstantToParameter
# Conflicts:
#	Source/Editor/Surface/Archetypes/Constants.cs
2023-11-05 21:43:16 +01:00
mafiesto4 655afb4b90 Merge branch 'GoaLitiuM-editor_binding_fixes' 2023-11-05 21:40:50 +01:00
mafiesto4 f9a9912895 Merge branch 'editor_binding_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-editor_binding_fixes 2023-11-05 21:39:24 +01:00
mafiesto4 bc91b1ed44 Merge branch 'MineBill-fix-color-picker-position' 2023-11-05 21:10:56 +01:00
mafiesto4 6fbf7fa07b Merge branch 'fix-color-picker-position' of https://github.com/MineBill/FlaxEngine into MineBill-fix-color-picker-position 2023-11-05 21:09:49 +01:00
mafiesto4 ea48056699 Merge branch 'Tryibion-ensure-no-layer-popup' 2023-11-05 21:04:43 +01:00
mafiesto4 82d5130261 Merge branch 'ensure-no-layer-popup' of https://github.com/Tryibion/FlaxEngine into Tryibion-ensure-no-layer-popup 2023-11-05 21:04:38 +01:00
mafiesto4 b7e0994932 Merge branch 'Chikinsupu-Visject-MoreAlternativeTitles' 2023-11-05 20:54:22 +01:00
mafiesto4 d13b30304a Merge branch 'Visject-MoreAlternativeTitles' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-MoreAlternativeTitles 2023-11-05 20:54:18 +01:00
mafiesto4 abc340b52c Merge branch 'MineBill-honor-xdg_data_home' 2023-11-05 20:51:36 +01:00
mafiesto4 2dd16c1fb0 Merge branch 'honor-xdg_data_home' of https://github.com/MineBill/FlaxEngine into MineBill-honor-xdg_data_home 2023-11-05 20:51:31 +01:00
mafiesto4 77e6aafc79 Fix crash when not clearing Online Platform in Editor before hot-reload
#1873
2023-11-05 19:36:09 +01:00
mafiesto4 c23f8f2b30 Fix loading delay-loaded-dll on Windows when using project plugin with native dependencies
#1873
2023-11-05 19:35:33 +01:00
MineBill 267e8daba5 Honor the XDG_DATA_HOME env var and use the approved default as per specification. 2023-11-05 19:36:01 +02:00
mafiesto4 c5d3954bc8 Add CalculateBoneOffsetMatrices option to fix some animated model skeletons rendering
#1862
2023-11-05 14:11:28 +01:00
mafiesto4 a7bb236344 Fix Mono GC threads suspend to not deadlock when attaching native threads to managed runtime
#1864
2023-11-05 14:07:05 +01:00
mafiesto4 0387f7df8a Add name to Android main thread 2023-11-04 22:21:52 +01:00
mafiesto4 ca2106ff5d Remove SHADOW_MAPS_FORMAT and support fallback formats for shadow maps 2023-11-04 21:27:57 +01:00
mafiesto4 4a10878b45 Refactor GPUResourceProperty 2023-11-04 20:04:40 +01:00
mafiesto4 22e34cb2b4 Fix crash on editor startup without code editor selected
#1872
2023-11-04 19:30:16 +01:00
mafiesto4 585b6bacad Simplify #1807 2023-11-04 19:26:46 +01:00
mafiesto4 f736aae75d Merge branch 'Tryibion-limit-rename-popup' 2023-11-04 19:23:38 +01:00
mafiesto4 880e13865f Merge branch 'limit-rename-popup' of https://github.com/Tryibion/FlaxEngine into Tryibion-limit-rename-popup 2023-11-04 19:23:32 +01:00
mafiesto4 7072839254 Merge branch 'MineBill-find-interfaces' 2023-11-04 19:22:29 +01:00
mafiesto4 45060721e7 Merge branch 'find-interfaces' of https://github.com/MineBill/FlaxEngine into MineBill-find-interfaces 2023-11-04 19:22:23 +01:00
mafiesto4 87d67a78f4 Merge branch 'RuanLucasGD-add-extended-buttons-linux' 2023-11-04 19:20:45 +01:00
mafiesto4 0ab43dd301 Merge branch 'add-extended-buttons-linux' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-add-extended-buttons-linux 2023-11-04 19:19:29 +01:00
mafiesto4 8c34fe7933 Reduce LargeWorlds::ChunkSize to 8192
#1854
2023-11-04 19:18:21 +01:00
mafiesto4 fe3f64f06a Fix iOS build 2023-11-04 19:15:37 +01:00
mafiesto4 8af3cfd90b Merge remote-tracking branch 'origin/master' 2023-11-04 19:14:55 +01:00
mafiesto4 3bf7b57dbd Fix BitArray::SetAll() when the item is not multiple of 8
#1863
2023-11-04 19:14:45 +01:00
mafiesto4 19752e4f3b Add storing shader asset includes paths in compact format for portability 2023-11-04 15:26:18 +01:00
mafiesto4 50bcbf980e Add SetThreadAffinityMask and SetThreadPriority and thread name for Apple platforms 2023-11-04 14:08:53 +01:00
mafiesto4 236e5772ce Fix CultureInfo to handle missing country code and fallback to outer language code 2023-11-04 13:49:30 +01:00
mafiesto4 6ddf241ea4 Minor improvements to reference properties 2023-11-03 22:40:18 +01:00
mafiesto4 e429e85aae Continue Delegate refactor to use single memory allocation and atomic operations for data access 2023-11-03 22:27:58 +01:00
mafiesto4 224e43ea55 Use soft asset ref to graphics settings
#1852
2023-11-03 19:23:38 +01:00
mafiesto4 6f1ee382b5 Fix regression from 087cfd7a8c on hashset item duplicate re-add 2023-11-03 19:07:16 +01:00
mafiesto4 da72dd4806 Add unit test for HashSet and Dictionary collection types 2023-11-02 19:59:27 +01:00
mafiesto4 087cfd7a8c Refactor HashSet and Dictionary collections capacity to handle rehashing when too many elements were deleted 2023-11-02 19:59:01 +01:00
MineBill 151c6bc6c3 Fix color picker dialog not staying inside the current screen. 2023-11-01 20:07:58 +02:00
mafiesto4 c0a8d29453 Improve Cloth usage 2023-11-01 10:46:47 +01:00
mafiesto4 1a254afd4f Fix crash when creating empty cloth 2023-11-01 10:29:44 +01:00
MineBill f6e9d0431b Implement drag and drop for list collection. 2023-11-01 01:31:42 +02:00
Mr. Capybara 6cfc8c1b1a Add extended buttons support for linux 2023-10-31 14:52:09 -04:00
mafiesto4 536be6c6cf Merge branch 'master' of https://gitlab.flaxengine.com/flax/flaxengine 2023-10-31 16:11:15 +01:00
mafiesto4 b0fe99f1ec Disable mono thread attach to fix current freeze on GC STW event 2023-10-31 16:11:09 +01:00
MineBill df5dc0c284 Extract validation/item handling of AssetPicker in a separate class. 2023-10-31 16:32:57 +02:00
mafiesto4 f9614a4879 Disable capacity alloc on delegate creation 2023-10-31 15:31:40 +01:00
mafiesto4 4e2ee897bc Fix missing codesign for macOS game binaries 2023-10-31 15:22:14 +01:00
mafiesto4 37a6ea9beb Merge remote-tracking branch 'origin/master' 2023-10-31 14:21:00 +01:00
mafiesto4 5ef3f66274 Merge branch 'master' of https://gitlab.flaxengine.com/flax/flaxengine 2023-10-31 14:17:55 +01:00
mafiesto4 1567c1c8d6 Fix Mono AOT on iOS to not freeze during GC stop-the-world event on memory collection 2023-10-31 14:15:35 +01:00
mafiesto4 2d1d8cc310 Fix typo 2023-10-30 18:34:20 +01:00
mafiesto4 1fc972d6ac Fix stall in GC collect on iOS with AOT 2023-10-30 16:45:57 +01:00
MineBill 357148f973 Include interfaces in FindScript. 2023-10-30 08:07:46 +02:00
mafiesto4 f434ff2efe Fix memory overcommitment by HashSet when adding and removing the same item in a loop
#1829
2023-10-29 13:37:05 +01:00
mafiesto4 56c9429e25 Fix spawning prefab without transform provided
#1831
2023-10-29 02:57:59 +02:00
mafiesto4 83a931de7e Fix typo bug in DOF 2023-10-29 01:57:48 +02:00
mafiesto4 9c1a7a20d4 Add volk.h header to distributed build files 2023-10-28 22:10:41 +02:00
mafiesto4 d9c2decff5 Fix crash when contact was not read properly 2023-10-28 20:09:27 +02:00
Tryibion 1fa03a0de2 Fix focus issues to allow panel scroll bar to be clicked and used. 2023-10-28 11:25:14 -05:00
Tryibion 590f3f7493 Fix Dropdown scaling with CanvasScalar. Add limiting number of items to show in the dropdown. 2023-10-28 10:29:39 -05:00
mafiesto4 9f3221c533 Remove unused include 2023-10-28 14:02:25 +02:00
mafiesto4 468c93949e Fix crash when creating empty particle emitter 2023-10-28 14:01:44 +02:00
mafiesto4 b028faf0cc Update assets 2023-10-28 13:52:23 +02:00
mafiesto4 a95c9059aa Update build number 2023-10-28 13:49:05 +02:00
mafiesto4 615b6470e5 Fix iOS project path if it contains whitespace chars 2023-10-28 11:44:11 +02:00
Tryibion 90642b8862 Spawn canvas scalar on canvas creation. 2023-10-27 13:25:50 -05:00
Ari Vuollet 900e6338d6 Fix wrong variable name
Co-authored-by: NoriteSC <53096989+NoriteSC@users.noreply.github.com>
2023-10-27 19:21:21 +03:00
mafiesto4 70a06c5db3 Update build number and add revision field for future patches 2023-10-26 15:21:01 +02:00
mafiesto4 d9b0e99b9c Add support for using Revision number in projects version 2023-10-26 15:20:35 +02:00
mafiesto4 1d41aa01ce Refactor vertex shaders to use GPUShaderProgramVS::InputElement for input layout data 2023-10-26 14:36:02 +02:00
mafiesto4 186e13b5e8 Add support for runtime running on GPU without Compute Shaders support 2023-10-26 14:33:21 +02:00
mafiesto4 bfaa292b04 Fix invoking managed method on value types (eg. Transform) to properly handle instance value
#1801
2023-10-26 11:37:37 +02:00
mafiesto4 f44421b7a7 Optimize managed method invoke on NetCore to skip virtual call that is the same as default one 2023-10-26 11:25:30 +02:00
mafiesto4 2158fa7358 Remove not needed end line in script template 2023-10-25 23:34:29 +02:00
Tryibion 18c119c155 Ensure layer confirmation does not popup in play mode. 2023-10-25 16:25:26 -05:00
mafiesto4 c27187bd0a Fix deserializing vector types in Editor from ToString FormatException
#1802
2023-10-25 19:17:04 +02:00
Tryibion 8c6ced4bb9 Limit the scene tree and prefab tree rename popup to only go to panel right edge. 2023-10-25 11:38:14 -05:00
mafiesto4 966cd973c6 Add GetHash to various math/core types
#1802
2023-10-25 18:35:59 +02:00
Tryibion 66a709f09e small fixes 2023-10-25 10:46:04 -05:00
Tryibion bfaae46c7e remove not needed variable. 2023-10-25 10:35:12 -05:00
Tryibion b8921fd990 clean up 2023-10-25 09:58:02 -05:00
Tryibion 73694cba6c Add being able to set origin of mesh to the local mesh origin. fix centering several meshes. 2023-10-25 09:57:51 -05:00
mafiesto4 fa836c50a0 Merge branch 'MineBill-messagebox' 2023-10-25 14:58:56 +02:00
mafiesto4 a5d16b49e9 Merge branch 'messagebox' of https://github.com/MineBill/FlaxEngine into MineBill-messagebox 2023-10-25 14:58:51 +02:00
mafiesto4 9a6bce144b Merge branch 'solnem-feat/improved-camera-settings' 2023-10-25 14:58:14 +02:00
mafiesto4 daf31cfa4d Format code #1611 2023-10-25 14:57:44 +02:00
Nils Hausfeld 1f8da14780 - Alternative titles for comparisons 2023-10-25 11:53:43 +02:00
Nils Hausfeld cfe717969b Merge branch 'master' into Visject-MoreAlternativeTitles 2023-10-25 11:46:09 +02:00
NoriteSC 210c5a5bb2 Merge branch 'FlaxEngine:master' into Nodes 2023-10-25 07:03:46 +02:00
NoriteSC 137c82a387 Update Material.cs 2023-10-25 06:21:19 +02:00
Mr. Capybara b2db1330c0 copy old control data to new control when set UIControl type 2023-10-24 21:45:00 -04:00
GoaLitiuM 06f37794c2 Add input bindings for game window mouse unlock and toggle fullscreen 2023-10-24 22:27:12 +03:00
GoaLitiuM 081648ef06 Fix common tooltips with hardcoded keybindings 2023-10-24 21:47:18 +03:00
MineBill 6f773bd558 Make the message box a TASKMODEL to prevent interation with the editor. 2023-10-24 18:03:07 +03:00
mafiesto4 7c84ca5b84 Merge branch 'feat/improved-camera-settings' of https://github.com/solnem/FlaxEngine into solnem-feat/improved-camera-settings 2023-10-24 14:50:52 +02:00
mafiesto4 806590d1c3 Fix deadlock in scene loading
#1761 #1773
2023-10-24 14:08:34 +02:00
Menotdan 8982961254 Add custom material option to Material Preview. 2023-10-23 22:10:17 -04:00
mafiesto4 ba374a27db Reduce code bloat 2023-10-23 22:26:55 +02:00
mafiesto4 9d1ba6cacf Fix compilation errors when building with old Delegate impl 2023-10-23 22:10:21 +02:00
mafiesto4 ea0094870c Merge branch 'Tryibion-particle-loop-fix' 2023-10-23 18:46:15 +02:00
mafiesto4 2220623cd2 Merge branch 'particle-loop-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-particle-loop-fix 2023-10-23 18:45:30 +02:00
mafiesto4 aed81b58ba Update readme 2023-10-23 16:00:23 +02:00
mafiesto4 9c4382dffb Fix using dock window panels on macOS in Editor 2023-10-23 15:59:09 +02:00
mafiesto4 f28947f59b Fix MacWindow::SetClientBounds to include screen scale 2023-10-23 14:50:10 +02:00
Tryibion 2e85ff0fb3 Simplify code 2023-10-22 22:19:51 -05:00
Tryibion fbaf14b6fa Add to be able to specify order of plugin initialization and deinitialization. 2023-10-22 21:58:20 -05:00
mafiesto4 6ff3e0f488 Various improvements to macOS platform 2023-10-22 20:06:54 +02:00
mafiesto4 ccf6c28b02 Add interval to Apple autoreleasepool 2023-10-22 19:55:20 +02:00
mafiesto4 c88e184df3 Fix crash when window gets removed during windows update loop 2023-10-22 15:56:25 +02:00
mafiesto4 1280e61af0 Add IsDebuggerPresent for macOS and iOS platforms 2023-10-22 15:33:21 +02:00
mafiesto4 9fa0b174f5 Fix deprecation warnings on Apple 2023-10-22 15:32:56 +02:00
Nils Hausfeld ea00a448ef - Minor cleanup 2023-10-22 12:54:14 +02:00
Nils Hausfeld 7b2058d1b2 - Added alternative titles to some nodes 2023-10-22 12:37:51 +02:00
Tryibion 78aae0da5a Better handling stopping/resetting non-looping effect. 2023-10-21 17:22:02 -05:00
Tryibion 7d9991999d Better fix. 2023-10-21 14:08:23 -05:00
Tryibion ad15c5b2fc Fix particles effect not being able to just call play if islooped is false. 2023-10-21 13:36:39 -05:00
Nils Hausfeld ba31627ae0 Merge remote-tracking branch 'upstream/master' into Visject-CommentOrder 2023-10-21 16:06:44 +02:00
Nils Hausfeld ec7840f36b - New comments now get spawned on top of other comments
- Commenting other comments now puts the spawned comment below the child comments
- Added Order Value to comments to serialize order
- Added backwards compatiblity to older editor versions
- Cleanup
- XML Comments
2023-10-21 16:06:28 +02:00
mafiesto4 21f2e59d12 Add drag&drop support to macOS 2023-10-21 15:36:38 +02:00
mafiesto4 dcbc917b7d Add local util script to ignored on macOS 2023-10-21 15:13:36 +02:00
Nils Hausfeld fa8b92a456 Adding the ability to order comments in visject 2023-10-21 14:18:30 +02:00
Nils Hausfeld 432f6d5402 Merge branch 'master' into Visject-ConvertConstantToParameter 2023-10-21 13:11:51 +02:00
Nils Hausfeld 571f8febf4 - Moved convertible node file out of archetypes folder into surface folder to be more in line of the project structure (other special nodes like surfacecomment are also just in the surface folder)
- Cleanup
2023-10-21 13:11:42 +02:00
mafiesto4 08a6a2b6dc Fix potential crashes on macOS due to missing window inside view event 2023-10-21 13:04:33 +02:00
mafiesto4 ba39938ed5 Update Flax icon for macOS to match design guidelines 2023-10-21 12:44:43 +02:00
mafiesto4 ab49457944 Add log for build command invoke in deployer 2023-10-21 12:44:25 +02:00
Nils Hausfeld c371a5b78c - Removed Quaternion and Transform from material parameter types since they are not supported 2023-10-20 12:55:54 +02:00
mafiesto4 3188798152 Merge branch 'MineBill-remember-hierarchy-expanded' 2023-10-20 12:33:15 +02:00
mafiesto4 5cafe1c328 Merge branch 'remember-hierarchy-expanded' of https://github.com/MineBill/FlaxEngine into MineBill-remember-hierarchy-expanded 2023-10-20 12:33:08 +02:00
mafiesto4 ad7c7d7360 Merge branch 'MineBill-fix-module-names' 2023-10-20 12:29:06 +02:00
mafiesto4 70200b5608 Merge branch 'fix-module-names' of https://github.com/MineBill/FlaxEngine into MineBill-fix-module-names 2023-10-20 12:29:00 +02:00
mafiesto4 e796d9ea6f Further improve a989173e2d 2023-10-20 11:22:22 +02:00
mafiesto4 a5aaa92d62 Bump up build number 2023-10-20 00:28:28 +02:00
mafiesto4 4e9a739a52 Update GPU particle emitter graph version after recent changes 2023-10-20 00:28:13 +02:00
MineBill 7906e26fe0 Limit what characters module names can contain. 2023-10-20 00:19:32 +03:00
mafiesto4 770d21566a Add macOS disk image notarization 2023-10-19 23:13:05 +02:00
mafiesto4 418e220c00 Add proper codesigning for the Editor app for macOS 2023-10-19 22:40:42 +02:00
mafiesto4 9f98a5304f Merge remote-tracking branch 'origin/master' 2023-10-19 19:13:18 +02:00
mafiesto4 a8f961c438 Add cook&run support for macOS and Linux 2023-10-19 19:09:32 +02:00
mafiesto4 2bb8c82329 Add support for packaging editor with bundled platform data 2023-10-19 19:09:06 +02:00
Mr. Capybara 70ccc79d54 change button order 2023-10-19 12:33:23 -04:00
MineBill c773c3e8fc Collapse/Expand all node in the tree if the user is pressing the Alt key. 2023-10-19 18:55:58 +03:00
MineBill 2f3685c161 Use PrefabObjectID when setting/getting the actor expanded value for prefabs. 2023-10-19 18:43:13 +03:00
Nils Hausfeld 7cb4d27979 - Minor cleanup and comments 2023-10-19 17:23:34 +02:00
Nils Hausfeld fdda42e504 Merge remote-tracking branch 'upstream/master' into Visject-ConvertConstantToParameter 2023-10-19 17:09:49 +02:00
mafiesto4 0ea00a09ca Fix regression from 3e7368b1cb to remove scene lock when spawning actors in async
#1743
2023-10-19 15:29:26 +02:00
mafiesto4 a989173e2d Fix UnitsToText to properly print string with 2 decimal places 2023-10-19 15:16:14 +02:00
mafiesto4 6f60218bec Optimize various rendering stages to skip loading shader when effect is disables 2023-10-19 15:07:03 +02:00
Nils Hausfeld 4efbed91a4 - Fixed a bug where the wrong boxes got connected
- Cleanup
2023-10-19 14:34:10 +02:00
mafiesto4 c0fa858dd0 Fix warning on missing windows layout file when loading default layout 2023-10-19 14:25:37 +02:00
Nils Hausfeld ad6affc863 - More cleanup 2023-10-19 14:17:28 +02:00
Nils Hausfeld aafdc64b68 - Cleanup
- Typo
2023-10-19 14:14:51 +02:00
Nils Hausfeld 41a7aff6d7 - Converting to parameter now also works in Particle and Visual Scripting editor 2023-10-19 14:10:10 +02:00
Nils Hausfeld 9bd002ea33 Merge remote-tracking branch 'upstream/master' into Visject-ConvertConstantToParameter 2023-10-19 14:03:10 +02:00
Nils Hausfeld 3afb6cc88e - Renamed ConstantNode to ConvertableNode
- Moved ConvertableNode into it's own class
- Added support for custom conversion code (currently only used by rotation)
- Added support for Texture, Normal Map, Cube Texture, Uint, Double, String, Quaternion/Rotation
2023-10-19 14:02:46 +02:00
Mr. Capybara b2ba40b082 Add button to reload scenes 2023-10-18 20:34:39 -04:00
mafiesto4 6c45141ef9 Add dmg file building for macOS Editor deployment 2023-10-18 22:10:46 +02:00
mafiesto4 f373c867a7 Improve Game Cooker label text when platform data is missing 2023-10-18 21:57:35 +02:00
mafiesto4 5181db8a0e Fix vscode default build task to favor current architecture (eg. arm64 for Editor on macOS) 2023-10-18 21:51:36 +02:00
Nils Hausfeld 2537855aa3 Merge branch 'master' into Visject-ConvertConstantToParameter 2023-10-18 18:33:08 +02:00
mafiesto4 55ad5ae367 Build Editor bindings only when generating editor project files
#1734 #1569
2023-10-18 16:17:19 +02:00
mafiesto4 24790b18ce Fix typo in shader 2023-10-18 12:56:48 +02:00
mafiesto4 8b096a9286 Fixes 2023-10-18 10:52:36 +02:00
mafiesto4 2d0eabc8be Fix deadlock in Foliage::GetFoliageTypeInstancesCount
#1724
2023-10-17 23:20:30 +02:00
mafiesto4 387e30a1dc Fix compilation regression 2023-10-17 23:13:05 +02:00
mafiesto4 52a621de42 Add color, emissive and opacity parameters setup for auto-imported material instances 2023-10-17 22:45:22 +02:00
mafiesto4 c457087612 Optimize memory allocation when using Sprite size during 2D rendering 2023-10-17 22:44:15 +02:00
mafiesto4 1cbf867fc7 Hide build scenes data toolbar button when none action is set and fix tooltip for cook and run action
#1731
2023-10-17 22:43:43 +02:00
mafiesto4 8d9f4d72f5 Various stability improvements for Editor 2023-10-17 22:42:47 +02:00
mafiesto4 90427da42f Add SubAssetFolder to model import option to redirect auto-imported materials and textures location 2023-10-17 09:59:21 +02:00
mafiesto4 cebae5c4e1 Add foreach loop support to Span type 2023-10-17 09:53:48 +02:00
mafiesto4 d92c7af2cf Fix debug file access race-conditions when importing many materials at once 2023-10-17 09:53:06 +02:00
Nils Hausfeld 447030f53a - Spawned get parameter node now reconnects to all boxes from the converted node 2023-10-16 20:19:18 +02:00
Nils Hausfeld a96445d8bb Merge branch 'master' into Visject-ConvertConstantToParameter 2023-10-16 19:34:22 +02:00
mafiesto4 582cf94198 Fix setting up prefab objects ids mapping for nested prefabs to link cross-object references correctly 2023-10-16 16:37:44 +02:00
mafiesto4 3e7368b1cb Fix HandleObjectDeserializationError to be editor or dev only and thread-safe 2023-10-16 16:36:52 +02:00
mafiesto4 30d510f073 Fix models in toolbox 2023-10-16 16:34:55 +02:00
mafiesto4 50d47fe801 Fix asset load to trigger loading task within mutex to prevent race conditions when loading the same prefab from many threads at once 2023-10-16 16:10:57 +02:00
mafiesto4 036ad570cd Fix warning when dotnet cache file is missing 2023-10-16 11:20:49 +02:00
mafiesto4 d25954725f Add excluding GPU swapchain present time from CPU draw time in profiling tool 2023-10-16 10:58:07 +02:00
mafiesto4 db6b98ecd1 Add ProfilerGPU.Enabled to manually toggle GPU timings 2023-10-16 10:29:44 +02:00
mafiesto4 ad2bd2ce51 Merge branch 'nothingTVatYT-master' 2023-10-16 10:03:23 +02:00
mafiesto4 0c6e2935d1 Merge branch 'master' of https://github.com/nothingTVatYT/FlaxEngine into nothingTVatYT-master 2023-10-16 10:03:16 +02:00
nothingTVatYT 48a5fe54e8 keep auto-close for non-Linux platforms 2023-10-16 01:13:06 +02:00
nothingTVatYT c42a264944 removed a left over debug statement 2023-10-16 01:08:47 +02:00
nothingTVatYT d1b2b64cd1 fix color picker (signal handler + alpha channel) 2023-10-15 21:43:15 +02:00
mafiesto4 88f718709b Add data sent/receive rate charts to the network profiler in Editor 2023-10-15 20:13:34 +02:00
mafiesto4 148ced5a55 Fix compilation 2023-10-15 19:04:35 +02:00
mafiesto4 e4941e5b00 Add asset loading task state check on fail 2023-10-15 18:46:15 +02:00
mafiesto4 8f941c3679 Merge branch 'Vizepi-master' 2023-10-15 18:08:35 +02:00
mafiesto4 c511ea6d23 Merge branch 'master' of https://github.com/Vizepi/FlaxEngine into Vizepi-master 2023-10-15 18:08:20 +02:00
GoaLitiuM bcdd6c0551 Fix FlaxEngine C#-project getting built twice in engine solution 2023-10-15 16:16:53 +03:00
GoaLitiuM ff7e6d82f8 Hide exception when build errors occurs in referenced targets 2023-10-15 16:16:53 +03:00
GoaLitiuM 5b3e09baec Build C# projects in VS/Rider solution configurations
Rider's solution wide analysis does not work properly when projects
are not included in the active configuration for build.
2023-10-15 16:16:53 +03:00
GoaLitiuM 0d7e7c30ca Run Flax.Build when building main C# project 2023-10-15 16:16:53 +03:00
Vizepi 00dc5d44d4 #1716 Do not rebuild contexts twice in a row 2023-10-15 12:24:25 +02:00
mafiesto4 f8f1a66ab9 Fix multi-line logs on Windows regression from cf94cd937a 2023-10-15 10:12:33 +02:00
mafiesto4 22395ce9c3 Merge branch 'GoaLitiuM-delay_dirty_rebuild' 2023-10-15 09:57:56 +02:00
mafiesto4 ab6acbc759 Merge branch 'delay_dirty_rebuild' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-delay_dirty_rebuild 2023-10-15 09:57:47 +02:00
GoaLitiuM 660c0660e2 Delay compiler and project generation after large file operations 2023-10-14 20:52:56 +03:00
mafiesto4 2f3929efe0 Fix Height Layer Blend material node codegen when alpha is constant
#1705
2023-10-14 18:03:51 +02:00
mafiesto4 e51aab0c56 Minor improvements 2023-10-14 18:03:21 +02:00
mafiesto4 eb430b05be Fx regression from #1474 that was causing incorrect checks for IsZero/IsOne in ShaderGraphValue 2023-10-14 18:00:53 +02:00
mafiesto4 96b87ea41a Merge branch 'Menotdan-missing_script_replacement' 2023-10-14 16:49:21 +02:00
mafiesto4 a87eaf82f0 Code style fix 2023-10-14 16:49:09 +02:00
mafiesto4 65a02fc9fd Merge branch 'missing_script_replacement' of https://github.com/Menotdan/FlaxEngine into Menotdan-missing_script_replacement 2023-10-14 16:35:14 +02:00
mafiesto4 3f4ae38291 Merge branch 'GoaLitiuM-delete_content_fix' 2023-10-14 16:34:27 +02:00
mafiesto4 9c5d03164f Merge branch 'delete_content_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-delete_content_fix 2023-10-14 16:34:22 +02:00
mafiesto4 b32a4b5c84 Merge branch 'GoaLitiuM-async_project_regen_fix' 2023-10-14 16:33:11 +02:00
mafiesto4 fc9490ca4c Merge branch 'async_project_regen_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-async_project_regen_fix 2023-10-14 16:32:42 +02:00
mafiesto4 40c0a30039 Merge branch 'GoaLitiuM-vscode_launch_tasks' 2023-10-14 16:31:03 +02:00
mafiesto4 37e3a91b73 Merge branch 'vscode_launch_tasks' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-vscode_launch_tasks 2023-10-14 16:30:57 +02:00
mafiesto4 075431385a Merge branch 'GoaLitiuM-csharp_optimize_module_fix' 2023-10-14 16:30:23 +02:00
mafiesto4 71a19eac29 Merge branch 'csharp_optimize_module_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-csharp_optimize_module_fix 2023-10-14 16:30:16 +02:00
mafiesto4 bedc492ce7 Merge branch 'GoaLitiuM-physx_oncontact_fix' 2023-10-14 16:30:03 +02:00
mafiesto4 ab25b6a258 Merge branch 'physx_oncontact_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-physx_oncontact_fix 2023-10-14 16:29:54 +02:00
GoaLitiuM a3d44e0fee Prevent project file regeneration running while compiling scripts 2023-10-14 17:29:03 +03:00
mafiesto4 69d84eb20f Merge branch 'Tryibion-debug-view-cm' 2023-10-14 16:28:44 +02:00
mafiesto4 f1575da171 Merge branch 'debug-view-cm' of https://github.com/Tryibion/FlaxEngine into Tryibion-debug-view-cm 2023-10-14 16:28:39 +02:00
GoaLitiuM 0c23b76456 Fix error when deleting multiple files and no folders selected 2023-10-14 17:28:21 +03:00
mafiesto4 e0c48ba749 Merge branch 'NoriteSC-Fix-GizmoSize' 2023-10-14 16:28:00 +02:00
mafiesto4 bdacf960d0 Merge branch 'Fix-GizmoSize' of https://github.com/NoriteSC/FlaxEngineFork into NoriteSC-Fix-GizmoSize 2023-10-14 16:26:27 +02:00
mafiesto4 dcc28113a4 Merge branch 'GoaLitiuM-win_minimize_pos_fix' 2023-10-14 16:23:38 +02:00
mafiesto4 4b803feb11 Merge branch 'win_minimize_pos_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-win_minimize_pos_fix 2023-10-14 16:23:28 +02:00
mafiesto4 a5f00ed624 Fix NavCrowd to properly wait for navmesh loaded 2023-10-14 16:21:42 +02:00
mafiesto4 060bff1bdb Fix leftover separator in context menu in Content Window in some locations 2023-10-14 16:21:10 +02:00
mafiesto4 e4b89e1bad Fix plugins initialization order to properly unload scenes before them in cooked game 2023-10-14 16:20:27 +02:00
GoaLitiuM dca6baee49 Use and store restored window position after minimizing the window 2023-10-14 16:44:21 +03:00
mafiesto4 7904690ecf Cleanuo some old code style 2023-10-14 14:00:58 +02:00
Tryibion 7b984396cc Add not to close Debug View CM on button clicked. 2023-10-13 20:52:26 -05:00
GoaLitiuM dc1be86db7 Only generate one set of C++/C# launch tasks for VSCode
Proper fix for b9c6dcd4c7
2023-10-14 03:45:37 +03:00
GoaLitiuM 8548df4a1b Fix crash when physics actor contact is lost with another actor 2023-10-14 02:34:15 +03:00
GoaLitiuM 7014007362 Disable inheriting C# optimization level from dependency modules 2023-10-14 01:45:36 +03:00
mafiesto4 1a5606a45c Improve collision data cooking usability
#1687
2023-10-13 23:33:03 +02:00
mafiesto4 887d2b2115 Fix incorrect animated model bounds update 2023-10-13 23:32:44 +02:00
mafiesto4 1b48663f76 Merge branch 'GoaLitiuM-textbox_escape_fix' 2023-10-13 20:42:32 +02:00
GoaLitiuM 2d5ad297a5 Fix error when hitting escape in read-only textboxes 2023-10-13 19:57:32 +03:00
mafiesto4 18bf005654 Merge branch 'GoaLitiuM-vscode_prelaunch_task_fix' 2023-10-13 16:58:30 +02:00
mafiesto4 7e5c6caffa Merge branch 'vscode_prelaunch_task_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-vscode_prelaunch_task_fix 2023-10-13 16:58:23 +02:00
mafiesto4 702356f1e4 Missing change for c01614b8f5 and regression from 88eca13eb3 2023-10-13 16:58:02 +02:00
mafiesto4 c01614b8f5 Fix build regression from 7180080f19 2023-10-13 16:09:18 +02:00
mafiesto4 7180080f19 Refactor FileMode, FileAccess, FileShare enums into normal enums with docs 2023-10-13 15:44:47 +02:00
mafiesto4 9a636468e0 Fix crash when importing assets in Editor (race-condition from Content Importer thread)
#1691 #1679
2023-10-13 15:44:18 +02:00
mafiesto4 abd6881d7b Fix removing large amount of assets in Editor at once
#1484
2023-10-13 15:43:11 +02:00
mafiesto4 cf94cd937a Fix logging performance and crashes on non-Windows platforms
#662
2023-10-13 14:41:45 +02:00
mafiesto4 03c120ba69 Fix double engine assembly init in Editor 2023-10-13 14:26:33 +02:00
mafiesto4 db52be5936 Fix crash when item is already in a view
#1679
2023-10-13 11:31:43 +02:00
mafiesto4 d0fbf12b92 Fix editor tabs control size for tab header when scroll bar is visible
#1135
2023-10-13 11:16:34 +02:00
mafiesto4 6cd45a58f8 Fix preserving editor minimized floating windows in saved layout
#1135
2023-10-13 11:03:45 +02:00
NoriteSC 13686ae13f Fix 436 and 1251 2023-10-13 00:20:34 +02:00
mafiesto4 fe49811779 Fix linux build 2023-10-12 23:42:17 +02:00
mafiesto4 84d615935e Fix crash when updating GPU particle system without view buffers allocated
#1683
2023-10-12 23:39:39 +02:00
mafiesto4 fdd6b171bb Stability fixes 2023-10-12 23:12:53 +02:00
mafiesto4 74a69b8f13 Fix running game in non-ANSI path
#480
2023-10-12 22:29:48 +02:00
mafiesto4 677cd4e382 Fix build regression from 6f7f22eb47 2023-10-12 22:29:11 +02:00
mafiesto4 88eca13eb3 Add default font bundling (optional) and setup UI Style to match editor logic
#641
2023-10-12 22:28:40 +02:00
mafiesto4 830a810556 Merge branch 'GoaLitiuM-vs_open_file_fix' 2023-10-12 20:05:39 +02:00
mafiesto4 fcb60fbefb Merge branch 'vs_open_file_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-vs_open_file_fix 2023-10-12 20:02:58 +02:00
mafiesto4 2414abf183 Fix particle attributes usage in GPU emitter function
#1640
2023-10-12 20:01:30 +02:00
mafiesto4 d52412c5c3 Fix particle emitter function cache clearing for GPU shader generation
#1640
2023-10-12 19:55:50 +02:00
Menotdan cfdbf75759 Merge branch 'FlaxEngine:master' into missing_script_replacement 2023-10-12 13:13:11 -04:00
mafiesto4 6f7f22eb47 Add outputting shader source code in Editor to text file when compilation fails for debugging 2023-10-12 18:57:27 +02:00
Menotdan a7b2230ef4 Remove unneeded using 2023-10-12 12:23:18 -04:00
Menotdan a8260ed8b6 Fixed Serialization Transfer. 2023-10-12 12:00:27 -04:00
mafiesto4 5b5f43714e Fix invalid particle attributes access inside emitter function
#1640
2023-10-12 17:55:49 +02:00
GoaLitiuM 602936b2bc Fix opening plugin project files in Visual Studio 2023-10-12 18:41:25 +03:00
mafiesto4 8af2f458d7 Fix missing particle layout attributes when using Particle Emitter Function
#1640
2023-10-12 17:39:42 +02:00
GoaLitiuM b9c6dcd4c7 Fix wrong Visual Studio Code preLaunchTask in launch tasks 2023-10-12 16:37:32 +03:00
mafiesto4 bd4127676b Merge branch 'GoaLitiuM-editor_camera_transform_fix' 2023-10-12 15:26:50 +02:00
mafiesto4 daaba49e26 Merge branch 'editor_camera_transform_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-editor_camera_transform_fix 2023-10-12 15:26:45 +02:00
mafiesto4 4f24d53984 Merge branch 'GoaLitiuM-deprecation_messages' 2023-10-12 15:25:17 +02:00
mafiesto4 2f795c6559 Merge branch 'deprecation_messages' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-deprecation_messages 2023-10-12 15:25:12 +02:00
mafiesto4 74041e1322 Merge branch 'Tryibion-value-bo-slide-focus' 2023-10-12 15:24:51 +02:00
mafiesto4 51da322e48 Merge branch 'value-bo-slide-focus' of https://github.com/Tryibion/FlaxEngine into Tryibion-value-bo-slide-focus 2023-10-12 15:24:45 +02:00
mafiesto4 8be325d704 Merge branch 'RuanLucasGD-terrain_gizmo_improv' 2023-10-12 15:20:45 +02:00
mafiesto4 4ca8198478 Merge branch 'terrain_gizmo_improv' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-terrain_gizmo_improv 2023-10-12 15:20:38 +02:00
mafiesto4 455b3f2446 Fix XAudio2 playback when seeking audio start play location 2023-10-12 15:20:23 +02:00
mafiesto4 4ac65ee91c Fix audio preview for multi-channel audio clips 2023-10-12 14:31:41 +02:00
mafiesto4 69fb2c331f Minor improvements to audio 2023-10-12 14:03:43 +02:00
mafiesto4 2671e3881f Add Spacebar to toggle play/pause in Audio Clip window 2023-10-12 14:03:13 +02:00
mafiesto4 749c0cacb4 Fix audio playback in XAudio2 when clip is 3D but source is 2D 2023-10-12 13:11:07 +02:00
mafiesto4 b19bf57dfb Add logging any XAudio2 backed errors 2023-10-12 13:10:34 +02:00
mafiesto4 0175186c27 Improve #1627 to return proper anim length 2023-10-12 12:17:55 +02:00
mafiesto4 866ef896b2 Merge branch 'Tryibion-anim-fix' 2023-10-12 12:12:09 +02:00
mafiesto4 0280fa4f9b Merge branch 'anim-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-anim-fix 2023-10-12 12:12:01 +02:00
mafiesto4 b1ad2c3a02 Fix sprite shadow to match the sprite facing camera
#1504
2023-10-12 12:10:21 +02:00
Menotdan 318f9e5b77 Fix duplicated script replacement. 2023-10-12 01:33:22 -04:00
Menotdan 7742f2d8d4 Add debugging logs. 2023-10-12 01:26:25 -04:00
Menotdan 3d2363ea5c Merge remote-tracking branch 'origin/master' into missing_script_replacement 2023-10-12 01:26:20 -04:00
Menotdan 2b0db40c17 Add basic replacement functionality- replacing adds multiple copies on child actors, however. 2023-10-12 01:22:59 -04:00
Ruan Lucas e97ec74bf8 clean code 2023-10-11 18:37:04 -04:00
Tryibion 28d6fe84ef Small change 2023-10-11 16:17:59 -05:00
Tryibion 8eb9df9a18 Change new anim port to TryGetBox. 2023-10-11 15:57:02 -05:00
Tryibion f2c9ba5a00 Focus parent on value box slide end. 2023-10-11 15:33:32 -05:00
GoaLitiuM 02a219a376 Fix Editor viewport camera transformation getting corrupted when focused 2023-10-11 21:45:07 +03:00
GoaLitiuM 3ed28998e9 Add more descriptive deprecation messages 2023-10-11 21:38:33 +03:00
Nils Hausfeld dcec847d50 - Basic constants can now be converted to parameters 2023-10-11 20:01:56 +02:00
mafiesto4 fa96707c57 Fix crash when implementing INetworkSerializable in C#-only
#1664
2023-10-11 18:39:51 +02:00
mafiesto4 8f3a5bd74a Improve ObjectsRemovalService to handle newly added objects removing 2023-10-11 17:41:35 +02:00
mafiesto4 6dd9f0f036 Improve #1667 to log exception 2023-10-11 17:25:32 +02:00
mafiesto4 97f1572a78 Merge branch 'Menotdan-fix-removing-scripts' 2023-10-11 17:22:06 +02:00
mafiesto4 a0ada24764 Merge branch 'fix-removing-scripts' of https://github.com/Menotdan/FlaxEngine into Menotdan-fix-removing-scripts 2023-10-11 17:22:01 +02:00
mafiesto4 2067c73401 Merge branch 'MineBill-popup-fix' 2023-10-11 17:17:51 +02:00
mafiesto4 dad3e1f77d Revert f1d57e47cb in favor of #1670 2023-10-11 17:17:46 +02:00
mafiesto4 c853b404d6 Merge branch 'popup-fix' of https://github.com/MineBill/FlaxEngine into MineBill-popup-fix 2023-10-11 17:15:14 +02:00
MineBill 1986f2b58b Only set WS_CAPTION if the window is a regular window 2023-10-11 17:06:16 +03:00
mafiesto4 af468ee6ae Fix scripting interop in AOT mode to use reflection-based field access 2023-10-11 15:18:28 +02:00
mafiesto4 b92345c3ef Fix crash when running async C# code with Mono 2023-10-11 12:36:49 +02:00
mafiesto4 bc762761dd Fix engine when used without C# scripting at all 2023-10-11 12:35:27 +02:00
mafiesto4 cbdd6c4964 Add HasDepthClip to GPU Device limits 2023-10-11 10:15:44 +02:00
Menotdan a7937c2b2e Fixed script serialization failures from removing scripts. 2023-10-10 19:12:21 -04:00
mafiesto4 ac542bf920 Fix FieldHelper.GetFieldOffset crash for classes with const fields (compile-time)
Inline call in `CreateScriptingObject` for perf
2023-10-10 20:52:12 +02:00
mafiesto4 902c82ae1e Add pixel format logging when not supported for shadow map 2023-10-10 20:22:53 +02:00
Ruan Lucas 7fcb0a1da7 change terrain brush size with scroll 2023-10-10 10:46:47 -04:00
mafiesto4 ccf3469307 Minor Vulkan tweaks 2023-10-10 14:17:34 +02:00
mafiesto4 3ac7c4e0ee Codestyle fix 2023-10-09 23:21:02 +02:00
mafiesto4 69e973b837 Merge branch 'Chikinsupu-AnimationSampleNode-AnimationAssetReferencePort' 2023-10-09 22:25:03 +02:00
mafiesto4 dafc8a61c1 Merge branch 'AnimationSampleNode-AnimationAssetReferencePort' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-AnimationSampleNode-AnimationAssetReferencePort 2023-10-09 22:24:57 +02:00
mafiesto4 d2594c05ab Merge branch 'nothingTVatYT-fix-linux-open-files-dialog' 2023-10-09 22:22:36 +02:00
mafiesto4 d6d18e93e0 Merge branch 'fix-linux-open-files-dialog' of https://github.com/nothingTVatYT/FlaxEngine into nothingTVatYT-fix-linux-open-files-dialog 2023-10-09 22:22:25 +02:00
mafiesto4 00a03beb78 Optimize Half2 conversion in Render2D 2023-10-09 21:45:36 +02:00
nothingTVatYT 2ff4a69f53 fix reading of pipe buffer from external filechooser 2023-10-09 17:25:28 +02:00
mafiesto4 00100e11f2 Fix C# objects serialization bug when script throws exception during saving to Json
#1656
2023-10-09 15:31:46 +02:00
mafiesto4 fa57440a2f Fix typo 2023-10-09 14:48:19 +02:00
mafiesto4 8a018977d6 Merge branch 'MineBill-fix-transition-data' 2023-10-09 14:35:24 +02:00
mafiesto4 26ffe31a0f Merge branch 'fix-transition-data' of https://github.com/MineBill/FlaxEngine into MineBill-fix-transition-data 2023-10-09 14:35:15 +02:00
mafiesto4 09f2be907e Merge remote-tracking branch 'origin/master' into 1.7
# Conflicts:
#	Flax.flaxproj
2023-10-09 12:40:47 +02:00
mafiesto4 8e23781153 Fix updating time left when destroying large amount of objects
#1584
2023-10-09 12:13:09 +02:00
mafiesto4 64d4076615 Minor tweaks 2023-10-09 12:06:55 +02:00
mafiesto4 d7e9e2ed16 Fix AssetsCache to include project path and reject cache when project gets duplicated with cache
#1631
2023-10-09 11:33:02 +02:00
mafiesto4 1ac4fef8d0 Merge branch 'nothingTVatYT-fix-linux-systeminfo' 2023-10-09 10:44:17 +02:00
mafiesto4 6c0011bef5 Merge branch 'fix-linux-systeminfo' of https://github.com/nothingTVatYT/FlaxEngine into nothingTVatYT-fix-linux-systeminfo 2023-10-09 10:44:08 +02:00
mafiesto4 481a3cfba5 Minor tweaks 2023-10-08 23:33:51 +02:00
mafiesto4 fd7ef38639 Merge branch 'MineBill-linux-doubleclick' 2023-10-08 22:14:09 +02:00
mafiesto4 0b786feb65 Merge branch 'linux-doubleclick' of https://github.com/MineBill/FlaxEngine into MineBill-linux-doubleclick 2023-10-08 22:14:02 +02:00
nothingTVatYT 5b866b643b fix GetDesktopSize for Linux 2023-10-08 22:05:53 +02:00
minebill 03642632f5 Use a maximum distance between clicks, when detecting a double click 2023-10-08 22:05:02 +03:00
mafiesto4 552641c51a Fix potential crashes if uses calls terrain tools with invalid params 2023-10-08 17:02:26 +02:00
mafiesto4 4bfc97d982 Merge branch 'GoaLitiuM-viewport_cam_drift_fix' 2023-10-08 16:50:24 +02:00
mafiesto4 f3818c8a1d Merge branch 'viewport_cam_drift_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-viewport_cam_drift_fix 2023-10-08 16:48:23 +02:00
mafiesto4 45ae103612 Merge branch 'RuanLucasGD-Fix-Actor-OnDestroy' 2023-10-08 16:46:25 +02:00
mafiesto4 c3924d636d Merge branch 'Fix-Actor-OnDestroy' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-Fix-Actor-OnDestroy 2023-10-08 16:41:40 +02:00
mafiesto4 38664e9d43 More improvements to 13853d5fb5 2023-10-08 16:34:41 +02:00
GoaLitiuM 4db1975f02 Fix Editor viewport camera drifting with odd viewport sizes 2023-10-08 17:28:28 +03:00
mafiesto4 13853d5fb5 Fix model asset previews to wait for materials to be loaded 2023-10-08 16:01:34 +02:00
mafiesto4 734f8bcaf4 Fix shader compilation tracking to check for directory existence 2023-10-08 15:52:36 +02:00
mafiesto4 52833377ca Merge branch 'Tryibion-auto-module' 2023-10-08 15:14:40 +02:00
mafiesto4 b56447bae4 Refactor code in #1423 to be cleaner 2023-10-08 15:14:35 +02:00
mafiesto4 3b23e50ee6 Merge branch 'auto-module' of https://github.com/Tryibion/FlaxEngine into Tryibion-auto-module
# Conflicts:
#	Source/Editor/Windows/ContentWindow.ContextMenu.cs
2023-10-08 13:43:28 +02:00
mafiesto4 dd466ef162 Merge branch 'GoaLitiuM-ies_fix' 2023-10-08 13:40:17 +02:00
mafiesto4 f80271bdfd Merge branch 'ies_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-ies_fix 2023-10-08 13:36:55 +02:00
mafiesto4 e07c7f2c15 Merge branch 'GoaLitiuM-light_field_order_fix' 2023-10-08 13:36:20 +02:00
mafiesto4 916993f241 Merge branch 'light_field_order_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-light_field_order_fix 2023-10-08 13:36:10 +02:00
mafiesto4 96a56c11ef Merge branch 'RuanLucasGD-fix_edit_text_box' 2023-10-08 13:34:13 +02:00
mafiesto4 12ed17618f Merge branch 'fix_edit_text_box' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-fix_edit_text_box 2023-10-08 13:34:08 +02:00
mafiesto4 2d1415c40d Merge branch 'Chikinsupu-Visject-BendingPreviewConnectionFix' 2023-10-08 11:16:47 +02:00
mafiesto4 dc59a38b64 Merge branch 'Visject-BendingPreviewConnectionFix' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-BendingPreviewConnectionFix 2023-10-08 11:16:38 +02:00
mafiesto4 f7769439cf Merge branch 'Chikinsupu-Visject-ContextSensitiveParameterSupport' 2023-10-08 11:15:31 +02:00
mafiesto4 a9231d5e08 Merge branch 'Visject-ContextSensitiveParameterSupport' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-ContextSensitiveParameterSupport 2023-10-08 11:15:26 +02:00
mafiesto4 af388ef8b4 Merge branch 'Chikinsupu-Visject-FixItemDuplicationBug' 2023-10-08 11:13:00 +02:00
mafiesto4 b2ee160bfe Merge branch 'Visject-FixItemDuplicationBug' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-FixItemDuplicationBug 2023-10-08 11:12:55 +02:00
mafiesto4 df38752506 Merge branch 'MineBill-alt-key-linux' 2023-10-08 11:10:14 +02:00
mafiesto4 880e394554 Merge branch 'alt-key-linux' of https://github.com/MineBill/FlaxEngine into MineBill-alt-key-linux 2023-10-08 11:10:08 +02:00
mafiesto4 b8f094e007 Cleanup Iterator in ChunkedArray 2023-10-08 11:09:12 +02:00
mafiesto4 b93cbbd194 Merge branch 'GoaLitiuM-dict_iter_fix' 2023-10-08 11:05:18 +02:00
Christopher Rothert 5e85fa2c0c Merge branch 'master' into feat/improved-camera-settings 2023-10-08 01:41:05 +02:00
Christopher Rothert 966e5cdda2 Update some comments 2023-10-08 01:40:50 +02:00
Christopher Rothert 997c442e69 Update movement speed formatting
* add property for movement speed text format
* add additional checks to camera speed progress calculation
* round movement speed to make it visually more appealing in the context menu
2023-10-08 01:07:36 +02:00
Ruan Lucas 95f40ecc0c clean code 2023-10-07 16:27:14 -04:00
minebill e903348d71 Fix incorrect mapping of Alt key on linux 2023-10-07 22:28:39 +03:00
Ruan Lucas 56c3080b10 fix edit text box 2023-10-07 11:06:23 -04:00
Nils Hausfeld d41ec15606 - Implemented support for surface parameters 2023-10-07 13:57:05 +02:00
GoaLitiuM 2eb49dba59 Move Use Inverse Squared Falloff above Falloff Exponent in lights
Prevents the checkbox in UI from moving around when toggling the value.
2023-10-07 14:38:58 +03:00
GoaLitiuM bc658bbfba Fix Dictionary iterator comparison
Missing change from 9291295a4d
2023-10-07 14:25:07 +03:00
GoaLitiuM 1f4343d664 Fix IES profile light computation formula 2023-10-07 14:24:54 +03:00
Christopher Rothert 00aa54cde8 Update camera speed stepping and easing
* remove complex curve function
* update camera easing feature to use Mathf.Pow instead
* add total camera speed steps to ViewportOptions
* change default value for max camera speed from 64 to 32
* update ViewportOptions ordering and grouping
* update string format for movement speed
2023-10-07 02:40:52 +02:00
NoriteSC 004e2ab5e8 Update Source/Engine/Tools/MaterialGenerator/MaterialGenerator.Material.cpp
Co-authored-by: stefnotch <stefnotch@users.noreply.github.com>
2023-10-06 23:07:19 +02:00
NoriteSC d7095957d0 Update Source/Editor/Surface/Archetypes/Material.cs
Co-authored-by: stefnotch <stefnotch@users.noreply.github.com>
2023-10-06 23:07:00 +02:00
Nils Hausfeld e4bd84bd6a - Fixed items in Surface Paramter Group getting duplicated over and over again 2023-10-06 23:02:00 +02:00
NoriteSC 4e2870e90c Update Source/Editor/Surface/Archetypes/Material.cs
Co-authored-by: stefnotch <stefnotch@users.noreply.github.com>
2023-10-06 22:56:16 +02:00
NoriteSC 1736aaeb6a Update Source/Editor/Surface/Archetypes/Material.cs
Co-authored-by: stefnotch <stefnotch@users.noreply.github.com>
2023-10-06 22:54:26 +02:00
NoriteSC d5c0ad0487 Merge branch 'FlaxEngine:master' into Nodes 2023-10-06 22:15:35 +02:00
Nils Hausfeld 78c0e1dd92 - Visual fix to preview connection when pulling out of an input box or a reroute node 2023-10-06 18:16:04 +02:00
Nils Hausfeld c4136dcaa9 Merge branch 'master' into AnimationSampleNode-AnimationAssetReferencePort 2023-10-06 17:50:36 +02:00
Nils Hausfeld 63d57151d0 - Minor cleanup 2023-10-06 17:50:19 +02:00
mafiesto4 a9dd9adc22 Merge branch 'MineBill-control-double-click' 2023-10-06 17:22:10 +02:00
mafiesto4 a8f6a90a2f Merge branch 'control-double-click' of https://github.com/MineBill/FlaxEngine into MineBill-control-double-click 2023-10-06 17:20:46 +02:00
mafiesto4 a40819e37b Merge branch 'Muzz-Vert-color-deduplication-check' 2023-10-06 17:06:29 +02:00
mafiesto4 e41e200305 Merge branch 'Vert-color-deduplication-check' of https://github.com/Muzz/FlaxEngine into Muzz-Vert-color-deduplication-check 2023-10-06 17:06:21 +02:00
mafiesto4 5cf1d2b46e Code format 2023-10-06 17:06:17 +02:00
NoriteSC d07a5e9823 Merge branch 'FlaxEngine:master' into Nodes 2023-10-06 17:03:32 +02:00
mafiesto4 0fd225b185 Merge branch 'Tryibion-pos-camera' 2023-10-06 17:02:58 +02:00
mafiesto4 f1557554ab Merge branch 'pos-camera' of https://github.com/Tryibion/FlaxEngine into Tryibion-pos-camera 2023-10-06 17:02:51 +02:00
mafiesto4 5c57f73328 Merge branch 'ontrigger-improved-scrolling' 2023-10-06 17:01:29 +02:00
mafiesto4 bc291f592e Merge branch 'improved-scrolling' of https://github.com/ontrigger/FlaxEngine into ontrigger-improved-scrolling 2023-10-06 16:58:36 +02:00
mafiesto4 2d2ee03266 Merge branch 'Tryibion-scene-scroll-fix' 2023-10-06 16:08:13 +02:00
mafiesto4 e041a2d006 Merge branch 'scene-scroll-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-scene-scroll-fix 2023-10-06 16:07:45 +02:00
mafiesto4 cd889604e1 Fix build regression 2023-10-06 16:02:31 +02:00
mafiesto4 2cac149741 Code cleanup for #1377 2023-10-06 15:58:23 +02:00
Nils Hausfeld ea355dd560 - Title of Animation sample node gets updated when connection of animation reference box changes 2023-10-06 15:30:52 +02:00
mafiesto4 4853ec9f49 Merge branch 'Withaust-viewlayer' 2023-10-06 15:26:20 +02:00
mafiesto4 58552afc40 Merge branch 'viewlayer' of https://github.com/Withaust/FlaxEngine into Withaust-viewlayer 2023-10-06 15:26:15 +02:00
mafiesto4 ae308ab27a Minor code cleanup #1619 2023-10-06 15:25:25 +02:00
Nils Hausfeld e07ae33040 - Added input box to animation sample node to receive animation assets
- AssetSelect not gets shown or hidden depending on if the box has a connection
- Animation asset reference box now overrides asset picker
2023-10-06 15:23:43 +02:00
mafiesto4 3c35396f47 Merge branch 'Chikinsupu-Visject-AutomaticCasting' 2023-10-06 14:39:03 +02:00
mafiesto4 b1e6e6a8d1 Merge branch 'Visject-AutomaticCasting' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-AutomaticCasting 2023-10-06 14:38:58 +02:00
mafiesto4 a698095bdd Fix spatial audio playback when clip is set after the audio source was enabled
#1622
2023-10-06 14:34:08 +02:00
mafiesto4 92e28f66af Fix various issues with audio clip data buffers to reduce artifacts (especially when using 24-bit data) 2023-10-06 14:19:22 +02:00
mafiesto4 e29d3d02a2 Refactor audio clip import settings to use auto-generated bindings via AudioTool 2023-10-06 14:08:48 +02:00
mafiesto4 560f699dd8 Fix various issues with OpenAL buffers playback (do proper bit convertion) 2023-10-06 13:59:03 +02:00
mafiesto4 176123eb1f Fix AudioClip loading error when buffer start times diff has rounding error 2023-10-06 11:40:39 +02:00
mafiesto4 9870d162e4 Fix creating prefabs directly from prefab objects
#1432
2023-10-06 10:07:57 +02:00
Christopher Rothert fd94cfb469 Update how camera settings widget is displayed
* add option to force a certain text width to ViewportWidgetButton
* force camera settings widget to fit longest possible speed value
* changed displayed camera speed using string.Format
* changed some lines to always correctly display the camera speed
* switched from Mathf.Clamp to Mathf.Saturate for values between 0 and 1
2023-10-05 20:04:09 +02:00
Tryibion 233eb8a39d Fix prefab window tree 2023-10-05 12:13:41 -05:00
Tryibion 544ff3d5f0 Fix HScroll bar from covering nodes in scene window. 2023-10-05 12:10:49 -05:00
mafiesto4 3a56e39306 Merge branch 'GoaLitiuM-disable_resharper_build' 2023-10-05 19:02:27 +02:00
mafiesto4 5810febc4a Merge branch 'disable_resharper_build' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-disable_resharper_build 2023-10-05 19:02:21 +02:00
mafiesto4 f0293679c4 Merge branch 'GoaLitiuM-rules_assembly_csharp_ver' 2023-10-05 19:00:47 +02:00
mafiesto4 cecc4a4106 Merge branch 'rules_assembly_csharp_ver' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-rules_assembly_csharp_ver 2023-10-05 19:00:37 +02:00
GoaLitiuM 88d9e60bee Generate Rider-specific user solution configuration files
Disables "Use Resharper Build" option by default in generated solutions,
Resharper can't detect file changes in project using custom build
commands.
2023-10-05 19:31:28 +03:00
GoaLitiuM 858baa0ee0 Use latest supported C# version for building rules assemblies 2023-10-05 19:31:07 +03:00
Nils Hausfeld dc6a2d4d25 - Cleanup and comments 2023-10-05 18:11:08 +02:00
Nils Hausfeld d7ade326a9 - Implemented automatic casting to visject 2023-10-05 18:04:55 +02:00
mafiesto4 5dac7c234b Merge branch 'nothingTVatYT-master' 2023-10-05 14:22:00 +02:00
mafiesto4 62894cb6b1 Merge branch 'master' of https://github.com/nothingTVatYT/FlaxEngine into nothingTVatYT-master 2023-10-05 14:21:52 +02:00
Christopher Rothert 3a9fdd8b52 Add possibility to disable camera easing
* add camera easing setting to camera settings widget
* add camera easing default setting to ViewportOptions
* update some settings in ViewportOptions
2023-10-05 13:10:02 +02:00
mafiesto4 546553b82d Add some new splash quotes 2023-10-05 11:44:14 +02:00
mafiesto4 9af6048bec Fix regression from #1312 when passing structure from C++ to C# thunk as already boxed value 2023-10-05 11:36:47 +02:00
mafiesto4 18aafb6fc7 Fix regression from #1312 when passing structure from C++ to C# thunk as already boxed value 2023-10-05 11:35:52 +02:00
mafiesto4 cd2f03d8ef Tweaks 2023-10-05 10:48:52 +02:00
mafiesto4 e6c45fccb3 Merge remote-tracking branch 'origin/master' into 1.7
# Conflicts:
#	Source/Engine/Level/Actors/AnimatedModel.cpp
2023-10-05 10:44:03 +02:00
mafiesto4 86d1d29820 Fix deadlock regression from fd679f0af5 when applying Game Settings itself 2023-10-05 10:13:49 +02:00
nothingTVatYT 9d4089dc0a Merge branch 'master' of github.com:nothingTVatYT/FlaxEngine 2023-10-05 00:08:04 +02:00
nothingTVatYT bc872ebff5 fix menu misalignment problem on Linux 2023-10-05 00:06:51 +02:00
Christopher Rothert 4b78d5e39e Orthographic/perspective mode toggle
Note: missing dedicated icon!
2023-10-04 23:30:51 +02:00
Christopher Rothert 1f2d665654 Add camera speed easing based on Mathf.InterpEaseInOut
* change camera move speed method to use easing curve
* add methods for inversion of Mathf.InterpEaseInOut (might have better alternative)
* add setting for easing curve degree in ViewportOptions

* update camera speed adjustments to use easing curve
* remove unused camera speed values array
* update some comments and namings
2023-10-04 23:30:51 +02:00
Christopher Rothert ccf37e9d68 Add saving and loading of cached values for camera settings
* remove "Default" from all settings in ViewportOptions as they are shown in the "Defaults" group anyway
2023-10-04 23:30:51 +02:00
Christopher Rothert a280ce3dc7 Add reset button to camera settings widget 2023-10-04 23:30:51 +02:00
Christopher Rothert 4f93a0d9c9 Add default camera settings to editor options
* update ViewportOptions to include new default camera settings
* update existing default settings in ViewportOptions
* extract viewport options setup into own method
* initialize new camera settings with default settings in EditorViewport
2023-10-04 23:30:50 +02:00
Christopher Rothert 67536f04e9 Improve camera panning
* add camera panning speed option to camera settings context menu
* add relative panning speed based on distance to camera target to camera settings context menu
* add relative panning option to camera settings context menu

* fix float comparisons
* remove invert panning entry from view widget
* remove unused show/hide method for camera widget
2023-10-04 23:30:50 +02:00
Christopher Rothert 3dcd1a5ffb Improve viewport camera settings
* remove fixed camera speed buttons from camera speed scale widget
* change camera speed scale widget to general camera settings widget
* move all camera-related settings from view mode widget to camera settings widget
* fix some typo

* add possibility to set camera speed manually
* add min/max camera speed options
2023-10-04 23:30:50 +02:00
mafiesto4 1838c7bba7 Minor cleanup 2023-10-04 23:21:40 +02:00
mafiesto4 469c599a5e Merge branch 'Tryibion-editor-font' 2023-10-04 23:15:41 +02:00
mafiesto4 a6e9637442 Merge branch 'editor-font' of https://github.com/Tryibion/FlaxEngine into Tryibion-editor-font 2023-10-04 23:15:29 +02:00
mafiesto4 fd679f0af5 Add automatic game settings apply when saving json file in Editor
#1440
2023-10-04 23:11:38 +02:00
Tryibion b586b5fe41 Ensure editor font is sent as something. 2023-10-04 15:57:28 -05:00
mafiesto4 d1c0900ad7 Fix potential error when loading Guid from Json 2023-10-04 22:38:06 +02:00
mafiesto4 d2eefd4345 Merge branch 'Chikinsupu-Visject-ContextSensitiveNodes' 2023-10-04 22:27:03 +02:00
mafiesto4 92f677f238 Codestyle formatting #1522 2023-10-04 22:25:27 +02:00
mafiesto4 2e6fa8fc25 Merge branch 'Visject-ContextSensitiveNodes' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-ContextSensitiveNodes 2023-10-04 22:15:31 +02:00
mafiesto4 7777f73c26 Fix warning 2023-10-04 20:20:35 +02:00
mafiesto4 b3cef29abc Merge branch 'Menotdan-material_import' 2023-10-04 20:16:39 +02:00
mafiesto4 f46cc32715 Cleanup code #1115 2023-10-04 20:15:23 +02:00
mafiesto4 c46303018e Merge branch 'material_import' of https://github.com/Menotdan/FlaxEngine into Menotdan-material_import 2023-10-04 19:59:42 +02:00
mafiesto4 6f28496754 Merge branch 'Tryibion-game-window-focus-issue' 2023-10-04 19:58:36 +02:00
mafiesto4 f2a3338dce Improve #859 2023-10-04 19:58:10 +02:00
mafiesto4 8811c9cda0 Merge branch 'game-window-focus-issue' of https://github.com/Tryibion/FlaxEngine into Tryibion-game-window-focus-issue 2023-10-04 19:02:18 +02:00
mafiesto4 1149d7a04f Merge branch 'GoaLitiuM-launchsettings_fix' 2023-10-04 18:57:55 +02:00
mafiesto4 1dcad007c7 Merge branch 'launchsettings_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-launchsettings_fix 2023-10-04 18:57:50 +02:00
mafiesto4 b1cb2cfb37 Merge branch 'GoaLitiuM-particle_update_fix' 2023-10-04 18:56:54 +02:00
mafiesto4 cbbe730d22 Merge branch 'particle_update_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-particle_update_fix 2023-10-04 18:56:49 +02:00
mafiesto4 1db179d0b2 Merge branch 'RuanLucasGD-import_mesh_with_collision_type_as_convex' 2023-10-04 17:39:44 +02:00
mafiesto4 a5374920bd Merge branch 'import_mesh_with_collision_type_as_convex' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-import_mesh_with_collision_type_as_convex 2023-10-04 17:39:39 +02:00
mafiesto4 57dc3e00c7 Merge branch 'Arcnor-pugixml_extra' 2023-10-04 17:37:02 +02:00
mafiesto4 bd14790628 Merge branch 'pugixml_extra' of https://github.com/Arcnor/FlaxEngine into Arcnor-pugixml_extra 2023-10-04 17:36:55 +02:00
mafiesto4 273a939229 Merge branch 'Tryibion-cs-script-namespace' 2023-10-04 17:36:19 +02:00
mafiesto4 099a80127e Merge branch 'cs-script-namespace' of https://github.com/Tryibion/FlaxEngine into Tryibion-cs-script-namespace 2023-10-04 17:36:10 +02:00
mafiesto4 f1d57e47cb Fix regression in some context menus on Windows due to recent changes to windows showing after first paint 2023-10-04 17:34:14 +02:00
mafiesto4 fe9b6d73a8 Fix build regression from b3b6251c10 2023-10-04 16:54:50 +02:00
mafiesto4 bed736a8ee Add support for importing embedded textures via Assimp importer
#669
2023-10-04 15:16:10 +02:00
Edu Garcia f1600b3014 Move custom pugixml changes to pugixml_extra 2023-10-04 13:14:06 +01:00
mafiesto4 d68c65d9d6 Fix build regression from 9fa709aa79 2023-10-04 13:50:15 +02:00
mafiesto4 391b03b5cd Merge branch 'Tryibion-windows-fix' 2023-10-04 13:37:10 +02:00
mafiesto4 a009afc1a3 Merge branch 'windows-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-windows-fix 2023-10-04 13:37:04 +02:00
mafiesto4 98241c0cbe Merge branch 'Tryibion-game-set-open' 2023-10-04 13:35:26 +02:00
mafiesto4 569a8eb538 Merge branch 'game-set-open' of https://github.com/Tryibion/FlaxEngine into Tryibion-game-set-open 2023-10-04 13:35:21 +02:00
mafiesto4 627c0a211d Merge branch 'Tryibion-skinned-box-fix' 2023-10-04 13:34:39 +02:00
mafiesto4 9bfc5f5daa Merge branch 'skinned-box-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-skinned-box-fix 2023-10-04 13:34:25 +02:00
mafiesto4 7c932d3a2f Merge branch 'nothingTVatYT-master' 2023-10-04 13:33:17 +02:00
mafiesto4 d2531273e6 Merge branch 'master' of https://github.com/nothingTVatYT/FlaxEngine into nothingTVatYT-master 2023-10-04 13:33:10 +02:00
mafiesto4 58f926fbb4 Merge branch 'Menotdan-restore_message_clearer' 2023-10-04 13:28:54 +02:00
mafiesto4 25e1c3deaf Merge branch 'restore_message_clearer' of https://github.com/Menotdan/FlaxEngine into Menotdan-restore_message_clearer 2023-10-04 13:28:40 +02:00
NoriteSC 329910ae0d missing input fix 2023-10-04 13:18:42 +02:00
NoriteSC d7b9056d94 added AAStep and resolved stefnotch reviewe 2023-10-04 13:15:17 +02:00
mafiesto4 9fa709aa79 Fix importing skinned models with meshes that don't have valid skinning to properly link into the node's bone
#1525
2023-10-04 12:42:11 +02:00
NoriteSC 367eaf2f89 adjustment to nodes size 2023-10-04 10:28:48 +02:00
mafiesto4 46353365da Fix missing debug shapes drawing when skeleton node gets selected
#1220
2023-10-04 10:24:36 +02:00
mafiesto4 52b9a995ad Fix bone Offset Matrix from fbx when using root RotationMatrix
#1525
2023-10-04 10:01:17 +02:00
NoriteSC 70ca1996c5 added Ratangle Mask and FWidth 2023-10-04 10:00:47 +02:00
mafiesto4 b3b6251c10 Add GlobalInfo parsing to OpenFBX
#1525
2023-10-04 09:47:48 +02:00
Tryibion c6bd989744 Add Game Settings open button to menu. 2023-10-03 22:47:13 -05:00
Tryibion b5d927baa5 Force windows window to be correct size when restoring window on maximize from minimize. 2023-10-03 16:22:43 -05:00
mafiesto4 68a713fb95 Fix model importer to use precomputed Offset Matrix for skeletal model bones
#1525
2023-10-03 22:30:58 +02:00
mafiesto4 4e83a0a757 Fix potential exception in drag and drop handling 2023-10-03 22:20:44 +02:00
Tryibion b948152a41 Simplify 2023-10-03 09:40:46 -05:00
GoaLitiuM 36b1dc1452 Fix particle effects not working properly at high framerate 2023-10-03 17:38:21 +03:00
Tryibion 9fbc51a22a Add back in fixed margin code. 2023-10-03 09:21:27 -05:00
Tryibion d6861696a5 Simplify. 2023-10-03 09:17:52 -05:00
Tryibion 60ac0a8196 Fix box changes from animations. 2023-10-03 08:25:05 -05:00
Tryibion 7bb3ddefeb Fix AnimatedModel box. 2023-10-03 07:51:15 -05:00
mafiesto4 167fead18d Backport https://github.com/nem0/OpenFBX/commit/0f53d0461f72a0b0879cd682097b597b85ae116f 2023-10-03 12:24:06 +02:00
mafiesto4 58c6e0cd15 Backport https://github.com/nem0/OpenFBX/commit/dde6cbeb14cab424b9bbbeb6d75c4b84cc22f633 2023-10-03 12:23:36 +02:00
mafiesto4 ee83c60e1f Backport https://github.com/nem0/OpenFBX/commit/756d9b28aa01915421a107552655efa68b804fcd 2023-10-03 12:23:13 +02:00
mafiesto4 78b08b4552 Backport https://github.com/nem0/OpenFBX/commit/ccceff4f7889611dd1fd9d5fd2d5ccecbc210b9f 2023-10-03 12:22:35 +02:00
mafiesto4 2caa168dd9 Fix using DefaultFrameRate for animation imported with Assimp
#1444
2023-10-03 10:00:57 +02:00
mafiesto4 8007417fe5 Fix applying scale to imported models with Assimp
#1445 #1443
2023-10-03 09:50:50 +02:00
nothingTVatYT 78b074e7da Fix segfault: target can be null when font size is changed 2023-10-03 01:14:35 +02:00
mafiesto4 94611c7f7e Merge branch 'Tryibion-input' 2023-10-02 21:30:41 +02:00
mafiesto4 3a2ff0f4a2 Merge branch 'input' of https://github.com/Tryibion/FlaxEngine into Tryibion-input 2023-10-02 21:30:31 +02:00
mafiesto4 4149da5f9e Fix crash when generating project files with toolchain setup that fails
#1537
2023-10-02 18:57:40 +02:00
Tryibion 4e42f84873 Fix bug in depreciated triggered action placement. 2023-10-02 08:39:13 -05:00
mafiesto4 dd66ee3521 Add using text Show in Finder on macOS in Editor 2023-10-02 13:26:26 +02:00
mafiesto4 5fe135e10b Fix updating Content folder name when renamed in Finder on macOS 2023-10-02 13:11:20 +02:00
mafiesto4 8a9d0271a3 Add ignoring ’.DS_Store’ files in Content on macOS 2023-10-02 13:04:21 +02:00
mafiesto4 b9198fc7a1 Merge remote-tracking branch 'origin/master' 2023-10-02 12:54:41 +02:00
mafiesto4 8bafdb0b78 Remove std::function usage from ArrayExtensions 2023-10-02 12:52:44 +02:00
mafiesto4 41f005f95b Fix typo from 17291a8a13 2023-10-02 12:49:02 +02:00
mafiesto4 17291a8a13 Fix Cannot find compatible metal driver on macOS due to the newest Vulkan SDK regression
#1469
2023-10-02 12:48:14 +02:00
mafiesto4 1156f72fbe Add versions sorting to VulkanSDK selection on macOS 2023-10-02 12:40:37 +02:00
mafiesto4 70f0fbe954 Fix crash on Vulkan when drawing shader without binding proper constant Buffer
#1289
2023-10-02 11:37:24 +02:00
mafiesto4 0ea3cb0d69 Improve workflow with Android project generated after #1570 2023-10-02 11:05:19 +02:00
Menotdan 10ea0b0665 Make it clearer what "Restore Materials on Reimport" means. 2023-10-02 03:32:11 -04:00
Menotdan 139aea5f2d Merge branch 'FlaxEngine:master' into material_import 2023-10-02 01:14:49 -04:00
Tryibion bd32619016 Small fix 2023-10-01 21:11:08 -05:00
mafiesto4 652510ee50 Minor codestyle tweaks for #1420 2023-10-01 21:55:20 +02:00
mafiesto4 9b605f445c Merge branch 'RedTheKitsune-better-missing-script-handling' 2023-10-01 21:12:07 +02:00
mafiesto4 ae654c2f0a Merge branch 'better-missing-script-handling' of https://github.com/RedTheKitsune/FlaxEngine into RedTheKitsune-better-missing-script-handling 2023-10-01 21:07:34 +02:00
mafiesto4 b492c9421b Fix Tag deserialization in cooked game
#1534
2023-10-01 21:02:08 +02:00
MineBill 8a34ae3ece Handle double clicking to eliminate perceived lag. 2023-10-01 18:41:32 +03:00
MineBill 618b1bfd39 Evaluate transition data before executing the transition rule. 2023-10-01 16:13:49 +03:00
mafiesto4 dd21020297 Merge remote-tracking branch 'origin/master' into 1.7 2023-10-01 13:17:41 +02:00
mafiesto4 a001a5fbdc Remove mutex usage since scenes are loaded in sync for now 2023-10-01 13:17:37 +02:00
mafiesto4 6d92d0b58f Merge branch 'RuanLucasGD-Remove-Background_From-CollisionDataWindow' 2023-10-01 12:35:27 +02:00
mafiesto4 2db55a3711 Merge branch 'Remove-Background_From-CollisionDataWindow' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-Remove-Background_From-CollisionDataWindow 2023-10-01 12:35:22 +02:00
mafiesto4 8de9e06b58 Merge branch 'Tryibion-main-win' 2023-10-01 12:33:59 +02:00
mafiesto4 fc499b763d Merge branch 'main-win' of https://github.com/Tryibion/FlaxEngine into Tryibion-main-win 2023-10-01 12:33:54 +02:00
mafiesto4 9acff68209 Merge branch 'Tryibion-rot-around-fix' 2023-10-01 12:32:51 +02:00
mafiesto4 4f5e7988c9 Merge branch 'rot-around-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-rot-around-fix 2023-10-01 12:32:42 +02:00
mafiesto4 20797fce5a Merge branch 'Tryibion-base-win-size' 2023-10-01 12:30:19 +02:00
mafiesto4 883abc2f3b Merge branch 'base-win-size' of https://github.com/Tryibion/FlaxEngine into Tryibion-base-win-size 2023-10-01 12:30:14 +02:00
mafiesto4 1e96bb7647 Merge branch 'GoaLitiuM-vs_android_intellisense_fix' 2023-10-01 12:29:43 +02:00
mafiesto4 ec7dcc4cfb Merge branch 'vs_android_intellisense_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-vs_android_intellisense_fix 2023-10-01 12:29:36 +02:00
mafiesto4 acc7d0893f Merge branch 'GoaLitiuM-vscode_csharp_build_tasks' 2023-10-01 12:28:38 +02:00
mafiesto4 3ae0e4f65e Merge branch 'vscode_csharp_build_tasks' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-vscode_csharp_build_tasks 2023-10-01 12:28:30 +02:00
mafiesto4 92382b42c4 Merge branch 'GoaLitiuM-assembly_load_fix' 2023-10-01 12:28:09 +02:00
mafiesto4 7dc3a3c1a2 Merge branch 'assembly_load_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-assembly_load_fix 2023-10-01 12:27:54 +02:00
mafiesto4 3f8c91c83a Merge branch 'GoaLitiuM-build_engine_bindings' 2023-10-01 12:27:22 +02:00
mafiesto4 5832d995eb Merge branch 'build_engine_bindings' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-build_engine_bindings 2023-10-01 12:27:14 +02:00
mafiesto4 3754b5c958 Merge branch 'GoaLitiuM-sln_generation_fix2' 2023-10-01 12:26:44 +02:00
mafiesto4 6e47db0ebe Merge branch 'sln_generation_fix2' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-sln_generation_fix2 2023-10-01 12:26:39 +02:00
mafiesto4 38cf756f1f Merge branch 'Tryibion-blur-fix' 2023-10-01 12:25:44 +02:00
mafiesto4 8c61b6d41b Merge branch 'blur-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-blur-fix 2023-10-01 12:25:39 +02:00
mafiesto4 18a2824753 Merge branch 'GoaLitiuM-sceneanim_null_check_fix' 2023-10-01 12:12:33 +02:00
mafiesto4 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
mafiesto4 4e839c2e3d Merge branch 'Arcnor-renameNewActor' 2023-10-01 12:10:33 +02:00
mafiesto4 26040f27cc Merge branch 'renameNewActor' of https://github.com/Arcnor/FlaxEngine into Arcnor-renameNewActor 2023-10-01 12:08:01 +02:00
mafiesto4 450d49b0e7 Merge branch 'Arcnor-labelSetBaselineGap' 2023-10-01 12:07:04 +02:00
mafiesto4 da647d3403 Merge branch 'labelSetBaselineGap' of https://github.com/Arcnor/FlaxEngine into Arcnor-labelSetBaselineGap 2023-10-01 12:06:57 +02:00
mafiesto4 2dd6297d18 Merge branch 'GoaLitiuM-visualscript_valuetype_fix' 2023-10-01 12:06:19 +02:00
mafiesto4 3f3f31f70f Merge branch 'visualscript_valuetype_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-visualscript_valuetype_fix 2023-10-01 12:06:00 +02:00
mafiesto4 e8a093f0b3 Merge branch 'Tryibion-font-size-fixes' 2023-10-01 12:05:24 +02:00
mafiesto4 5e3bb4d51e Merge branch 'font-size-fixes' of https://github.com/Tryibion/FlaxEngine into Tryibion-font-size-fixes 2023-10-01 12:05:20 +02:00
mafiesto4 3078a9d212 Merge branch 'davevanegdom-Statusbar-Imrpovements' 2023-10-01 12:04:01 +02:00
mafiesto4 4d6a27c92a Merge branch 'Statusbar-Imrpovements' of https://github.com/davevanegdom/FlaxEngine into davevanegdom-Statusbar-Imrpovements 2023-10-01 12:01:31 +02:00
mafiesto4 e0f840563d Merge branch 'M-3-H-master' 2023-10-01 12:00:50 +02:00
mafiesto4 a761a7e857 Merge branch 'master' of https://github.com/M-3-H/FlaxEngine into M-3-H-master 2023-10-01 12:00:40 +02:00
mafiesto4 5e283b3d16 Merge branch 'Tryibion-fix-tooltip' 2023-10-01 11:59:36 +02:00
mafiesto4 818b2c3bb5 Merge branch 'fix-tooltip' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-tooltip 2023-10-01 11:59:30 +02:00
mafiesto4 0690d8695d Merge branch 'Chikinsupu-Visject-PrettierConnectionBezier' 2023-10-01 11:59:10 +02:00
mafiesto4 c35a21a1dc Merge branch 'Visject-PrettierConnectionBezier' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-Visject-PrettierConnectionBezier 2023-10-01 11:57:08 +02:00
mafiesto4 0eda67bd73 Fix nested profiler events usage
#https://github.com/FlaxEngine/FlaxEngine/issues/1380
2023-10-01 11:56:54 +02:00
mafiesto4 659a70dc81 Merge branch 'Tryibion-bool-fix' 2023-10-01 11:36:26 +02:00
mafiesto4 3a85b27cbe Merge branch 'bool-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-bool-fix 2023-10-01 11:36:21 +02:00
mafiesto4 8c69363fba Merge branch 'Zode-master' 2023-10-01 11:35:11 +02:00
mafiesto4 f4ee709bc6 Merge branch 'master' of https://github.com/Zode/FlaxEngine into Zode-master 2023-10-01 11:35:06 +02:00
mafiesto4 ecda813b4a Merge branch 'AndrejStojkovic-master' 2023-10-01 11:34:36 +02:00
mafiesto4 bd8240c5a5 Merge branch 'master' of https://github.com/AndrejStojkovic/FlaxEngine into AndrejStojkovic-master 2023-10-01 11:34:30 +02:00
mafiesto4 5bfcbd907a Merge branch 'Tryibion-output-win' 2023-10-01 11:27:19 +02:00
mafiesto4 0d0dc9bc07 Merge branch 'output-win' of https://github.com/Tryibion/FlaxEngine into Tryibion-output-win 2023-10-01 11:27:11 +02:00
mafiesto4 1c21939f40 Minor changes 2023-10-01 11:24:49 +02:00
mafiesto4 d10d52ec0c Add thread-safety to various scripting methods 2023-10-01 10:57:51 +02:00
mafiesto4 075f40b93a Minor fixes 2023-10-01 10:56:30 +02:00
mafiesto4 af3f6d0003 Fix crash in new Delegate when checking if it's binded 2023-10-01 10:56:09 +02:00
mafiesto4 0ae413d4fe Fix crash when using Visual Script runtime in async 2023-10-01 10:55:48 +02:00
mafiesto4 b960600102 Optimize scenes loading with Job System 2023-10-01 10:55:01 +02:00
Tryibion b943c7ca3e Add extra check for stationary rotation. 2023-09-30 22:19:09 -05:00
Tryibion 113307ddf9 Simplify to return main window even in editor. 2023-09-30 21:36:41 -05:00
Tryibion 8edd50c293 Simplify 2023-09-30 21:34:40 -05:00
Tryibion cc681de30e Fix more and add bool check to orient the actor or not. 2023-09-30 21:33:27 -05:00
Tryibion 260c48e41d Change blur panel to draw self. Fix issue with blur strength slider. 2023-09-30 17:44:42 -05:00
Tryibion bae1cfbc8a Change base editor window size to 75% of desktop size when restored for first time. 2023-09-30 17:35:42 -05:00
Tryibion 1366c2850f Fix Actor.RotateAround to rotate the actors orientation. 2023-09-30 17:21:48 -05:00
Nils Hausfeld 07d13f0144 - Implemented very basic support for method override nodes
- Cleanup
2023-09-30 23:06:26 +02:00
Tryibion 85a985cd7f Expose Main Window to c# through Screen class. 2023-09-30 13:52:20 -05:00
Nils Hausfeld aca6d7110d - Cleanup and comments 2023-09-30 20:27:51 +02:00
Nils Hausfeld 2e09c4fb63 - Made visject items a tiny tiny tiny bit taller 2023-09-30 20:22:49 +02:00
Nils Hausfeld 1dc01cd023 - Added compatibility checks to packing structures nodes
- Added compatibility checks to more function nodes
2023-09-30 20:07:33 +02:00
Nils Hausfeld 719efc4a99 - Added Input/Output compatibility check to event based nodes
- Removed a huge chunk of compatibility checking code out of CMItem
2023-09-30 13:45:21 +02:00
Nils Hausfeld 35f641955b - Removed NodeTypeHint
- Added delegates to check compatiblity with custom archetypes
- Added compatibility check to InvokeMethod archetype
2023-09-30 13:20:04 +02:00
GoaLitiuM 6483f95450 Fix Visual Studio project folder GUIDs randomization during regeneration 2023-09-30 03:26:56 +03:00
GoaLitiuM cc318dddd7 Remap non-native Editor VS build configurations to native configurations 2023-09-30 02:37:05 +03:00
GoaLitiuM c9324004eb Build C# bindings after generating engine project files 2023-09-30 01:22:43 +03:00
GoaLitiuM 8b8970e4b9 Generate VSCode attach profile for native debugging 2023-09-29 23:51:27 +03:00
GoaLitiuM bf2c10b036 Generate one VSCode debugger attach launch profile per debugger type 2023-09-29 23:51:24 +03:00
GoaLitiuM 8a19b5ddd6 Skip adding VSCode task and launch profiles for plugins and dependencies 2023-09-29 23:51:22 +03:00
GoaLitiuM 811d639573 Generate Visual Studio Code build tasks for C#-projects 2023-09-29 23:51:17 +03:00
Nils Hausfeld 3befe4bb4a - Fixed a bug where items with a string match didn't get highlighted anymore when the group name matched
- Remouved double filtering when group name matched
- Started fixing asynchronous Un/Packing nodes filtering
2023-09-29 21:53:34 +02:00
GoaLitiuM 18310c9264 Fix loading shared managed assemblies multiple times 2023-09-29 22:12:50 +03:00
Nils Hausfeld b5dc916568 - Moved ScriptType casting check from Box to ScriptType class
- Even more cleanup and comments, wowzers
2023-09-29 17:44:31 +02:00
Nils Hausfeld 091d34b20d - Even more cleanup and comments 2023-09-29 17:26:56 +02:00
Nils Hausfeld 4bf46c3af3 - More cleanup and comments 2023-09-29 17:19:38 +02:00
Nils Hausfeld a4970b7fce - Group names now get filtered again (currently doing a second filtering pass through the items)
- More cleanup
2023-09-29 16:25:34 +02:00
Edu Garcia 8cdd026826 Merge branch 'FlaxEngine:master' into renameNewActor 2023-09-29 15:04:23 +01:00
Nils Hausfeld 2144ad4f7b Merge branch 'master' into Visject-ContextSensitiveNodes 2023-09-29 16:00:15 +02:00
Luke Schneider b7b8213179 Some additional fixes to light theme support
Fixed some issues with light theme support:

1) Icons in content tree nodes (Folder icons) now use the foreground color.  I did not find a case where the content tree is used for other icons.

2) The asset picker now uses the Background Normal color (instead of a very transparent dark gray) for the background, and Orange for the text.  Did not seem like it warranted adding a new color, and Orange works in both dark and light styles.

3) The platform selector icons are now hard-coded instead of based on the style.  This may sound odd, but the icons are colored, so they should always use White as the fully active color.  Previously they worked with a dark theme because the Foreground was set to white.

4) Fixed the CollectionBackgroundColor in the light theme being dark gray instead of light gray like it should be.  This fixes certain lists of things having a dark background in the light theme.
2023-09-29 07:43:59 -05:00
Zode db8f721fa7 Fix build project generation under arch 2023-09-29 11:20:24 +03:00
Tryibion 8f5af2e149 Fix bool editor when null. 2023-09-28 19:49:59 -05:00
Ruan Lucas bb54229760 Simplify code 2023-09-28 20:13:57 -04:00
Tryibion 9975bde78c Change output window search and scroll bars to be like other windows. 2023-09-28 19:09:02 -05:00
Ruan Lucas ba20402900 Change OnDestroy order 2023-09-28 19:05:26 -04:00
mafiesto4 fd3f10864b Fixes for iOS #1312 2023-09-29 00:00:51 +02:00
mafiesto4 f77198c7ca Fixes for iOS #1312 2023-09-29 00:00:21 +02:00
GoaLitiuM 1d42988f39 Fix VisualScript method calls not working with value types 2023-09-29 00:50:19 +03:00
Edu Garcia 6d3fdeec8a Rename new actor after creating it 2023-09-28 22:50:07 +01:00
Edu Garcia 8eed667d5a Makes BaseLinesGapScale configurable for Label 2023-09-28 22:41:24 +01:00
Tryibion 9a5d8e2c51 Fix tooltip crash 2023-09-28 15:31:30 -05:00
Nils Hausfeld 84b240216f - Implemented context sensitive toggle functionality
- Item list now updates on the fly when toggleing context sensitivity
- Added profiling
- Fixed a highlighting bug
- Minor cleanup
2023-09-28 21:31:58 +02:00
Tryibion 137951201d Refactor to use Camera Node. 2023-09-28 14:09:08 -05:00
GoaLitiuM 96d880df6a Fix crash in SceneAnimationPlayer 2023-09-28 22:06:07 +03:00
GoaLitiuM 58445f04c4 Fix potential incorrect null checks in FlaxEngine.Objects
The null-conditional operator checks for reference equality of the
Object, but doesn't check the validity of the unmanaged pointer. This
check is corrected in cases where the object was not immediately
returned from the bindings layer and may have been destroyed earlier.
2023-09-28 22:05:58 +03:00
GoaLitiuM ea201b6173 Fix null check in SceneAnimationWindow
The null-conditional operator checks for reference equality of the
Object, but doesn't check the unmanaged pointer validity.
2023-09-28 22:05:17 +03:00
Nils Hausfeld b96098e555 Merge branch 'master' into Visject-ContextSensitiveNodes 2023-09-28 20:59:59 +02:00
Nils Hausfeld 9acee40746 - Added context sensitive toggle gui 2023-09-28 20:53:47 +02:00
mafiesto4 58b9d76d24 Merge remote-tracking branch 'origin/master' into 1.7
# Conflicts:
#	Source/Editor/Viewport/PrefabWindowViewport.cs
#	Source/Engine/Physics/PhysX/SimulationEventCallbackPhysX.cpp
2023-09-28 20:42:54 +02:00
Nils Hausfeld 98f65ec303 Merge branch 'master' into Visject-ContextSensitiveNodes 2023-09-28 20:34:56 +02:00
mafiesto4 310d61edda Merge branch 'Tryibion-prevent-full-desktop' 2023-09-28 20:34:29 +02:00
mafiesto4 983694eb4f Merge branch 'prevent-full-desktop' of https://github.com/Tryibion/FlaxEngine into Tryibion-prevent-full-desktop 2023-09-28 20:34:12 +02:00
Tryibion 9694522b4e Change to use enum value. 2023-09-28 13:25:56 -05:00
mafiesto4 7e55a61444 Merge branch 'GoaLitiuM-editor_bindings' 2023-09-28 20:18:35 +02:00
mafiesto4 481bbd3a77 Merge branch 'editor_bindings' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-editor_bindings 2023-09-28 20:17:35 +02:00
mafiesto4 139e6d0d1f Improve #1514 to share code for tooltip position wrapping 2023-09-28 20:16:57 +02:00
mafiesto4 28c651252a Merge branch 'Tryibion-tooltip-move' 2023-09-28 20:07:50 +02:00
mafiesto4 b242820132 Merge branch 'tooltip-move' of https://github.com/Tryibion/FlaxEngine into Tryibion-tooltip-move 2023-09-28 19:59:59 +02:00
mafiesto4 88758a4f3a Merge branch 'Tryibion-editor-options-save-popup' 2023-09-28 19:58:29 +02:00
mafiesto4 9ad607c054 Merge branch 'editor-options-save-popup' of https://github.com/Tryibion/FlaxEngine into Tryibion-editor-options-save-popup 2023-09-28 19:58:24 +02:00
mafiesto4 e319b4dedc Minor optimization for PhysX events cleanup 2023-09-28 19:37:08 +02:00
mafiesto4 82b2f46b48 Post-merge tweaks for #1312 2023-09-28 19:21:06 +02:00
mafiesto4 30482f62e2 Merge branch 'GoaLitiuM-marshalling_scriptingobject_changes' 2023-09-28 18:41:30 +02:00
mafiesto4 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
mafiesto4 46e00af723 Merge branch 'NoriteSC-BugFixes' into 1.7 2023-09-28 13:11:15 +02:00
mafiesto4 d71c171412 Cleanup code in #1367 and fix api compatibility, revert joint changes 2023-09-28 13:10:58 +02:00
mafiesto4 3b94792f2e Merge branch 'BugFixes' of https://github.com/NoriteSC/FlaxEngineFork into NoriteSC-BugFixes
# Conflicts:
#	Source/Engine/Networking/NetworkReplicator.cpp
2023-09-28 12:28:19 +02:00
mafiesto4 7cc6163a38 Restore C# method caching in Editor 1d7ba2210a 2023-09-28 12:09:56 +02:00
mafiesto4 15377acc25 Merge remote-tracking branch 'origin/master' into 1.7 2023-09-28 12:01:34 +02:00
mafiesto4 53c53c1166 Merge branch 'GoaLitiuM-sln_generation_fix' 2023-09-28 11:51:26 +02:00
mafiesto4 d89400b84e Merge branch 'sln_generation_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-sln_generation_fix 2023-09-28 11:51:20 +02:00
mafiesto4 c50bbfff76 Merge branch 'GoaLitiuM-clang_detect_fix' 2023-09-28 11:48:44 +02:00
mafiesto4 bd842e60bd Merge branch 'clang_detect_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-clang_detect_fix 2023-09-28 11:48:19 +02:00
mafiesto4 23cfc522e8 Merge branch 'GoaLitiuM-managed_error_dialog' 2023-09-28 11:47:30 +02:00
mafiesto4 0a8fa46f77 Merge branch 'managed_error_dialog' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-managed_error_dialog 2023-09-28 11:47:23 +02:00
mafiesto4 77f962b33d Fix soft refs in bindings to match C# version that is not generic 2023-09-28 11:47:16 +02:00
mafiesto4 98d5769558 Fix performance bug in Development/Release builds due to incorrect draw calls batching (uninitialized memory) 2023-09-28 10:59:09 +02:00
mafiesto4 b7e871ecfd Minor tweaks 2023-09-28 10:58:29 +02:00
MZ 2cc6e80958 Checked my working. 2023-09-28 16:07:38 +10:00
MZ 299f68ebfe Vert color deduplication check 2023-09-28 16:00:31 +10:00
Luke Schneider ad28a3fdbf Better light theme (Style) support, and a Default light theme (as a secondary option)
1) Added ForegroundViewport as a new color.  It is used in the main game viewport (ViewportWidgetButton), and the viewport for rendering of particles and materials.  It is needed because the default foreground in a Light theme is black, but black does not work well in a viewport.  A new color seemed appropriate.

2) Fixed the profiler window to use the Foreground color in multiple text elements, instead of Color.White (or no default TitleColor).  This includes  the Row class, Asset class, SingleChart class, Timeline Class, and more.

3) Added a second theme/Style (DefaultLight) to include with the engine.  It uses RGB float values because those were easier to transfer from the saved values that I had created (and they're easier for me to edit if necessary).  I tried to emulate how the Default theme is created/loaded/etc as closely as possible.
2023-09-27 21:54:34 -05:00
GoaLitiuM bcccb71373 Show full exception message in error message box for managed exceptions 2023-09-28 00:25:26 +03:00
mafiesto4 37d166dce7 Merge branch 'GoaLitiuM-mutex_delegate_fixes' into 1.7 2023-09-27 22:42:36 +02:00
mafiesto4 9a5165ebdd Merge branch 'mutex_delegate_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-mutex_delegate_fixes 2023-09-27 22:42:23 +02:00
ontrigger 249ded3d1f fix incorrect link 2023-09-27 22:12:21 +03:00
GoaLitiuM 8338d1cc37 Fix Which not returning the found executable on success 2023-09-27 21:47:45 +03:00
GoaLitiuM d7db26cf89 Detect latest versions of clang 2023-09-27 21:47:41 +03:00
Nils Hausfeld 155d11c07b - Filtering now also applies when dragging a connection from an input port 2023-09-27 19:28:06 +02:00
GoaLitiuM 22e5afdb6f Fix Visual Studio project GUIDs getting randomized during regeneration 2023-09-27 20:17:19 +03:00
Nils Hausfeld 98e9c75cb8 Merge branch 'master' into Visject-ContextSensitiveNodes 2023-09-27 18:52:59 +02:00
GoaLitiuM 0c00dc20a2 Always generate additional Visual Studio solution files for all platforms 2023-09-27 19:43:59 +03:00
GoaLitiuM bff18a5564 Add -genproject -rider option for generating Rider compatible solution files 2023-09-27 19:43:56 +03:00
mafiesto4 2f9c601678 Merge remote-tracking branch 'origin/master' into 1.7 2023-09-27 17:32:47 +02:00
Nils Hausfeld 63c213aec0 - Support for Impulse ports 2023-09-27 17:04:35 +02:00
Nils Hausfeld c4da34a463 - Implemented function node and bind/unbind node compatiblility/filtering
- Added NodeTypeHint enum
2023-09-27 16:24:33 +02:00
mafiesto4 44292efa04 Fix editing array of tags in Editor that is null initially
#1451
2023-09-27 13:38:03 +02:00
mafiesto4 86c06297e8 Merge branch 'GoaLitiuM-unsub_event_nothrow' 2023-09-27 13:21:18 +02:00
mafiesto4 934457ac0b Merge branch 'unsub_event_nothrow' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-unsub_event_nothrow 2023-09-27 13:21:12 +02:00
mafiesto4 4dd6653098 Merge branch 'solnem-fix/editor-window-closing-during-camera-flight' 2023-09-27 13:18:17 +02:00
mafiesto4 75711a16bc Merge branch 'fix/editor-window-closing-during-camera-flight' of https://github.com/solnem/FlaxEngine into solnem-fix/editor-window-closing-during-camera-flight 2023-09-27 13:18:10 +02:00
mafiesto4 b00156f519 Add some improvements to particles editing
#1395
2023-09-27 13:04:44 +02:00
mafiesto4 523a14af56 Fix missing Variant marshalling for scripting structures bindings
#1395
2023-09-27 13:04:14 +02:00
Nils Hausfeld be944e35a5 Merge branch 'master' into Visject-ContextSensitiveNodes 2023-09-27 12:48:07 +02:00
mafiesto4 e5e37f3a41 Add android_native_app_glue.h to be included in engine package 2023-09-27 11:31:52 +02:00
mafiesto4 bff9c3419d Merge branch 'GoaLitiuM-fix_uaf' 2023-09-26 21:30:04 +02:00
Tryibion d14dc56b5c Change name to AxisValueChanged. 2023-09-26 10:26:06 -05:00
Tryibion 9b48d1feb8 Update comments 2023-09-26 10:04:08 -05:00
Tryibion 071a73c6d9 Add AxisChanged event to InputAxis. 2023-09-26 10:03:34 -05:00
Tryibion 3a9dd3f8f8 Small wording change 2023-09-26 09:41:41 -05:00
Tryibion ed2dd7211a Add back depriciated Triggered event. 2023-09-26 09:40:30 -05:00
GoaLitiuM e8088f42ac Fix string use-after-free while loading managed assemblies 2023-09-26 17:37:53 +03:00
Tryibion eeab9774a9 Add easily getting action state 2023-09-26 09:31:23 -05:00
Tryibion ea1da0481f Change input event to trigger different input states. 2023-09-26 08:35:10 -05:00
mafiesto4 0ddb0e4350 Merge branch 'Tryibion-ui-adds' 2023-09-26 10:48:32 +02:00
mafiesto4 a919130434 Merge branch 'ui-adds' of https://github.com/Tryibion/FlaxEngine into Tryibion-ui-adds 2023-09-26 10:47:24 +02:00
mafiesto4 c015feac84 Merge branch 'stefnotch-patch-13' 2023-09-26 10:46:11 +02:00
mafiesto4 3b26d1e0ea Merge branch 'patch-13' of https://github.com/stefnotch/FlaxEngine into stefnotch-patch-13 2023-09-26 10:46:05 +02:00
mafiesto4 6621e70ae7 Add objects replication and RPC stats table to Network Profiler 2023-09-26 10:33:12 +02:00
stefnotch 1bc7ad5e9d Update SerializeAttribute.cs 2023-09-26 10:30:57 +02:00
Menotdan f06af4d589 Visual studio auto-formatting fixed by just editing it in notepad :) 2023-09-26 00:09:57 -04:00
Menotdan 0f53c486ed Fixed formatting to match master branch 2023-09-26 00:05:50 -04:00
Menotdan fdf760f483 Merge branch 'master' of https://github.com/Menotdan/FlaxEngine into material_import
Merge Upstream Changes.
2023-09-25 23:51:34 -04:00
ontrigger 2d37e59e73 completely remove SmoothingScale 2023-09-26 00:51:44 +03:00
Nils Hausfeld d8e2b06c38 - Minor cleanup 2023-09-25 23:26:33 +02:00
ontrigger 056d8d5b6c don't animate when scrollbar is held 2023-09-25 23:46:16 +03:00
ontrigger a18d2d0eba remove logging 2023-09-25 23:35:52 +03:00
ontrigger 6a62dac49b remove usages of SmoothingScale across the codebase 2023-09-25 23:29:29 +03:00
ontrigger 9667848c96 make scrolling duration based and deprecate SmoothingScale 2023-09-25 23:28:29 +03:00
Nils Hausfeld 3b393ef4db Groups now get filtered by box type when added after the context menu was opened 2023-09-25 22:07:50 +02:00
Christopher Rothert 5ced9453d4 Fix editor window closing when using RMB + Ctrl + W for slow camera flight 2023-09-25 22:03:40 +02:00
Nils Hausfeld 33c51d0a8e - Filtering is functioning now for all default groups 2023-09-25 19:10:05 +02:00
Tryibion fd3a5c55e1 Simplify code 2023-09-25 11:50:04 -05:00
Tryibion 5eff51d47e Add button to position camera to editor viewport view. 2023-09-25 11:46:37 -05:00
mafiesto4 da47088250 Add conditional profiling in Editor (run only when using Profiler window) 2023-09-25 18:34:07 +02:00
mafiesto4 216a5e9f92 Add support for displaying all active Network Peer stats in Editor Profiler tab 2023-09-25 16:49:18 +02:00
mafiesto4 a672f6aa6b Merge branch 'Tryibion-npute-editor-improve' 2023-09-25 16:34:09 +02:00
mafiesto4 c374127de1 Fix error when loading project on non-ASCII path
#1439
2023-09-25 16:34:01 +02:00
mafiesto4 96b6313acb Fix crash when loading C# assembly from non-ASNSI path
#1439
2023-09-25 16:30:24 +02:00
mafiesto4 cfd53eea60 Merge branch 'npute-editor-improve' of https://github.com/Tryibion/FlaxEngine into Tryibion-npute-editor-improve 2023-09-25 15:47:38 +02:00
mafiesto4 273e70da09 Merge branch 'Tryibion-fix-rightclick-source' 2023-09-25 15:46:49 +02:00
mafiesto4 d7b5a582f2 Merge branch 'fix-rightclick-source' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-rightclick-source 2023-09-25 15:46:43 +02:00
mafiesto4 212a2e1ded Format code from recent PRs 2023-09-25 15:42:23 +02:00
mafiesto4 ef106c6a29 Merge branch 'Radiangames-MMB_Pan' 2023-09-25 15:41:08 +02:00
mafiesto4 c46ec41f6f Merge branch 'MMB_Pan' of https://github.com/Radiangames/FlaxEngine into Radiangames-MMB_Pan 2023-09-25 15:40:19 +02:00
mafiesto4 90a4fba767 Improve #1490 performance to use Ordinal string comparision and just check for extension on some generated files 2023-09-25 15:39:00 +02:00
mafiesto4 e37d9017c0 Merge branch 'Tryibion-gen-file-filter' 2023-09-25 15:37:23 +02:00
mafiesto4 8ac23e556a Merge branch 'gen-file-filter' of https://github.com/Tryibion/FlaxEngine into Tryibion-gen-file-filter 2023-09-25 15:37:11 +02:00
mafiesto4 0e5755ddaf Merge branch 'Chikinsupu-TextBox-ControlBackspaceSupport' 2023-09-25 15:36:17 +02:00
mafiesto4 1b9d61b408 Merge branch 'TextBox-ControlBackspaceSupport' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-TextBox-ControlBackspaceSupport 2023-09-25 15:34:40 +02:00
mafiesto4 ee5c11cef5 Merge branch 'Chikinsupu-ContainerControl-ShiftTabSupport' 2023-09-25 15:34:11 +02:00
mafiesto4 2fb1778801 Merge branch 'ContainerControl-ShiftTabSupport' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-ContainerControl-ShiftTabSupport 2023-09-25 15:31:23 +02:00
mafiesto4 8d72b1661b Merge branch 'GoaLitiuM-vulkan_shader_comp_fix' 2023-09-25 15:22:55 +02:00
mafiesto4 4fd8697082 Working improvements from docs PR 2023-09-25 11:11:56 +02:00
mafiesto4 b2ec235f01 Minor tweaks 2023-09-25 11:00:49 +02:00
Tryibion 84ecd49439 Fix slider clipping left most pixel of fill bar. 2023-09-24 15:40:56 -05:00
Tryibion 8a2272b825 Add has border and border thickness options. 2023-09-24 15:40:40 -05:00
Tryibion cb89daad36 Clean up comments. 2023-09-24 15:15:53 -05:00
Tryibion 87ef35cd4f Add tooltips to move with the mouse cursor. 2023-09-24 15:14:28 -05:00
Nils Hausfeld 50ebd5cb87 - Fixed massive UI freeze because of perform layout oversight 2023-09-24 20:31:22 +02:00
Nils Hausfeld 8d39d51f90 - Added profiling 2023-09-24 20:22:44 +02:00
Nils Hausfeld 038a3603e4 - Possible nodes get filtered now depending on the available node ports 2023-09-24 19:33:03 +02:00
mafiesto4 626bdf2e37 Add Variant::AsStructure to comparision operator between VariantType and ScriptingTypeHandle 2023-09-24 19:27:23 +02:00
mafiesto4 8a00a3e61e Expose moveTo node functions to override in C# 2023-09-24 19:26:41 +02:00
mafiesto4 65583ac6aa Add NavMeshRuntime to scripting api 2023-09-24 19:26:17 +02:00
Nils Hausfeld 0de31f630f - Moved control point calculation into its own function since multiple parts of the code depend on it
- 'DrawConnection' function now calls the control point calculation function
- 'IntersectsConnection' function now calls the control point calculation function
2023-09-24 18:40:34 +02:00
Ruan Lucas 1e3debf1ec Remake #1413 2023-09-24 11:37:14 -04:00
Ruan Lucas 409b17df2d Remake 2023-09-24 11:28:07 -04:00
GoaLitiuM 9021deb49e Fix Vulkan shader compilation with source files missing the last newline 2023-09-24 15:39:24 +03:00
mafiesto4 15b1e0a984 Minor fixes 2023-09-24 13:20:19 +02:00
mafiesto4 959bd33efc Rename AllocState to NewState 2023-09-24 13:17:59 +02:00
Nils Hausfeld b6ad252305 - Removed unnecessary null-conditional operator
- Removed unnecessary Float2 allocation
2023-09-23 19:14:06 +02:00
GoaLitiuM 10bcb26005 Fix invalid characters in generated C# launch settings paths 2023-09-23 18:29:53 +03:00
mafiesto4 dc324b4ec6 Fix crash when max files open limit is too small on macOS/iOS 2023-09-23 14:47:16 +02:00
mafiesto4 f09aebacad Add editor app packaging for macOS 2023-09-23 14:42:05 +02:00
GoaLitiuM 080091c271 Fix missing bindings for Actor related actions 2023-09-23 15:35:55 +03:00
GoaLitiuM 385c3541c9 Apply global editor bindings in most windows 2023-09-23 15:23:09 +03:00
GoaLitiuM 52cf4df641 Add input bindings for File menu actions 2023-09-23 15:23:09 +03:00
GoaLitiuM a1cbaba743 Add Editor input bindings for Profiler window and Profiler actions 2023-09-23 15:23:09 +03:00
GoaLitiuM 8ed57863b8 Add Editor input bindings for Tools menu items 2023-09-23 15:23:09 +03:00
GoaLitiuM efbc757369 Cancel camera rotation toggle when entering playmode or hitting escape 2023-09-23 15:23:08 +03:00
GoaLitiuM 2023aa8c94 Add viewport camera movement speed adjustment input bindings 2023-09-23 15:23:08 +03:00
GoaLitiuM 0122a9f699 Implement viewport camera rotation toggle for trackpad users 2023-09-23 15:23:08 +03:00
GoaLitiuM 69ce189c5d Add input bindings for Scene viewport related actions and Pilot Actor 2023-09-23 15:23:08 +03:00
GoaLitiuM 964913013d Add shortcut key to gizmo buttons 2023-09-23 15:23:07 +03:00
GoaLitiuM 17e1afb04a Add Editor input option for toggling gizmo transform space 2023-09-23 15:23:07 +03:00
GoaLitiuM 61b4738b6a Fix Editor bindings with no modifiers triggering with modifiers pressed 2023-09-23 15:23:07 +03:00
GoaLitiuM 642766d9cc Add Editor input options for Play Current Scenes and running cooked game 2023-09-23 15:23:07 +03:00
Nils Hausfeld 963300c2cb - Implemented shift tab support for Container Controls 2023-09-23 11:56:45 +02:00
mafiesto4 1c20398d8c Merge remote-tracking branch 'origin/master' into 1.7 2023-09-22 22:43:29 +02:00
mafiesto4 248304a78f Fix regression of importing only a single material for models with split objects enabled
#1483
2023-09-22 19:43:00 +02:00
Meh d11e3b5bd4 Update SplashScreen.cpp 2023-09-22 19:25:16 +02:00
Nils Hausfeld df23174deb - Added proper control backspace support 2023-09-22 19:23:16 +02:00
Meh 25708e2875 add more quotes 2023-09-22 19:01:37 +02:00
mafiesto4 0948f7f18e Merge branch 'Tryibion-copy-paste-fix' 2023-09-22 18:56:44 +02:00
mafiesto4 07db94c4f7 Merge branch 'copy-paste-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-copy-paste-fix 2023-09-22 18:56:39 +02:00
mafiesto4 aa969ec023 Merge branch 'Tryibion-create-folder-fix' 2023-09-22 18:54:53 +02:00
mafiesto4 cb423f78f4 Merge branch 'create-folder-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-create-folder-fix 2023-09-22 18:50:57 +02:00
mafiesto4 86a7484947 Merge branch 'Tryibion-max-min-on-click' 2023-09-22 18:49:19 +02:00
mafiesto4 19651db45e Merge branch 'max-min-on-click' of https://github.com/Tryibion/FlaxEngine into Tryibion-max-min-on-click 2023-09-22 18:49:14 +02:00
mafiesto4 72d61017f1 Merge branch 'Chikinsupu-fix-VisjectContextMenu-SpaceInput' 2023-09-22 18:46:00 +02:00
mafiesto4 2b4911ef06 Merge branch 'fix-VisjectContextMenu-SpaceInput' of https://github.com/Chikinsupu/FlaxEngine into Chikinsupu-fix-VisjectContextMenu-SpaceInput 2023-09-22 18:45:55 +02:00
Meh 45231a8b04 Update SplashScreen.cpp 2023-09-22 18:13:31 +02:00
Meh 7b051ce827 Update SplashScreen.cpp 2023-09-22 18:08:14 +02:00
Meh b82436cf4e Refactor splash screen quotes
removed bad ones and added more nice quotes.
2023-09-22 17:58:13 +02:00
mafiesto4 cf4fc535b3 Merge branch 'GoaLitiuM-debug_log_exception_line_fix' 2023-09-22 17:49:11 +02:00
Meh 15859134a3 Refactor splash screen quotes
Removed bad and weird quotes, added nice ones.
2023-09-22 17:33:17 +02:00
mafiesto4 dbbd6ce045 Add codesigning to macOS editor package binaries 2023-09-22 17:19:14 +02:00
GoaLitiuM 08d04ea6fb Fix exceptions in Debug Log Window not using correct line numbers
Additions to fix in commit 1714bc243a
2023-09-22 16:54:58 +03:00
Tryibion bd864c42fa Add popup to editor options to remind the user to save or not. 2023-09-22 08:40:38 -05:00
Nils Hausfeld d0679c1f9b - Made Visject connection bezier curves bend around nodes 2023-09-22 15:28:46 +02:00
davevanegdom d94dfe9fa9 Merge remote-tracking branch 'upstream/master' into Statusbar-Imrpovements 2023-09-22 13:19:57 +02:00
mafiesto4 faeb21a77a Merge branch 'GoaLitiuM-csproj_file_structure' 2023-09-22 13:02:42 +02:00
mafiesto4 da00d3b971 Merge branch 'csproj_file_structure' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-csproj_file_structure 2023-09-22 13:02:20 +02:00
mafiesto4 bd4efe5f02 Merge branch 'wackoisgod-macos-bugs-two' 2023-09-22 13:01:28 +02:00
mafiesto4 79aba00ab4 Merge branch 'macos-bugs-two' of https://github.com/wackoisgod/FlaxEngine into wackoisgod-macos-bugs-two 2023-09-22 13:01:21 +02:00
mafiesto4 1a0fad5be0 Merge branch 'MineBill-rider-open-file' 2023-09-22 12:58:04 +02:00
mafiesto4 6b8d1f448e Merge branch 'rider-open-file' of https://github.com/MineBill/FlaxEngine into MineBill-rider-open-file 2023-09-22 12:57:54 +02:00
mafiesto4 787479357e Codestyle fix #1495 2023-09-22 12:57:07 +02:00
mafiesto4 5f9a81a664 Merge branch 'GoaLitiuM-window_flicker_fix' 2023-09-22 12:55:18 +02:00
mafiesto4 d6c177ffca Merge branch 'window_flicker_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-window_flicker_fix 2023-09-22 12:55:11 +02:00
mafiesto4 2b01e3781c Merge branch 'GoaLitiuM-unloaded_assembly_fix' 2023-09-22 12:54:30 +02:00
mafiesto4 9731d76a94 Merge branch 'unloaded_assembly_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-unloaded_assembly_fix 2023-09-22 12:54:22 +02:00
mafiesto4 bccb796baf Merge branch 'MineBill-shader-division' 2023-09-22 12:53:22 +02:00
mafiesto4 97be8b572f Merge branch 'shader-division' of https://github.com/MineBill/FlaxEngine into MineBill-shader-division 2023-09-22 12:53:16 +02:00
mafiesto4 053e27ca9c Merge branch 'wackoisgod-macos-csproj-fix' 2023-09-22 12:51:25 +02:00
mafiesto4 0fbb3f4414 Merge branch 'macos-csproj-fix' of https://github.com/wackoisgod/FlaxEngine into wackoisgod-macos-csproj-fix 2023-09-22 12:51:08 +02:00
mafiesto4 62c2008cbc Fix crash in C# JobSystem.Dispatch due to GC collecting Delegate object 2023-09-22 12:50:50 +02:00
mafiesto4 a0de513a43 Optimize updating scripts tick arrays 2023-09-22 12:37:35 +02:00
mafiesto4 31b3f56ddb Fix visibility of some internal NativeInterop methods for game bindings 2023-09-22 12:37:13 +02:00
mafiesto4 abcfc8af35 Add using exact C# method profiler data for profiler events in overriden thunk method callbacks 2023-09-22 12:04:41 +02:00
Andrew Spiering ab7ca683bb Addressing Feedback
* use a better method of getting Editor binary folder
2023-09-22 02:59:38 -07:00
Andrew Spiering 1537f49e73 Fixing Editor Path
* Again the path was hardcoded to win64
2023-09-22 02:41:09 -07:00
Andrew Spiering 017967d5f8 Fixing non-windows platforms csproj files
* Seems there was a hardcoded path ? for the prebuilt binaries for the FlaxEngine dll
2023-09-22 02:13:49 -07:00
MineBill 1714bc243a Fix not capturing the the Debug.Log line in the DebugLogWindow 2023-09-22 11:03:59 +03:00
Tryibion 7012832050 Add filter to content window to hide generated files. Hide by default. 2023-09-21 21:29:21 -05:00
Tryibion 521b180352 Fix issue with copying and poasting in same folder. 2023-09-21 18:56:45 -05:00
davevanegdom 5fc9176ce7 Removed customization for "Normal" and "TextColor" 2023-09-21 23:18:46 +02:00
Red Kitsune 794ccd42ff - Added MissingScriptEditor 2023-09-21 22:00:20 +02:00
GoaLitiuM bbf8883275 Fix docking hint areas not hiding after dragging a window 2023-09-21 20:13:06 +03:00
GoaLitiuM bf68d17afe Create VS folder structure for BuildScripts and FlaxEngine source files 2023-09-21 19:44:21 +03:00
GoaLitiuM 7d69abadb7 Fix script reload crash with .NET libraries 2023-09-21 19:44:01 +03:00
Nils Hausfeld d19984d3e9 - Pressing space to open visject context menu now ignores the space char as input 2023-09-21 18:02:00 +02:00
davevanegdom 80a3bb2ae2 Replaced string color lookups 2023-09-21 17:10:49 +02:00
Luke Schneider 65bf13ea4f Removed debug messages 2023-09-21 08:38:18 -05:00
Luke Schneider ad29dd0c92 MMB Panning
Added MMB panning to VisjectSurfaces (materials/etc).
2023-09-21 08:37:13 -05:00
davevanegdom 21c742bd8a Customizable statusbar 2023-09-21 14:54:57 +02:00
MineBill 8f668c8506 Ensure floating numbers are formatted with enough precision 2023-09-21 12:39:19 +03:00
mafiesto4 97ed46bc4f Merge branch 'GoaLitiuM-default_configurations_fix' 2023-09-21 11:31:43 +02:00
mafiesto4 38671e0e01 Merge branch 'default_configurations_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-default_configurations_fix 2023-09-21 11:28:59 +02:00
mafiesto4 4bc3d922d0 Merge branch 'GoaLitiuM-msbuild_detect_fix' 2023-09-21 11:28:04 +02:00
mafiesto4 b66cbc1d67 Merge branch 'msbuild_detect_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-msbuild_detect_fix 2023-09-21 11:27:59 +02:00
mafiesto4 d94c0d3323 Fix C#-only game projects to reference precompiled DLLs instead of FlaxEngine.csproj 2023-09-21 11:26:04 +02:00
mafiesto4 a420ca72d6 Fix Visual Studio solution project to ensure that main project is the first one 2023-09-21 11:23:57 +02:00
Andrew Spiering d4c71b5fd9 Launching Rider on macOS
* Fixing issues where when the editor would try and launch rider on an M1/2 machine it would not properly open because it was the wrong architecture which is now resolved because open will do the right thing
* Making the ParseArgs function a little more resilient against escaped arguments
2023-09-20 23:16:38 -07:00
Tryibion f315286e26 Change wording to "Set To Null" 2023-09-20 19:08:36 -05:00
Tryibion 12c0ce9ea5 Revert maximize. 2023-09-20 18:09:16 -05:00
Red Kitsune 74acc93c0c Add XML comments 2023-09-21 01:03:35 +02:00
Tryibion ccb3f40de0 Prevent inital window from being covering the task bar on restore of windows window 2023-09-20 17:58:08 -05:00
Tryibion eb5a1f1103 Fix max and min on double click main menu buttons for custom menu bar 2023-09-20 17:49:17 -05:00
GoaLitiuM ed51791b58 Prevent generating VS configurations for Win32 and engine projects 2023-09-21 01:00:04 +03:00
mafiesto4 da7ba0ecba Fix regression on cooking ios game 2023-09-20 22:41:47 +02:00
Tryibion ffbd14ad49 Fix right clicking on source folder to sometimes select non-visible child. 2023-09-20 15:35:36 -05:00
Tryibion cadd0d2356 Fix visuals 2023-09-20 15:18:33 -05:00
mafiesto4 bcce08e81c Codestyle fix and doc 2023-09-20 22:14:54 +02:00
GoaLitiuM 07da23338b Update README 2023-09-20 23:14:13 +03:00
GoaLitiuM d328f0adc4 Update build scripts to detect only supported versions of MSBuild 2023-09-20 23:14:11 +03:00
mafiesto4 386e097fe9 Merge branch 'wackoisgod-macos-flex-build-bugs' 2023-09-20 22:07:33 +02:00
Tryibion 812813251d Fix being able to create folder from project folder. 2023-09-20 14:42:18 -05:00
GoaLitiuM fea296bcbb Fix white window flickering in context menus 2023-09-20 22:00:16 +03:00
Tryibion dfb9f1985f Improve input editors to use combo box. 2023-09-20 13:19:03 -05:00
Andrew Spiering 821c373ae2 Allow for better support for running on m1/2 machines
* So we need to account for 2 possible situations where you are running under and emulated process and a native process with a different target host in this case x64
2023-09-20 09:12:48 -07:00
Menotdan 2b1266147c Add new condition from split object bugfix on master. 2023-09-20 11:02:19 -04:00
mafiesto4 20a4e348ef Bump up build number and version 2023-09-20 16:07:24 +02:00
mafiesto4 9f97787099 Merge remote-tracking branch 'origin/master' into 1.7 2023-09-20 16:02:48 +02:00
mafiesto4 3ede4c2192 Fix typo 2023-09-20 16:02:24 +02:00
mafiesto4 4611de5ed6 Bump up build number 2023-09-20 16:02:15 +02:00
mafiesto4 8cd8ae93c3 Add ObjectRadius to DrawCall to properly cull local lights and env probes in Forward Shading 2023-09-20 15:01:02 +02:00
mafiesto4 8bd6649510 Refactor managed array unboxing to handle case of C# array passes as object
#1415
2023-09-20 14:17:11 +02:00
mafiesto4 5c5c64cf76 Update macOS app cooking to properly execute tools 2023-09-20 11:52:26 +02:00
mafiesto4 34a36d822a Improve parsing command line in build tools when using lots of quotes 2023-09-20 10:06:16 +02:00
mafiesto4 1740cbf2eb Improve process starting on mac 2023-09-20 09:21:56 +02:00
mafiesto4 e3cf9c05e4 Fix logging macOS process to remove redundant newlines 2023-09-20 09:06:54 +02:00
mafiesto4 038c67c819 Merge branch 'wackoisgod-macos-fixes' 2023-09-20 08:48:14 +02:00
Andrew Spiering f40657ea04 macOS support fixes
* Adding macOS FileSystemWatcher, this should allow files to be monitored and update like the other OSs
* Reworked how macOS launches processes to use NSTask which just deals with escaped and unescaped paths better
* Made a change to the ScriptsBuilder::RunBuildTool, this was adding the escaped values to the path, in reality it should be up to the underlying OS to make sure things are properly escaped, so removed those as they just end up causing issues. Also instead of appending the args to the fileName we just properly use the Arguments variable on the CreateProcessSettings
* No longer use open in order to show files in the finder, we use the proper method selectFile
* made a slight cleanup change to the MacPlatform Tick function
* Added ToNSString functions just to make that easier
* Added a ParseArguments function that will take a string and turn it into an array for NSTask
2023-09-19 20:58:12 -07:00
mafiesto4 92733d1a69 Merge branch 'GoaLitiuM-genproject_startup_fix' 2023-09-19 23:48:36 +02:00
mafiesto4 ea37a0924b Merge branch 'genproject_startup_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-genproject_startup_fix 2023-09-19 23:48:30 +02:00
mafiesto4 7e81fdbd75 Fix crash when D3D11 backend fails to create shader due to driver failure 2023-09-19 23:45:30 +02:00
GoaLitiuM 4a1787dfbe Generate project files at startup when project Cache was cleared 2023-09-20 00:15:25 +03:00
mafiesto4 a56ce92867 Fix crash when importing model with materials and Split Objects enabled 2023-09-19 23:07:10 +02:00
mafiesto4 417d911bab Merge branch 'dector-fix/1384/use-xdg-open-on-linux' 2023-09-19 22:01:35 +02:00
mafiesto4 5dd5bc3583 Merge branch 'fix/1384/use-xdg-open-on-linux' of https://github.com/dector/FlaxEngine into dector-fix/1384/use-xdg-open-on-linux 2023-09-19 22:01:28 +02:00
mafiesto4 6514ab3680 Merge branch 'Crawcik-unix-dotnet-location' 2023-09-19 22:00:42 +02:00
mafiesto4 d9333018c2 Merge branch 'unix-dotnet-location' of https://github.com/Crawcik/FlaxEngine into Crawcik-unix-dotnet-location
# Conflicts:
#	Source/Tools/Flax.Build/Build/DotNet/DotNetSdk.cs
2023-09-19 22:00:36 +02:00
mafiesto4 c7bfd70628 Merge branch 'eLeSTRaGo-Dev-fix/launch_editor_second_time_on_linux' into 1.7 2023-09-19 21:53:43 +02:00
mafiesto4 b6971e1788 Merge branch 'fix/launch_editor_second_time_on_linux' of https://github.com/eLeSTRaGo-Dev/FlaxEngine into eLeSTRaGo-Dev-fix/launch_editor_second_time_on_linux 2023-09-19 21:53:31 +02:00
mafiesto4 a71de7357c Merge remote-tracking branch 'origin/master' into 1.7 2023-09-19 21:42:53 +02:00
mafiesto4 f0b5d3b838 Minor improvements 2023-09-19 21:37:24 +02:00
mafiesto4 e9cf188c2d Add outline for relevant BT nodes when debugging tree 2023-09-19 21:24:00 +02:00
mafiesto4 336fe46e03 Add GetDebugInfo to BT nodes for debugging 2023-09-19 20:57:19 +02:00
mafiesto4 f845344d03 Add internal access level to Scripting API members (field, properties and functions) 2023-09-19 20:39:48 +02:00
Andrej Stojkovikj 35ee890f9f Fix in typo, should be length instead of magnitude 2023-09-19 19:33:25 +02:00
Andrej Stojkovikj cb460af264 Revert last feature since feature already exists 2023-09-19 19:29:59 +02:00
Denys 4c5168a976 Use xdg-open to open file manager in Linux
`nautilus` is GNOME file manager. Other distros might use another FM.

As a common ground we can use `xdg-open` which is a part of `freedesktop.org` and should be available almost everywhere.
2023-09-19 16:50:17 +02:00
Andrej Stojkovikj 8930c7ba56 Implemented static functions for length and length squared for Vectors 2023-09-19 16:09:18 +02:00
Andrej Stojkovikj 3f299f4cf6 Just in case change type cast for other variables as well 2023-09-19 15:57:33 +02:00
Andrej Stojkovikj e1f528ec9a Fix SmoothDamp missed type casting for Vector2 2023-09-19 15:48:16 +02:00
Andrej Stojkovikj 4e44002259 Fix SmoothDamp missed type casting for Vector 3 2023-09-19 15:47:38 +02:00
mafiesto4 49a6b5734a Fix crash when setting material instance base material before it's loaded 2023-09-19 14:14:57 +02:00
mafiesto4 255e47fa1e Fix crash due to invalid message in Assimp 2023-09-19 14:00:37 +02:00
mafiesto4 2655dd12d6 Reapply e218cc417f but a little better 2023-09-19 13:40:01 +02:00
mafiesto4 bb5ff740bf Update recastnavigation lib to 1.6 2023-09-19 13:34:32 +02:00
mafiesto4 0083ebd887 Fix missing C# static fields in native scripting api 2023-09-19 09:32:37 +02:00
Red Kitsune 7c0546c68d After CR changes 2023-09-19 00:21:56 +02:00
mafiesto4 10dc06be9b Fix crash if OpenAL internal device name is all whitespaces 2023-09-18 19:23:10 +02:00
mafiesto4 c4b22b2120 Merge branch 'Tryibion-slider-thumb-highlighting' 2023-09-18 17:34:07 +02:00
mafiesto4 3c28fbe44c Merge branch 'slider-thumb-highlighting' of https://github.com/Tryibion/FlaxEngine into Tryibion-slider-thumb-highlighting 2023-09-18 17:29:41 +02:00
mafiesto4 fa73d9d451 Merge branch 'Tryibion-clamp-node-size' 2023-09-18 17:29:10 +02:00
mafiesto4 cdcba9bddb Merge branch 'clamp-node-size' of https://github.com/Tryibion/FlaxEngine into Tryibion-clamp-node-size 2023-09-18 17:29:02 +02:00
mafiesto4 b64db5ec88 Merge branch 'GoaLitiuM-dotnet8_compat_fix' 2023-09-18 17:27:09 +02:00
mafiesto4 b8a626c95d Merge branch 'dotnet8_compat_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet8_compat_fix 2023-09-18 17:27:02 +02:00
mafiesto4 6ff088d0cb Merge branch 'GoaLitiuM-hostfxr_msg' 2023-09-18 17:25:06 +02:00
mafiesto4 3381751c54 Merge branch 'hostfxr_msg' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-hostfxr_msg 2023-09-18 17:24:57 +02:00
mafiesto4 04713a829f Merge branch 'MineBill-fix_folder_rename' 2023-09-18 16:57:03 +02:00
mafiesto4 40c98ac9e5 Merge branch 'fix_folder_rename' of https://github.com/MineBill/FlaxEngine into MineBill-fix_folder_rename 2023-09-18 16:56:53 +02:00
mafiesto4 bf5b940892 Merge branch 'GoaLitiuM-editor_module_lookup_fix' 2023-09-18 15:16:14 +02:00
mafiesto4 502af0b67a Merge branch 'editor_module_lookup_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-editor_module_lookup_fix 2023-09-18 15:16:07 +02:00
mafiesto4 960b825b4c Code style fix 2023-09-18 12:21:12 +02:00
elestrago 4fe02a24e9 Fix find Rider versions 2022 and later 2023-09-18 12:19:58 +02:00
Walrusking 4b0e70aa06 Fixes Rider 2022 not detected when installed with toolbox 2023-09-18 12:19:50 +02:00
Walrusking 03b8b9f73f Fix rider search detecting any jetbrains product as rider 2023-09-18 12:19:38 +02:00
mafiesto4 8b022af360 Merge branch 'wackoisgod-macos-rider-support' 2023-09-18 12:18:35 +02:00
mafiesto4 1de8581e6d Merge branch 'macos-rider-support' of https://github.com/wackoisgod/FlaxEngine into wackoisgod-macos-rider-support 2023-09-18 12:18:27 +02:00
mafiesto4 1c246db400 Merge branch 'Walrusking16-fix/detect-rider-installed-from-toolbox-windows' into 1.7 2023-09-18 12:16:43 +02:00
mafiesto4 db790a13d4 Merge branch 'fix/detect-rider-installed-from-toolbox-windows' of https://github.com/Walrusking16/FlaxEngine into Walrusking16-fix/detect-rider-installed-from-toolbox-windows 2023-09-18 12:16:37 +02:00
mafiesto4 f69b4ca410 Merge branch 'eLeSTRaGo-Dev-fix/detect-rider-installed-from-toolbox-linux' into 1.7 2023-09-18 12:12:18 +02:00
mafiesto4 79bf226fe1 Codestyle fix 2023-09-18 12:11:28 +02:00
mafiesto4 0ece806230 Merge branch 'wackoisgod-macos-flex-build-fixes' 2023-09-18 11:49:49 +02:00
mafiesto4 c63e2802a1 Merge branch 'macos-flex-build-fixes' of https://github.com/wackoisgod/FlaxEngine into wackoisgod-macos-flex-build-fixes 2023-09-18 11:49:43 +02:00
mafiesto4 a33647ecf1 Merge branch 'wackoisgod-script-generics-crash' 2023-09-18 11:47:40 +02:00
mafiesto4 342877ec42 Merge branch 'script-generics-crash' of https://github.com/wackoisgod/FlaxEngine into wackoisgod-script-generics-crash 2023-09-18 11:47:33 +02:00
mafiesto4 e38a8bda7a Codestyle fix for #1425 2023-09-18 11:26:56 +02:00
mafiesto4 1f386f9ce0 Merge branch 'wackoisgod-macos-ios-build-issue' 2023-09-18 11:25:55 +02:00
Andrew Spiering 97f595922e Fixing broken build
Have to actually set it to true
2023-09-17 23:11:23 -07:00
Andrew Spiering 9f4429f87c When building the engine if you don't have iOS SDK Installed then don't build it
Currently when you try and build macOS editor it assumes you also want to build iOS because of the way this check works which assumes if you have Xcode Installed you are ready to go. This really should not be the case, so instead lets check to see if you have the iophonesdk installed for your current Xcode if not then skip it.
2023-09-17 22:26:50 -07:00
Andrew Spiering 3ac00b1e4e Fixing a crash when generic classes spanned across different assemblies
This code attempts to resolve an issue where if you had a class in Assembly A and it was generic and you had a class that inherited from it in Assembly B it would not properly resolve these classes, also added an error check for if I was not able to find the TypeIndex then log it and return thus also preventing a crash when it goes to resolve the NativeType
2023-09-17 20:37:37 -07:00
Andrew Spiering 824ee9ec7f Fixing a typo :/ 2023-09-17 18:48:54 -07:00
Tryibion 6e94b21452 Fix build issue 2023-09-17 20:02:22 -05:00
Andrew Spiering 69e54d7f88 Fixing an issue if running an x64 machine already 2023-09-17 15:53:48 -07:00
Tryibion 17383fe0b6 Small fix to error message 2023-09-17 17:49:38 -05:00
Tryibion c1104e803d Code cleanup 2023-09-17 17:48:09 -05:00
Andrew Spiering 183ab7738f Fixing Flex Build issues on M1/2 macs
* This resolves some issues where if you are building the actual C# dlls you also need them to be x64 based if you are targeting an x64 based target. This is a little complicated here because we set all this up ahead of time assuming that all the targets are compatible but in this case they are not so, just following what other places in the code are doing around this specifically dotnet AOT.
2023-09-17 15:42:26 -07:00
Tryibion 478c946c1c Add automatic module creation. 2023-09-17 17:42:18 -05:00
Andrew Spiering 76945b9144 MacOS Rider Support
* Adding in code to properly look for rider on macOS
* Also fixing an issue in the macOS CreateProcess where spaces where not properly escaped for popen(which one should likely use NSTask long term)
2023-09-17 14:56:22 -07:00
Andrej Stojkovikj 831500faa7 Fix type definition for Vector2 and Vector3 2023-09-17 23:16:08 +02:00
Red Kitsune 5cc3e40902 Implemented better missing script handling 2023-09-17 20:28:34 +02:00
mafiesto4 ffec2f751d Merge branch 'wackoisgod-macos-arm-dotnet-fix' 2023-09-17 19:24:07 +02:00
mafiesto4 660dc81d8e Merge branch 'macos-arm-dotnet-fix' of https://github.com/wackoisgod/FlaxEngine into wackoisgod-macos-arm-dotnet-fix 2023-09-17 19:23:50 +02:00
mafiesto4 c0d5cf8022 Merge branch 'GoaLitiuM-contentdb_delete_fix' 2023-09-17 19:22:08 +02:00
Andrew Spiering bdd182f3da Fixing x64 editor/runtime on arm64 macs
* This allows for a much more broader check for the dotnet sdk runtime to support running x64 binaries on arm64
2023-09-16 18:23:27 -07:00
Tryibion ab2d60e6d2 Fix viewport options extras locations. 2023-09-16 15:30:49 -05:00
Andrej Stojkovikj d87a60de48 Naming scheme for Vector2 fix 2023-09-16 22:27:12 +02:00
Tryibion e9bafed2c7 Fix about dialog button 2023-09-16 15:22:15 -05:00
Tryibion f4b7ae41a9 Fix profiler rows with larger font sizes. 2023-09-16 14:51:47 -05:00
Tryibion 1d08e4b1b8 Add several fixes to button sizes when fonts are larger. 2023-09-16 14:28:21 -05:00
Andrej Stojkovikj 7a73c04688 SmoothDamp implementation for Vector2 and Vector3 2023-09-16 21:18:00 +02:00
Walrusking 425d625aa7 Fix rider search detecting any jetbrains product as rider 2023-09-16 13:48:49 -04:00
Tryibion dabbd7bc6a Add highlighting when mouse is over slider thumb. 2023-09-16 11:46:36 -05:00
MineBill 9931a5c026 Don't treat '.' in folder names as extensions. 2023-09-16 19:09:38 +03:00
GoaLitiuM 9a7fb82738 Fix tests 2023-09-16 18:39:01 +03:00
Tryibion a89856bece Increase size of clamp node to handle vector4. 2023-09-16 10:15:26 -05:00
GoaLitiuM 5ab299fed9 Fix assets getting deleted when modified by external applications 2023-09-16 18:11:22 +03:00
GoaLitiuM 785943bef8 Add missing marshaller methods for compatibility 2023-09-16 16:00:12 +03:00
GoaLitiuM f114301e97 Improve hostfxr error messages 2023-09-16 15:03:09 +03:00
GoaLitiuM 58b2530ac4 Remove redundant reference counter from Delegate 2023-09-16 14:16:25 +03:00
GoaLitiuM 2d2bfd9cd1 Include EditorModules in Assembly lookup paths 2023-09-16 14:15:09 +03:00
Ruan Lucas 23b6b93726 add collision type to model importer 2023-09-15 19:13:32 -04:00
Menotdan 451900b7ee Merge branch 'FlaxEngine:master' into material_import 2023-09-15 02:17:34 -04:00
Walrusking f319e9f234 Fixes Rider 2022 not detected when installed with toolbox 2023-09-15 01:31:33 -04:00
elestrago 8226764eec Fix find Rider versions 2022 and later 2023-09-15 02:35:20 +02:00
elestrago 2efc31a74e Execute map window before resize in LinuxWindow 2023-09-15 02:13:13 +02:00
Crawcik 1dd7a27568 Checking for executable 2023-09-14 23:19:36 +02:00
Crawcik 64a5d895bd Better version checking 2023-09-14 23:18:12 +02:00
Crawcik 73bf28dc47 Change of priorities on RID 2023-09-14 22:37:56 +02:00
Crawcik 6dd0957c4a Adding better finding dotnet root location for mac&unix 2023-09-14 22:34:03 +02:00
mafiesto4 ae9b807cc1 Allow using CustomValueContainer as readonly if setter action is null 2023-09-14 13:54:31 +02:00
mafiesto4 f7787a9221 Add Behavior knowledge data debugging 2023-09-14 13:53:19 +02:00
mafiesto4 35609c9883 Merge remote-tracking branch 'origin/master' into 1.7 2023-09-14 13:25:59 +02:00
mafiesto4 722133165b Fix marshalling Array<Variant> as object[] (C# codegen error) 2023-09-14 13:18:52 +02:00
GoaLitiuM c686e59fd6 Lazy allocate mutex in Delegate 2023-09-13 17:30:13 +03:00
mafiesto4 b8abcb5755 Merge branch 'GoaLitiuM-delegate_mutex' into 1.7 2023-09-13 11:44:55 +02:00
mafiesto4 936018c49e Add DELEGATE_USE_ATOMIC to toggle #1319 for backward compatibility 2023-09-13 11:44:44 +02:00
Wiktor Kocielski d389348260 Add View Layers button & Reset/Disable/Copy/Paste buttons to View Flags/Debug View & Camera RenderFlags/RenderView addition 2023-09-13 12:17:34 +03:00
mafiesto4 38f7606923 Merge branch 'delegate_mutex' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-delegate_mutex 2023-09-13 10:57:34 +02:00
mafiesto4 682ff2fb3a Minor tweaks 2023-09-13 10:52:46 +02:00
mafiesto4 6bdbaecc18 Merge remote-tracking branch 'origin/master' into 1.7
# Conflicts:
#	Source/Engine/Physics/PhysX/SimulationEventCallbackPhysX.cpp
2023-09-13 10:29:28 +02:00
mafiesto4 cb2ed817a2 Merge branch 'GoaLitiuM-physx_collision_perf' into 1.7 2023-09-13 10:28:14 +02:00
mafiesto4 656d984df7 Merge branch 'physx_collision_perf' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-physx_collision_perf 2023-09-13 10:27:29 +02:00
mafiesto4 963c12a75f Merge branch 'RuanLucasGD-add_spline_edit_options' 2023-09-12 22:25:28 +02:00
mafiesto4 cb44c9370e Refactor new spline editor to use icons via Tabs control #1292 2023-09-12 22:25:18 +02:00
mafiesto4 dbd85fddfe Refactor Editor Tab controls system to allows customizing the tab header controls 2023-09-12 22:24:15 +02:00
mafiesto4 3e1940c799 Add new spline icons #1292 2023-09-12 22:18:26 +02:00
mafiesto4 2a8e35d1ff Format code #1292 2023-09-12 14:38:23 +02:00
mafiesto4 f2e6bfdead Merge branch 'add_spline_edit_options' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-add_spline_edit_options 2023-09-12 14:26:39 +02:00
mafiesto4 aa34f85b39 Merge branch 'Tryibion-input-editors' 2023-09-12 14:21:39 +02:00
mafiesto4 097d26f8cb Codestyle fix #1262 2023-09-12 14:21:27 +02:00
mafiesto4 6ece66b018 Merge branch 'input-editors' of https://github.com/Tryibion/FlaxEngine into Tryibion-input-editors 2023-09-12 14:09:49 +02:00
mafiesto4 9bbdf16623 Fix potential content tree freeze when toggling engine/plugins files showing 2023-09-12 14:03:53 +02:00
mafiesto4 04be05239a Merge branch 'Tryibion-lods' 2023-09-12 13:56:52 +02:00
mafiesto4 3170142171 Merge branch 'lods' of https://github.com/Tryibion/FlaxEngine into Tryibion-lods 2023-09-12 13:56:42 +02:00
mafiesto4 44eba3fdae Fix missing xml comment line from #1291 2023-09-12 13:54:01 +02:00
mafiesto4 a9c8a76f87 Merge branch 'Withaust-layeraddition' 2023-09-12 13:52:30 +02:00
mafiesto4 4cae6e50d5 Merge branch 'layeraddition' of https://github.com/Withaust/FlaxEngine into Withaust-layeraddition 2023-09-12 13:52:23 +02:00
mafiesto4 7b4c8e391a Minor optimization for clearing collider from simulation events cache 2023-09-12 13:50:50 +02:00
mafiesto4 c10658c3fc Fix deserialization, add more docs and tweaks to #1345 2023-09-12 13:50:22 +02:00
mafiesto4 452cdfd163 Merge branch 'Tryibion-physics-settings' 2023-09-12 13:03:12 +02:00
mafiesto4 1591da75ac Merge branch 'physics-settings' of https://github.com/Tryibion/FlaxEngine into Tryibion-physics-settings 2023-09-12 13:03:04 +02:00
mafiesto4 639149b63b Fix crash when toggling WheeledVehicle active state
#1351
2023-09-12 11:41:33 +02:00
mafiesto4 3e35a6a7af Fix cloth sim due to culling bug in cooked game 2023-09-11 22:55:03 +02:00
mafiesto4 fb488cbaf7 Merge remote-tracking branch 'origin/master' into 1.7 2023-09-11 22:43:46 +02:00
mafiesto4 762960bee1 Merge branch 'Tryibion-plugin-project-creation' 2023-09-11 22:42:55 +02:00
mafiesto4 9d494679ac Add formatting MyPlugin.cs for new plugin setup
#1335
2023-09-11 22:42:48 +02:00
mafiesto4 985d6cc811 Add UTF8 format for created plugin files and format code
#1335
2023-09-11 22:32:37 +02:00
mafiesto4 99c2adc1f3 Add game settings formatting for created plugin ProjectInfo
#1335
2023-09-11 22:32:17 +02:00
mafiesto4 776fbe2a7b Fix creating plugin with whitespace or non-ASCII character in the name
#1335
2023-09-11 22:30:51 +02:00
mafiesto4 2fa7740a0f Merge branch 'plugin-project-creation' of https://github.com/Tryibion/FlaxEngine into Tryibion-plugin-project-creation 2023-09-11 21:48:31 +02:00
mafiesto4 0a5f983ff4 Fix error when model is missing in Editor for prefab editor
#1354
2023-09-11 21:36:36 +02:00
mafiesto4 b7cf0d4420 Merge branch 'NoriteSC-ContentBrowserImprovement' 2023-09-11 20:03:51 +02:00
mafiesto4 16fed8927c Refactor #1266 (code quality and simplicity) 2023-09-11 20:02:53 +02:00
mafiesto4 2ddb44afa8 Merge branch 'ContentBrowserImprovement' of https://github.com/NoriteSC/FlaxEngineFork into NoriteSC-ContentBrowserImprovement
# Conflicts:
#	Source/Editor/Windows/ContentWindow.cs
2023-09-11 15:39:48 +02:00
mafiesto4 59c460ccbc Format code 2023-09-11 15:08:13 +02:00
mafiesto4 748ff3b8a5 Optimize CultureInfoEditor and TagEditor performance when searching entries by text 2023-09-11 15:07:37 +02:00
mafiesto4 829d3b3642 Add editor shortcuts usability when toolstrip or main menu controls are focused 2023-09-11 15:07:06 +02:00
mafiesto4 48d4a51c1b Fix crash when boxing native array to managed value 2023-09-11 15:06:26 +02:00
mafiesto4 1134cfa6a6 Fix using ManagedDictionary when item value type is array
#1305
2023-09-11 15:05:46 +02:00
mafiesto4 9afa98e905 Fix Random Range nodes in CPU particles/script graphs when using int
#1341
2023-09-11 13:59:10 +02:00
mafiesto4 fb27606541 Add missing Particle Scale getter node to Particle Emitter graph
#1343
2023-09-11 13:54:44 +02:00
mafiesto4 716e643f2a Fix applying prefab changes to nesting prefab instances
#1256
2023-09-10 21:07:41 +02:00
mafiesto4 ae27d51dc6 Fix building for Android with the latest Java version (update to Gradle 8.3) 2023-09-10 14:53:58 +02:00
mafiesto4 a4312590e7 Fix debug draw leftover from 9da686cd52
#1369 #1365
2023-09-10 13:34:46 +02:00
Wiktor Kocielski 8008f05d64 Merge branch 'master' into layeraddition 2023-09-10 13:39:31 +03:00
mafiesto4 328bfa8322 Merge branch 'Tryibion-sort-projects' 2023-09-10 12:06:30 +02:00
mafiesto4 e1a75b9ae9 Merge branch 'sort-projects' of https://github.com/Tryibion/FlaxEngine into Tryibion-sort-projects 2023-09-10 12:05:14 +02:00
mafiesto4 f08e1019b4 Merge branch 'Tryibion-content-item-improve' 2023-09-10 12:03:47 +02:00
mafiesto4 212b7970fc Merge branch 'content-item-improve' of https://github.com/Tryibion/FlaxEngine into Tryibion-content-item-improve 2023-09-10 12:00:20 +02:00
mafiesto4 9da686cd52 Improve #1369 for #1365 2023-09-10 11:58:54 +02:00
mafiesto4 948ca92b4f Merge branch 'RuanLucasGD-master' 2023-09-10 11:44:40 +02:00
mafiesto4 3962285b87 Merge branch 'master' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-master 2023-09-10 11:44:34 +02:00
mafiesto4 53deeff116 Missing change from 9291295a4d 2023-09-10 11:33:08 +02:00
mafiesto4 9291295a4d Fix Dictionary and HashSet iterators to prevent unwanted data copies
#1361
2023-09-10 11:25:36 +02:00
mafiesto4 0c89aa1958 Merge branch 'Withaust-resizedelegate' 2023-09-10 11:12:25 +02:00
mafiesto4 9d031fadc0 Merge branch 'resizedelegate' of https://github.com/Withaust/FlaxEngine into Withaust-resizedelegate 2023-09-10 11:12:19 +02:00
mafiesto4 d730d712fb Merge branch 'Tryibion-slider' 2023-09-10 11:09:37 +02:00
mafiesto4 317c7021a3 Merge branch 'slider' of https://github.com/Tryibion/FlaxEngine into Tryibion-slider 2023-09-10 11:08:10 +02:00
mafiesto4 d11a90a680 Merge branch 'RuanLucasGD-add_DebugDraw_DrawRay' 2023-09-10 11:03:37 +02:00
mafiesto4 f8d56fceec Merge branch 'add_DebugDraw_DrawRay' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-add_DebugDraw_DrawRay 2023-09-10 11:03:31 +02:00
mafiesto4 bd63fadfbd Merge branch 'scene-select-fix' of https://github.com/Tryibion/FlaxEngine 2023-09-10 10:59:13 +02:00
mafiesto4 b279adbaab Merge branch 'GoaLitiuM-managed_utf8_str_fix' 2023-09-10 10:52:21 +02:00
mafiesto4 002d46cddd Merge branch 'managed_utf8_str_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-managed_utf8_str_fix 2023-09-10 10:52:08 +02:00
mafiesto4 6bbc74caf2 Merge branch 'Tryibion-cache-clothgizmo-values' into 1.7 2023-09-10 10:47:41 +02:00
mafiesto4 36e19b112a Merge branch 'cache-clothgizmo-values' of https://github.com/Tryibion/FlaxEngine into Tryibion-cache-clothgizmo-values 2023-09-10 10:47:34 +02:00
mafiesto4 8a31a63713 Fix build 2023-09-10 10:25:03 +02:00
mafiesto4 f20977732e Merge branch 'Tryibion-remove-tag' 2023-09-10 10:18:52 +02:00
mafiesto4 d653300e18 Merge branch 'remove-tag' of https://github.com/Tryibion/FlaxEngine into Tryibion-remove-tag 2023-09-10 10:18:45 +02:00
Ruan Lucas c6ad4d0e19 small doc fix 2023-09-09 13:07:39 -04:00
Ruan Lucas 420e02e3c1 add empty drawRay 2023-09-09 09:28:06 -04:00
Ruan Lucas 317384ed28 add debugdraw::drawray 2023-09-08 22:19:09 -04:00
Tryibion 99627da9b2 Cache cloth gizmo values. 2023-09-08 21:16:13 -05:00
Ruan Lucas fc7c24f771 Fix for #1365 2023-09-07 11:33:16 -04:00
Wiktor Kocielski 5ceafaad77 WindowBase::Resized delegate 2023-09-06 05:47:51 +03:00
Wiktor Kocielski d9a1eb349d Implement tags recursive addition 2023-09-06 05:43:27 +03:00
Wiktor Kocielski 7c9959bca5 Merge branch 'FlaxEngine:master' into layeraddition 2023-09-06 05:19:55 +03:00
Tryibion d96f19e5c6 Change exposed positionns to float 2 2023-09-05 08:44:59 -05:00
Tryibion 65a02f032f Expose helpful slider data. 2023-09-05 08:25:25 -05:00
Tryibion 20f35e332f Add slider control 2023-09-04 20:15:59 -05:00
Menotdan 1ed84a9b40 Merge branch 'FlaxEngine:master' into material_import 2023-09-04 11:42:05 -04:00
Tryibion 39ecfe8c24 Small bug fix 2023-09-03 12:11:33 -05:00
Mr. Capybara 0a094ca916 Merge branch 'FlaxEngine:master' into add_spline_edit_options 2023-09-03 09:25:14 -04:00
Tryibion 924e1c6d81 Fix right click deselecting scene tree nodes. 2023-09-03 06:36:29 -05:00
GoaLitiuM afec6afe4c Fix managed UTF-8 string allocation not using correct encoding 2023-09-03 14:05:21 +03:00
GoaLitiuM 4ffec5e09a Use HashSet as backing storage for bound Delegate functions 2023-09-02 23:14:38 +03:00
GoaLitiuM 6278fea496 Optimize PhysX collision event handling and onContact callback 2023-09-02 23:04:35 +03:00
Tryibion 92a5432d22 Sort plugin projects in content tree. 2023-09-02 13:13:34 -05:00
mafiesto4 6a5e660c2e Merge remote-tracking branch 'origin/master' into 1.7 2023-09-02 19:02:52 +02:00
Tryibion 67909e33c8 Add difference for folders. 2023-09-01 16:37:14 -05:00
Tryibion 53861c4795 Improve content item in tile view. Decrease margin between list view items. 2023-09-01 14:28:26 -05:00
mafiesto4 36dca16991 Fix WheeledVehicle driving in Drive4W mode when wheels are in custom order
#1352
2023-09-01 13:43:36 +02:00
Tryibion 5b5c298a96 Add remove tag method to actor. 2023-09-01 06:35:52 -05:00
mafiesto4 5a8944a82d Add support for editing WheeledVehicle engine/differential config at runtime without full physics state rebuild
#1348
2023-09-01 12:52:01 +02:00
mafiesto4 b0ec8525aa Add support for editing WheeledVehicle wheels config at runtime without full physics state rebuild
#1324
2023-09-01 12:40:51 +02:00
mafiesto4 a8cc4d7fcb Fix wheel vehicle drive when EnableSimulation is disabled
#1323
2023-09-01 12:14:26 +02:00
mafiesto4 23db68b416 Merge branch 'Tryibion-progress-bar-improv' 2023-09-01 11:59:12 +02:00
mafiesto4 622293a55b Merge branch 'progress-bar-improv' of https://github.com/Tryibion/FlaxEngine into Tryibion-progress-bar-improv 2023-09-01 11:59:05 +02:00
mafiesto4 60178da101 Merge branch 'Tryibion-add-reset-ibrush' 2023-09-01 11:58:42 +02:00
mafiesto4 50fe02d7ad Merge branch 'add-reset-ibrush' of https://github.com/Tryibion/FlaxEngine into Tryibion-add-reset-ibrush 2023-09-01 11:58:19 +02:00
mafiesto4 462da342a7 Fix ContextMenuSingleSelectGroup selection of the first item that had default value 2023-09-01 11:43:02 +02:00
mafiesto4 21b90fb829 Fix crash when spawning large amount of network objects at once by sending spawn message in parts
#1344
2023-09-01 11:42:31 +02:00
Tryibion a98458be1f Small improvements. 2023-08-31 14:14:01 -05:00
Tryibion e4dfda7202 Add method enum. 2023-08-31 14:07:17 -05:00
mafiesto4 8ff96723db Add async update to Behavior via Task Graph System 2023-08-31 14:54:26 +02:00
mafiesto4 f43f17a783 Add Move To node to BT 2023-08-31 14:02:03 +02:00
mafiesto4 5d2fae5896 Add GetColliders utility to RigidBody 2023-08-31 14:01:30 +02:00
mafiesto4 67d5d3a3fb Fix missing Variant typename for Object or Asset value to properly pass type checks 2023-08-31 09:37:54 +02:00
mafiesto4 5500e99ed8 Add NavMeshPathFlags to navmesh for partial paths info 2023-08-31 09:37:27 +02:00
mafiesto4 540681e59d Add MoveTowards to vector3 2023-08-31 09:23:16 +02:00
Tryibion 53fd158f2d Add a way to reset an IBrush to null for default functionality. 2023-08-30 18:09:59 -05:00
Tryibion d7112dc534 Improve progress bar to add switch between clipping and stretch and add direction. 2023-08-30 17:59:39 -05:00
mafiesto4 b6c8a08b58 Add Has Goal decorator to BT 2023-08-29 17:31:35 +02:00
mafiesto4 57ee884397 Add hot-reload support for BT to properly reload node instances data 2023-08-29 16:33:41 +02:00
mafiesto4 c32a139dbd Fix crash when unboxing managed structure with refs into Variant 2023-08-29 11:57:18 +02:00
mafiesto4 16930466d5 Hide some compiler-generated types from TypeSearchPopup 2023-08-29 11:43:11 +02:00
mafiesto4 c7d277ca74 Fix crash when unboxing managed structure with refs into Variant 2023-08-29 11:42:47 +02:00
mafiesto4 597f186902 Fix Editor UI when one of the properties panel throws exceptions 2023-08-29 11:42:12 +02:00
mafiesto4 17cbd66aed Fix Label to draw text under children 2023-08-29 11:41:29 +02:00
mafiesto4 0defecaeb9 Add concept of Goals to Behavior Knowledge 2023-08-29 11:41:07 +02:00
mafiesto4 81a2898d4e Add double-reference support for scripting function parameters to move value 2023-08-28 14:19:02 +02:00
mafiesto4 8906453b15 Merge remote-tracking branch 'origin/master' into 1.7 2023-08-28 09:11:29 +02:00
mafiesto4 bd750d2634 Fix incoming drag drop location on macOS 2023-08-27 22:41:57 +02:00
mafiesto4 fa77a52a2c Fix prefab apply bug when one of the prefabs in project is broken 2023-08-27 20:08:27 +02:00
mafiesto4 1292fa3f45 Merge branch 'Withaust-replicationdisabling' 2023-08-27 16:43:31 +02:00
mafiesto4 0909c5bcc0 Merge branch 'replicationdisabling' of https://github.com/Withaust/FlaxEngine into Withaust-replicationdisabling 2023-08-27 16:43:24 +02:00
mafiesto4 8681f37218 Merge branch 'GoaLitiuM-xaudio2_crash' 2023-08-27 16:38:37 +02:00
mafiesto4 dc871a637b Merge branch 'xaudio2_crash' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-xaudio2_crash 2023-08-27 16:38:21 +02:00
mafiesto4 68db761c8b Merge branch 'Tryibion-animevent-abswrapper-remove' 2023-08-27 16:36:45 +02:00
mafiesto4 3b163b6c4b Minor cleanup 2023-08-27 16:36:37 +02:00
mafiesto4 94bd4d39f7 Merge branch 'animevent-abswrapper-remove' of https://github.com/Tryibion/FlaxEngine into Tryibion-animevent-abswrapper-remove 2023-08-27 16:31:48 +02:00
mafiesto4 9b184fd618 Merge branch 'Tryibion-add-tab-breaks' 2023-08-27 16:30:46 +02:00
mafiesto4 6261f02d1c Merge branch 'add-tab-breaks' of https://github.com/Tryibion/FlaxEngine into Tryibion-add-tab-breaks 2023-08-27 16:29:31 +02:00
mafiesto4 698e933e18 Merge branch 'Tryibion-timeline-ui' 2023-08-27 16:28:44 +02:00
mafiesto4 97b56d1e72 Minor tweak #1332 2023-08-27 16:28:35 +02:00
mafiesto4 6274c2a8e6 Merge branch 'timeline-ui' of https://github.com/Tryibion/FlaxEngine into Tryibion-timeline-ui 2023-08-27 16:25:29 +02:00
mafiesto4 87e19ef4bc Fix crash on terrain export in Editor
#1330
2023-08-27 16:19:25 +02:00
mafiesto4 9069d0a853 Merge branch 'Tryibion-filter-cm' 2023-08-27 15:37:27 +02:00
mafiesto4 48c74e5ea5 Merge branch 'filter-cm' of https://github.com/Tryibion/FlaxEngine into Tryibion-filter-cm 2023-08-27 15:37:22 +02:00
mafiesto4 542a89bffc Merge branch 'Tryibion-show-jsonasset-type' 2023-08-27 15:36:49 +02:00
Tryibion 44598d4741 Small change in showing target error 2023-08-26 17:07:04 -05:00
Tryibion 87aba23299 Add tab breaks for window tabs. 2023-08-26 16:49:37 -05:00
Tryibion c5ff2c8c2f Add tooltip text. 2023-08-26 16:17:21 -05:00
Tryibion 514bc00310 Show Json Asset Type on ToolStrip of Json Asset Window. 2023-08-26 16:10:59 -05:00
Tryibion d969a7f8b0 Add more physics settings. 2023-08-26 15:17:45 -05:00
mafiesto4 50669a341d Improve connections drawing for BehaviorTree and AnimGraph 2023-08-26 09:38:33 +02:00
Tryibion 8ad4c94545 Add not closing contnent filter cm on click 2023-08-25 15:25:51 -05:00
GoaLitiuM 3939106e78 Fix crash with XAudio2 backend when source is playing
The array containing the sources might grow and invalidate existing
pointers to sources while some of the previous sources are still playing.
2023-08-25 22:09:00 +03:00
NoriteSC 1cb3c798e5 Revent 2023-08-25 19:12:35 +02:00
Tryibion ff2f239858 Add system reference. 2023-08-25 08:17:09 -05:00
mafiesto4 1287731816 Add reordering and reparenting decorators (with undo) 2023-08-25 14:54:40 +02:00
NoriteSC 6ab2e540a3 Bug Fixes
script and actors not having connect transform in on awake and in on start

join auto anchor having wrong anchor because was including scale

fixed selection do to changes to transform accessibility ?
2023-08-25 14:51:49 +02:00
mafiesto4 99547a1ff4 Add Has Tag decorator 2023-08-25 10:42:53 +02:00
mafiesto4 b31f262214 Add Knowledge Conditional and Knowledge Values Conditional decorators to BT 2023-08-25 10:25:24 +02:00
mafiesto4 cc7e93e2ee Don't recheck decorators conditions if the node is already relevant 2023-08-25 10:22:33 +02:00
mafiesto4 992cc381d5 Simplify Variant code with define for ManagedObject handle 2023-08-25 10:22:09 +02:00
Wiktor Kocielski 87e36bcfd5 Stop replication if NetworkManager::NetworkFPS < 0 2023-08-25 02:44:23 +03:00
Wiktor Kocielski 7b44075ac8 Add recursive methods for layers 2023-08-25 00:01:31 +03:00
Tryibion 0bbd619e32 Code cleanup 2023-08-24 13:54:55 -05:00
Tryibion 51664fc236 Use pltform process. 2023-08-24 13:51:08 -05:00
Tryibion fb69bc64f8 Add automated plugin project creation and Git cloning. 2023-08-24 11:38:14 -05:00
mafiesto4 2026c84baa Hide node close button when read-only (eg. play mode) 2023-08-24 16:56:28 +02:00
mafiesto4 a27cb4e215 Refactor BT nodes methods to always use context structure as input 2023-08-24 16:51:25 +02:00
mafiesto4 8c1dfb3087 Add Time Limit and Cooldown decorators to BT 2023-08-24 16:41:01 +02:00
mafiesto4 d2034622cb Add Invert, ForceSuccess, ForceFailed and Loop decorators to BT 2023-08-24 13:06:55 +02:00
mafiesto4 69ab69c5cc Add Decorators support to BT graph 2023-08-24 13:05:54 +02:00
mafiesto4 0c206564be Fix generic typename to be properly converted to C# 2023-08-24 13:02:29 +02:00
mafiesto4 5f581bf156 Add OnPasted to Visject Surface nodes for custom post-paste logic 2023-08-24 10:43:59 +02:00
mafiesto4 952fe61515 Add SurfaceNodeActions for more contextual surface nodes scripting 2023-08-24 10:43:22 +02:00
mafiesto4 60e5c5446c Add SealedNodes feature to Visject Surface nodes 2023-08-24 10:41:02 +02:00
mafiesto4 c58dc51291 Various improvements to Visject Surface 2023-08-24 10:12:40 +02:00
Tryibion 7e429854d6 Simplify check to use attribute. 2023-08-23 09:03:56 -05:00
Tryibion e1645210b3 Add check and indication if no anim events are found. 2023-08-23 08:46:21 -05:00
Tryibion e16e2e2877 Prevent AbstractWrapper from showing in Add AnimEvent CM. 2023-08-23 08:35:35 -05:00
mafiesto4 73c0758410 Add releasing nested nodes state when BT tree goes irrelevant 2023-08-23 13:43:46 +02:00
Tryibion 3295d58684 Simplify 2023-08-22 21:34:36 -05:00
Tryibion 72488c4250 Update cs script temple to use non-indented namespace. 2023-08-22 21:14:33 -05:00
Tryibion a737e7bb05 Small fix to UI 2023-08-22 17:36:09 -05:00
Tryibion ce4cf9b34b Add timeline position numbers and add to GUI. 2023-08-22 15:42:16 -05:00
mafiesto4 3259af3368 Add Force Finish node to BT 2023-08-22 11:12:05 +02:00
mafiesto4 d86eb5a4c2 Add drag&drop for nested BT spawning in Editor 2023-08-22 10:45:50 +02:00
mafiesto4 50c85aec6d Minor improvements to #1315 and add getter of current window style 2023-08-21 23:33:33 +02:00
mafiesto4 d432654a57 Merge branch 'Tryibion-set-window-mode' 2023-08-21 22:42:20 +02:00
mafiesto4 b4adb7f3e1 Merge branch 'set-window-mode' of https://github.com/Tryibion/FlaxEngine into Tryibion-set-window-mode 2023-08-21 22:42:13 +02:00
mafiesto4 3edae2f686 Merge branch 'Withaust-terraincache' 2023-08-21 22:31:18 +02:00
mafiesto4 845697cc4a Merge branch 'terraincache' of https://github.com/Withaust/FlaxEngine into Withaust-terraincache 2023-08-21 22:31:01 +02:00
mafiesto4 6bf2f219db Merge branch 'Tryibion-rename-popup-check' 2023-08-21 22:02:45 +02:00
mafiesto4 c137b5743a Merge branch 'rename-popup-check' of https://github.com/Tryibion/FlaxEngine into Tryibion-rename-popup-check 2023-08-21 22:02:38 +02:00
mafiesto4 dc3ae040a3 Merge branch 'Tryibion-dont-close-cm' 2023-08-21 21:58:15 +02:00
mafiesto4 131b2ae688 Merge branch 'dont-close-cm' of https://github.com/Tryibion/FlaxEngine into Tryibion-dont-close-cm 2023-08-21 21:56:40 +02:00
mafiesto4 3e92409d66 Merge branch 'Tryibion-button-border' 2023-08-21 21:55:03 +02:00
mafiesto4 8c230e7cb0 Merge branch 'button-border' of https://github.com/Tryibion/FlaxEngine into Tryibion-button-border 2023-08-21 21:54:56 +02:00
mafiesto4 863b6338ce Fix missing asset refs from BT nodes data 2023-08-21 18:28:05 +02:00
mafiesto4 cc5cde5bc7 Add Nested node to BT 2023-08-21 17:38:48 +02:00
mafiesto4 a6e503d21b Add Selector node to BT 2023-08-21 00:07:25 +02:00
mafiesto4 fce82247ab Add Delay node to BT 2023-08-20 21:42:43 +02:00
mafiesto4 2e9facc429 Add Random::RandRange 2023-08-20 21:41:20 +02:00
mafiesto4 a44c1521af Fix property value sliders usage in BT editor 2023-08-20 21:40:03 +02:00
GoaLitiuM 9ec7b09771 Merge fixes 2023-08-20 20:31:45 +03:00
GoaLitiuM 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
Tryibion 1286a29462 Add not closing some cm buttons 2023-08-19 14:30:08 -05:00
mafiesto4 eee53dfbdc Add BehaviorKnowledgeSelector for Behavior Knowledge unified data access 2023-08-19 19:50:17 +02:00
Tryibion 134273abd9 Remove popup from appearing if the content item can not re renamed. 2023-08-19 12:47:29 -05:00
mafiesto4 dee2f11ae4 Merge remote-tracking branch 'origin/master' into 1.7 2023-08-19 19:46:19 +02:00
mafiesto4 9afb8778e8 Merge branch 'GoaLitiuM-variant_fix' 2023-08-19 19:45:18 +02:00
mafiesto4 3498806588 Add support for accessing scripting properties via ManagedBinaryModule fields API 2023-08-19 17:45:42 +02:00
Tryibion 5354063129 Add simple way to remove button border. 2023-08-19 10:43:04 -05:00
mafiesto4 de6254b5a5 Various fixes for scripting bindings codegen 2023-08-19 17:00:05 +02:00
mafiesto4 e36bf6e19a Add MarshalAs tag to APi structs/classes for custom marshaling via implicit casting 2023-08-19 16:59:39 +02:00
GoaLitiuM 769a20002d Fix Variant move assignment operator with managed objects 2023-08-19 13:12:50 +03:00
mafiesto4 32c47949fa Fix error when scripting structure uses StringAnsi field 2023-08-18 13:32:06 +02:00
mafiesto4 f088f2b61d Merge remote-tracking branch 'origin/master' into 1.7 2023-08-18 10:33:51 +02:00
mafiesto4 122524bd19 Fix linux build 2023-08-18 09:12:10 +02:00
mafiesto4 430d55aada Merge branch 'GoaLitiuM-manageddict_cache' 2023-08-18 00:25:12 +02:00
mafiesto4 de270d7478 Merge branch 'manageddict_cache' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-manageddict_cache 2023-08-18 00:25:07 +02:00
mafiesto4 fe9cc8576a Merge branch 'GoaLitiuM-actor_paste' 2023-08-18 00:18:55 +02:00
mafiesto4 52691d3230 Merge branch 'actor_paste' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-actor_paste 2023-08-18 00:18:50 +02:00
mafiesto4 595bb2b7fa Fix nested animation playrate when the framerate is different
#1258
2023-08-18 00:17:27 +02:00
mafiesto4 925b5abb78 Fix crash on Linux when using unmapped keyboard Keyboard
#1321
2023-08-17 21:47:02 +02:00
mafiesto4 b78db755ec Fix crash regression d9ee8f4665
#1318
2023-08-17 21:40:36 +02:00
mafiesto4 1e3e75cb99 Add relevancy to Behavior Tree nodes 2023-08-17 21:24:19 +02:00
mafiesto4 14ffd0aa08 Add Variant new value init for objects 2023-08-17 16:10:07 +02:00
mafiesto4 fad825690e Add BehaviorTree nodes sorting by X position on a surface 2023-08-17 15:44:30 +02:00
mafiesto4 70228ca355 Various improvements to Variant 2023-08-17 15:29:11 +02:00
mafiesto4 c15a48b0b4 Allow Scripting Object as BT blackboard but don't support plain classes 2023-08-17 15:29:00 +02:00
mafiesto4 5f79fdd5f9 Fix bt node sizing on spawm 2023-08-17 15:27:02 +02:00
mafiesto4 77f7d55f5a Fix log spam from TypeEditor if type is missing 2023-08-17 15:26:50 +02:00
mafiesto4 c18625e017 Add initial Behavior simulation 2023-08-17 15:26:31 +02:00
mafiesto4 d1e2d6699e Add bt nodes init 2023-08-16 22:28:48 +02:00
mafiesto4 6e85bb8f75 Add ScriptingType to msvc natvis 2023-08-16 22:27:52 +02:00
mafiesto4 66678fc219 Fix log spam from TypeEditor if type is missing 2023-08-16 22:27:17 +02:00
mafiesto4 dd8e05ed49 Add C#-only types for Variant value storage from 0cb049167b 2023-08-16 22:27:03 +02:00
GoaLitiuM 3e33c63957 Optimize actor pasting performance with huge amount of actors
- Name lookups are cached to avoid checking the name from same Actor multiple times
- Avoid getting actor children multiple times for same parent
2023-08-16 20:24:19 +03:00
mafiesto4 0cb049167b Add NewValue/DeleteValue to Variant for owned value storage 2023-08-16 18:29:59 +02:00
GoaLitiuM 017b45d674 Use mutex over atomic operations in Delegate 2023-08-16 17:39:08 +03:00
mafiesto4 18b47257fd Add **Behavior Tree** asset type and editing 2023-08-16 13:26:33 +02:00
mafiesto4 f8dc59d670 Change Debug to be static 2023-08-16 13:10:58 +02:00
mafiesto4 81622c92ae Add ReadOnly to CustomEditorPresenter 2023-08-16 13:09:50 +02:00
Tryibion 8e1cac7d2f Add to be able to choose sloppy mesh simplification or not in model import settings for LODs. 2023-08-15 21:34:07 -05:00
Wiktor Kocielski a3063258e5 Add ability to clean patch caches 2023-08-15 12:35:32 +03:00
Tryibion 6e5f693459 Small change to allow other platforms to use fullscreen and windowed in WindowMode function 2023-08-14 18:25:19 -05:00
Tryibion cfd11a7e77 Add borderless window on Windows platform and add easy function in Screen class to change window mode. 2023-08-14 18:11:05 -05:00
mafiesto4 73076dc5cb Merge branch 'RuanLucasGD-locked_focus' 2023-08-14 18:53:20 +02:00
mafiesto4 95fdcf01be Codestyle fix 2023-08-14 18:53:11 +02:00
mafiesto4 b3fc7b3b68 Merge branch 'locked_focus' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-locked_focus 2023-08-14 18:46:48 +02:00
mafiesto4 9f7fd42677 Codestyle fix 2023-08-14 18:44:21 +02:00
mafiesto4 7664744683 Merge branch 'envision3d-feature/1151-play-mode-refactor-cleanup' 2023-08-14 18:42:11 +02:00
mafiesto4 7da93ad68d Merge branch 'feature/1151-play-mode-refactor-cleanup' of https://github.com/envision3d/FlaxEngine into envision3d-feature/1151-play-mode-refactor-cleanup 2023-08-14 18:42:05 +02:00
mafiesto4 1948a84301 Add crash to soft-return if managed event bind target object native instance is gone
#1278
2023-08-14 18:40:03 +02:00
mafiesto4 b3a359b158 Merge branch 'Withaust-navigationfix' 2023-08-14 18:31:13 +02:00
mafiesto4 f1d46979b3 Merge branch 'navigationfix' of https://github.com/Withaust/FlaxEngine into Withaust-navigationfix 2023-08-14 18:31:08 +02:00
mafiesto4 b8db87a678 Merge branch 'Withaust-foreignobject' 2023-08-14 18:29:19 +02:00
mafiesto4 06d8ff02b3 Merge branch 'foreignobject' of https://github.com/Withaust/FlaxEngine into Withaust-foreignobject 2023-08-14 18:29:10 +02:00
mafiesto4 0e2d1b6ad2 Merge remote-tracking branch 'origin/master' into 1.7 2023-08-14 18:14:59 +02:00
mafiesto4 0b1c23dde3 Merge branch 'GoaLitiuM-postfxmaterial_marshalling_fix' 2023-08-14 18:10:22 +02:00
mafiesto4 87bc486c8b Merge branch 'postfxmaterial_marshalling_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-postfxmaterial_marshalling_fix 2023-08-14 18:10:17 +02:00
GoaLitiuM 5e3018817c Fix marshalling issue with PostFxMaterialSettings Materials 2023-08-14 18:25:48 +03:00
mafiesto4 3014a2a7d8 Merge branch 'Tryibion-paste-fix' 2023-08-14 16:20:14 +02:00
mafiesto4 55ca419aba Merge branch 'paste-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-paste-fix 2023-08-14 16:18:44 +02:00
mafiesto4 66042845e4 Codestyle fixe 2023-08-14 16:13:55 +02:00
mafiesto4 00ecdcd2ec Merge branch 'Withaust-replicationfix' 2023-08-14 16:03:33 +02:00
mafiesto4 4e81f80495 Merge branch 'replicationfix' of https://github.com/Withaust/FlaxEngine into Withaust-replicationfix 2023-08-14 16:03:27 +02:00
mafiesto4 a2fda47688 Merge branch 'GoaLitiuM-object_destroynow_csharp' 2023-08-14 15:51:57 +02:00
mafiesto4 3197479cc0 Merge branch 'object_destroynow_csharp' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-object_destroynow_csharp 2023-08-14 15:51:45 +02:00
mafiesto4 860dce487f Codestyle fixes 2023-08-14 15:47:24 +02:00
mafiesto4 dbd1fa3de6 Merge branch 'GoaLitiuM-managedhandlepool_refactor' 2023-08-14 15:44:03 +02:00
mafiesto4 6af6afc6a4 Merge branch 'managedhandlepool_refactor' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-managedhandlepool_refactor 2023-08-14 15:43:57 +02:00
mafiesto4 6d26c05ced Merge branch 'GoaLitiuM-managedarray_pool_cache' 2023-08-14 15:39:50 +02:00
mafiesto4 d5245f6a8c Merge branch 'managedarray_pool_cache' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-managedarray_pool_cache 2023-08-14 15:39:44 +02:00
mafiesto4 4106a0febb Merge branch 'GoaLitiuM-arraytype_cache' 2023-08-14 15:36:33 +02:00
mafiesto4 342ec4c3c2 Merge branch 'arraytype_cache' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-arraytype_cache 2023-08-14 15:36:27 +02:00
mafiesto4 13e0582ef2 Codestyle fixes 2023-08-14 15:36:19 +02:00
mafiesto4 72a5aa7ec6 Merge branch 'GoaLitiuM-invoker_ret_refactor' 2023-08-14 15:31:56 +02:00
mafiesto4 238ff38bf2 Merge branch 'invoker_ret_refactor' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-invoker_ret_refactor 2023-08-14 15:31:50 +02:00
mafiesto4 b4c42defb3 Merge branch 'GoaLitiuM-unboxvalue_fixes' 2023-08-14 15:28:29 +02:00
mafiesto4 838af2bcbe Merge branch 'unboxvalue_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-unboxvalue_fixes 2023-08-14 15:28:24 +02:00
mafiesto4 5ae27a0e92 Code style fix 2023-08-14 15:25:12 +02:00
mafiesto4 86fde59a7a Merge branch 'GoaLitiuM-mclass_method_iter' 2023-08-14 15:24:56 +02:00
mafiesto4 212aba4375 Merge branch 'mclass_method_iter' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-mclass_method_iter 2023-08-14 15:24:47 +02:00
mafiesto4 57be27b5e5 Merge branch 'GoaLitiuM-intellisense_stdcpp' 2023-08-14 15:09:12 +02:00
mafiesto4 22a1f433a1 Merge branch 'intellisense_stdcpp' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-intellisense_stdcpp 2023-08-14 15:09:00 +02:00
mafiesto4 ca687ac805 Merge branch 'Withaust-commonvalue' 2023-08-14 15:07:40 +02:00
mafiesto4 430a4eb57f Merge branch 'commonvalue' of https://github.com/Withaust/FlaxEngine into Withaust-commonvalue 2023-08-14 15:03:47 +02:00
mafiesto4 f0d851e846 Merge branch 'GoaLitiuM-csharp_optimize_dev' 2023-08-14 14:41:03 +02:00
mafiesto4 19f14919c0 Allow modifying surface node archetype reference 2023-08-14 13:11:42 +02:00
mafiesto4 da44babb03 Add ignoring types with CompilerGeneratedAttribute in Editor 2023-08-14 13:11:00 +02:00
GoaLitiuM 53b1d0dd85 Optimize ScriptingObject managed initialization 2023-08-13 23:56:27 +03:00
GoaLitiuM cd56101aa3 Expose Object::DeleteObjectNow as Object.DestroyNow in managed scripting 2023-08-13 23:46:38 +03:00
GoaLitiuM 0008123e76 Cache ManagedDictionary types and helper method thunks 2023-08-13 23:15:06 +03:00
GoaLitiuM d4d404ac0b Optimize native interop marshallers runtime type checking 2023-08-13 22:28:56 +03:00
GoaLitiuM 1b0976d99b Refactor ManagedHandlePool
Weak handles are now stored in one sets of dictionarys synchronized with
other threads. This so far seems the fastest way to manage the
dictionaries for now.
2023-08-13 22:14:37 +03:00
GoaLitiuM 65de284a66 Optimize managed method invokers return value marshalling 2023-08-13 22:10:07 +03:00
GoaLitiuM d9ee8f4665 Cache pooled ManagedArray managed handles 2023-08-13 21:56:52 +03:00
GoaLitiuM 27e1401fc7 Slightly improve MClass::GetMethod method iteration
Check the number of parameters first before expensive string comparison
2023-08-13 21:54:44 +03:00
GoaLitiuM 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
GoaLitiuM 44b70d87e5 Cache MakeArrayType results in native interop 2023-08-13 21:42:40 +03:00
GoaLitiuM e6878942f9 Fix missing C++ standard version in VC++ projects intellisense options 2023-08-13 21:33:17 +03:00
GoaLitiuM 4ce1f31f12 Enable optimizations for Editor module in Development builds 2023-08-13 21:30:40 +03:00
GoaLitiuM 3df044d07b Add build option to change code optimization level in C# modules 2023-08-13 21:29:38 +03:00
mafiesto4 bb8f098714 Add reroute node usage to Visject only if surface type allows it 2023-08-13 19:14:57 +02:00
mafiesto4 ae4bce7a68 Add Visject surface boxes and connections drawing customization via style 2023-08-13 19:14:23 +02:00
Wiktor Kocielski f44156eb80 Remove another unnecessary exposed CommonValue.h 2023-08-13 09:02:43 +03:00
Wiktor Kocielski 1413da189e NetworkReplicator::ResolveForeignObject 2023-08-13 06:39:35 +03:00
Mr. Capybara 79eddd07aa Merge branch 'FlaxEngine:master' into add_spline_edit_options 2023-08-12 11:03:22 -04:00
Ruan Lucas be33fc6018 improv scroll locked focus 2023-08-11 22:31:12 -04:00
Wiktor Kocielski b35065ab3f Fix annoying error that happens due to an oversight 2023-08-12 03:58:28 +03:00
Ruan Lucas db806ad500 fix for large worlds 2023-08-11 08:28:28 -04:00
Ruan Lucas 645977f148 add scroll to focus 2023-08-10 22:41:48 -04:00
Ruan Lucas f2072028d4 change default key 2023-08-10 22:31:03 -04:00
Ruan Lucas aa3dd14bfc add locked focus 2023-08-10 22:24:55 -04:00
mafiesto4 e27f1a8a41 Merge remote-tracking branch 'origin/master' into 1.7 2023-08-10 18:34:27 +02:00
mafiesto4 09be2375f6 Merge branch 'GoaLitiuM-skip_postprocess_pass' 2023-08-10 12:05:00 +02:00
mafiesto4 7e75b9ad78 Merge branch 'skip_postprocess_pass' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-skip_postprocess_pass 2023-08-10 12:04:52 +02:00
mafiesto4 a2b338f704 Merge branch 'GoaLitiuM-load_library_fix' 2023-08-10 11:59:23 +02:00
mafiesto4 6da1a61726 Merge branch 'load_library_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-load_library_fix 2023-08-10 11:59:17 +02:00
mafiesto4 33512fd19b Merge branch 'GoaLitiuM-alc_reload_fix' 2023-08-10 11:56:24 +02:00
mafiesto4 85eb3541eb Merge branch 'alc_reload_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-alc_reload_fix 2023-08-10 11:56:17 +02:00
mafiesto4 ef1e89848f Merge branch 'Withaust-particleeffectfix' 2023-08-10 11:53:30 +02:00
mafiesto4 71c273d8f6 Merge branch 'particleeffectfix' of https://github.com/Withaust/FlaxEngine into Withaust-particleeffectfix 2023-08-10 11:53:20 +02:00
mafiesto4 cd949382cb Merge branch 'GoaLitiuM-vspreview_build_fix' 2023-08-10 11:48:59 +02:00
mafiesto4 9853181600 Merge branch 'vspreview_build_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-vspreview_build_fix 2023-08-10 11:48:51 +02:00
Menotdan a1a274df37 Merge branch 'FlaxEngine:master' into material_import 2023-08-09 15:31:44 -04:00
Menotdan 52e546b3ba fix unneeded include. 2023-08-09 15:29:14 -04:00
Menotdan af3d9d0eb3 Re-implement functionality for importing materials as instances. 2023-08-09 15:28:47 -04:00
Menotdan 9156e7727b Merge commit 'refs/pull/1115/head' of https://github.com/FlaxEngine/FlaxEngine into material_import1.6
Repair merge
2023-08-09 15:28:15 -04:00
GoaLitiuM 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
Wiktor Kocielski 47c6e54406 Fix exposed public CommonValue inclusion 2023-08-08 08:45:14 +03:00
envision3d b9ffb950f3 Refactor and more appropriately organize logic
- move play logic to simulation module
- update play hotkey to call play game/scene delegate function
- link hotkey tooltip text to inputOptions
2023-08-06 13:11:45 -05:00
Ruan Lucas dc3e71a262 fix for large worlds 2023-08-05 21:26:27 -04:00
Ruan Lucas 6b1cc5bf2f adjust again... 2023-08-05 12:07:40 -04:00
Ruan Lucas 144f0a1717 Merge branch 'add_spline_edit_options' of https://github.com/RuanLucasGD/FlaxEngine into add_spline_edit_options 2023-08-05 12:00:50 -04:00
Mr. Capybara 78cf55904e Merge branch 'FlaxEngine:master' into add_spline_edit_options 2023-08-05 11:11:11 -04:00
Ruan Lucas 38492ffe70 small adjust 2023-08-05 11:01:15 -04:00
mafiesto4 1958adb126 Add AI module to engine 2023-08-04 13:19:03 +02:00
mafiesto4 73bbe63c1e Missing change for 05d477d6c8 2023-08-04 13:10:36 +02:00
mafiesto4 05d477d6c8 Add SelectionChanged public event for VisjectSurface and properly invoke it only when selection actually changes 2023-08-04 12:52:54 +02:00
mafiesto4 b5fa5fa68e Add SerializableScriptingObject for easier serialization of scripting objects in gameplay or content 2023-08-04 10:11:58 +02:00
mafiesto4 cab1d8cac4 Fix missing Visject CM groups auto-expanding if enabled 2023-08-03 16:29:07 +02:00
mafiesto4 c0d32a99b0 Refactor Visject surface nodes cache to reuse between graphs 2023-08-03 15:44:02 +02:00
mafiesto4 bb96f2cd6d Add GroupArchetype to Visject nodes spawn query check 2023-08-03 14:53:02 +02:00
Wiktor Kocielski ec3b921a4f Fix navigation rebuilding 2023-08-02 05:17:49 +03:00
GoaLitiuM fe87eb96e6 Skip post processing when tonemapping and camera artifacts are disabled 2023-08-01 20:20:34 +03:00
GoaLitiuM db56284ca4 Fix WindowsPlatform::LoadLibrary to not modify the string parameter 2023-08-01 20:19:10 +03:00
mafiesto4 8dc98174cf Minor tweaks 2023-08-01 14:14:27 +02:00
mafiesto4 869649e5ed Merge remote-tracking branch 'origin/master' into 1.7 2023-08-01 14:05:49 +02:00
mafiesto4 94386d24ab Minor tweaks 2023-08-01 10:27:31 +02:00
mafiesto4 f29cd1b7b8 Simplify code #1275 2023-08-01 10:03:47 +02:00
mafiesto4 453d326303 Merge branch 'Withaust-gridscale' 2023-08-01 10:01:37 +02:00
mafiesto4 ef1c812349 Merge branch 'gridscale' of https://github.com/Withaust/FlaxEngine into Withaust-gridscale 2023-08-01 10:01:32 +02:00
mafiesto4 911cdb3f2d Softlock fix 2023-08-01 10:01:00 +02:00
mafiesto4 f79390baa4 Merge branch 'Withaust-mordorfix' 2023-08-01 09:59:41 +02:00
mafiesto4 714b35b520 Merge branch 'mordorfix' of https://github.com/Withaust/FlaxEngine into Withaust-mordorfix 2023-08-01 09:59:36 +02:00
mafiesto4 cfab58ccc6 Fix some actor assets into soft checks 2023-08-01 09:57:38 +02:00
Ruan Lucas f511259a33 draw spline point size by distance from camera 2023-07-31 22:43:33 -04:00
Ruan Lucas 600659e453 Move DrawSpline from Spline.cpp to SplineNode.cs 2023-07-31 22:34:50 -04:00
Ruan Lucas 2b7b80ad38 makes more easy select a spline point or spline tangent 2023-07-31 22:05:13 -04:00
Ruan Lucas b80682c97e set spline points / tangents size by camera distance 2023-07-31 19:21:26 -04:00
Ruan Lucas 84bed5b1c9 Revert "test"
This reverts commit b5eadbc531.
2023-07-31 14:02:03 -04:00
mafiesto4 dfbda334f9 Merge branch 'Tryibion-dup-fix' 2023-07-31 19:10:18 +02:00
mafiesto4 64446bea53 Merge branch 'dup-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-dup-fix 2023-07-31 19:10:13 +02:00
mafiesto4 479366c47f Merge branch 'envision3d-feature/1151-play-mode-actions' 2023-07-31 19:03:09 +02:00
mafiesto4 81860e5f18 Cleanup code #1215 and add cook game icon 2023-07-31 19:02:53 +02:00
mafiesto4 6e9b9b6d0e Merge branch 'feature/1151-play-mode-actions' of https://github.com/envision3d/FlaxEngine into envision3d-feature/1151-play-mode-actions 2023-07-31 17:24:55 +02:00
mafiesto4 71bce781f7 Force disable flot128 in fmt 2023-07-31 17:24:47 +02:00
mafiesto4 89c0b9a24d Merge branch 'GoaLitiuM-dotnet_defines' 2023-07-31 17:13:57 +02:00
mafiesto4 8d48b27608 Merge branch 'dotnet_defines' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet_defines 2023-07-31 17:13:52 +02:00
mafiesto4 de55f465fc Merge branch 'GoaLitiuM-dotnet_analyzer_support' 2023-07-31 17:12:23 +02:00
mafiesto4 9774f62e32 Merge branch 'dotnet_analyzer_support' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet_analyzer_support 2023-07-31 17:12:18 +02:00
mafiesto4 dc9fe11c47 Merge branch 'GoaLitiuM-generic_asset_reference_attrib' 2023-07-31 16:59:54 +02:00
Ruan Lucas b5eadbc531 test 2023-07-31 09:06:39 -04:00
GoaLitiuM e598746980 Fix build issues in Visual Studio 2022 Preview 5 2023-07-30 22:09:23 +03:00
GoaLitiuM 735b2e30f0 Output generated .NET source generator files to Intermediate folder
Mostly useful for debugging source generators, VS doesn't seem to
utilize these files in any way.
2023-07-30 21:58:16 +03:00
GoaLitiuM 13e11091fc Support user defined .NET analyzers/source generators in Flax.Build 2023-07-30 21:58:11 +03:00
GoaLitiuM 3ba05f52df Add common .NET SDK preprocessor definitions 2023-07-30 21:57:44 +03:00
GoaLitiuM bf351f71bf Guard generic AssetReferenceAttribute to work only in .NET 7 2023-07-30 20:48:36 +03:00
GoaLitiuM 06250fcb6d Implement a generic version of AssetReferenceAttribute 2023-07-30 20:40:30 +03:00
Wiktor Kocielski 383b21c108 Softlock fix 2023-07-29 18:55:29 +03:00
Wiktor Kocielski 8250f92af3 Add grid scale to the editor viewport settings 2023-07-29 13:34:46 +03:00
Wiktor Kocielski eb641e142e ShadowOfMordor terrain fix 2023-07-29 01:00:07 +03:00
NoriteSC 0b89164328 Merge branch 'FlaxEngine:master' into ContentBrowserImprovement 2023-07-28 15:56:40 +02:00
NoriteSC 131060efa7 bug fix 2023-07-28 12:48:43 +02:00
Tryibion 5cd72c9b24 Fix duplicating actor in scene on shift click if the actor has not been moved 2023-07-27 16:51:44 -05:00
Tryibion d6bfcbcc3d Add for prefab 2023-07-27 10:49:29 -05:00
Tryibion 10c8454e8f Paste at same level of selected actor parent node instead of as child of selected actor for better behavior. 2023-07-27 10:33:30 -05:00
mafiesto4 80bcc0f32e Merge branch 'Tryibion-prefab-batch' 2023-07-26 21:21:20 +02:00
mafiesto4 36db7ad7dd Merge branch 'prefab-batch' of https://github.com/Tryibion/FlaxEngine into Tryibion-prefab-batch 2023-07-26 21:19:57 +02:00
mafiesto4 95922bb38b Fix compilation 2023-07-26 21:18:22 +02:00
mafiesto4 63e83d1f92 Merge branch 'NoriteSC-MathLib' 2023-07-26 19:33:13 +02:00
mafiesto4 77daf85fc1 Add unit test for angles unwind math #1267 2023-07-26 19:31:43 +02:00
mafiesto4 fae20daac9 Cleanup code #1267 2023-07-26 19:28:55 +02:00
mafiesto4 dceea2656e Merge branch 'MathLib' of https://github.com/NoriteSC/FlaxEngineFork into NoriteSC-MathLib 2023-07-26 18:32:31 +02:00
mafiesto4 36cc80a003 Merge branch 'GoaLitiuM-api_inject_code_dup_fix' 2023-07-26 18:25:29 +02:00
GoaLitiuM c2fffbcfdb Fix API_INJECT_CODE injecting duplicated code 2023-07-25 20:49:20 +03:00
NoriteSC 3bd8d930e0 doc fixes and code corections
mathf UnwindRadians has fixed coust
added UnwindRadiansAccurate oldversion
2023-07-25 15:27:18 +02:00
Ruan Lucas 714d0c2ca0 small fix 2023-07-24 22:41:45 -04:00
Ruan Lucas ea48a89e00 improve auto smooth 2023-07-24 22:34:48 -04:00
Ruan Lucas 7b0e9b9e06 simplify code 2023-07-24 19:30:31 -04:00
mafiesto4 ce16debabd Merge remote-tracking branch 'origin/master' into 1.7 2023-07-24 23:21:03 +02:00
NoriteSC 6a65ccd5ef rev1 2023-07-24 22:10:12 +02:00
mafiesto4 543433440e Fix nested animation playrate when the framerate is different
#1258
2023-07-24 19:21:03 +02:00
mafiesto4 be0baa172e Merge branch 'mtszkarbowiak-fix/string-marshalling' 2023-07-24 18:14:30 +02:00
mafiesto4 619b0bff6b Merge branch 'fix/string-marshalling' of https://github.com/mtszkarbowiak/FlaxEngine into mtszkarbowiak-fix/string-marshalling 2023-07-24 18:14:24 +02:00
mafiesto4 c9254457a9 Code style tweaks 2023-07-24 16:24:39 +02:00
mafiesto4 7cfcca860a Merge branch 'Tryibion-platform-ref-fix' 2023-07-24 16:18:11 +02:00
mafiesto4 cf4ca17241 Merge branch 'platform-ref-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-platform-ref-fix 2023-07-24 16:17:57 +02:00
mafiesto4 93aa202eed Merge branch 'Tryibion-assetpicker-scroll' 2023-07-24 16:15:23 +02:00
mafiesto4 4903fe8191 Merge branch 'assetpicker-scroll' of https://github.com/Tryibion/FlaxEngine into Tryibion-assetpicker-scroll 2023-07-24 16:15:18 +02:00
mafiesto4 5f090c2bf2 Merge branch 'GoaLitiuM-api_param_params' 2023-07-24 16:14:08 +02:00
mafiesto4 2643234718 Merge branch 'api_param_params' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-api_param_params 2023-07-24 16:14:03 +02:00
Ruan Lucas 56285e544e disable set all linear / smooth when select many splines 2023-07-24 08:54:53 -04:00
mafiesto4 11bb6d4364 Fix crash when using custom Anim Graph node (.NET 7 regression) 2023-07-24 14:23:28 +02:00
Ruan Lucas c79c91a19a add undo / redo to edit spline options and some small changes 2023-07-23 20:27:45 -04:00
Tryibion f80b7ee2a5 Fix spacing 2023-07-23 18:58:47 -05:00
Tryibion 12005ad314 Simplify functionality into function. 2023-07-23 15:20:57 -05:00
Tryibion 02d135053f Add scroll to selected asset/content item on asset picker select menu open. 2023-07-23 15:10:31 -05:00
GoaLitiuM d1a6bdceed Add params tag to API_PARAM for C# variadic parameters support 2023-07-23 12:47:00 +03:00
Mateusz Karbowiak 91e0e2011c Fix visibility of string wrapper 2023-07-22 18:44:36 +02:00
Ruan Lucas 1a72aeeb24 disable edit tangent buttons when select multiple values 2023-07-21 22:15:43 -04:00
Ruan Lucas bd8c5985b1 remove debug 2023-07-21 22:11:30 -04:00
Ruan Lucas f8da0708e1 add suport to loop spline on set tangent linear 2023-07-21 22:11:15 -04:00
Ruan Lucas 1bd7210107 don't let aligned or free mode on first or end spline point 2023-07-21 21:05:36 -04:00
Ruan Lucas 6872f35add don't let set smooth tangent in/out on start/end spline if isn't loop 2023-07-21 21:00:08 -04:00
Tryibion 0ba9f7c51d Small simplification of null checking for input editors 2023-07-21 13:33:00 -05:00
Tryibion 9b0c6a070a Add InputEvent and InputAxis editors and changed UICanvas to use them. 2023-07-21 13:26:51 -05:00
Ruan Lucas 008f219883 organize smooth in and smooth out tangents code 2023-07-21 10:25:55 -04:00
Tryibion 83427ba1d4 Add batch creating prefabs from mutiple selected actors in the scene tree. 2023-07-20 23:02:26 -05:00
Tryibion a1cdf3e733 Fix bug of populating asset picker if option platform type does not exist. 2023-07-20 21:31:07 -05:00
Ruan Lucas 5c7faf7262 disable edit tangent options when deselect tangents or spline points on spline editor 2023-07-20 16:40:05 -04:00
Ruan Lucas 4cf2bba840 fix edit buttons style on spline editor 2023-07-20 13:19:18 -04:00
Ruan Lucas e6715ad095 add methods to auto select tangents or points on change edit mode on spline editor 2023-07-20 13:05:56 -04:00
Ruan Lucas 50f1688140 add smooth in tangent and smooth out tangent 2023-07-20 10:52:07 -04:00
Ruan Lucas 902a3c1eed smooth point on set linear point to free 2023-07-20 09:36:05 -04:00
Ruan Lucas e40c0be00d fix set type on press edit buttons not working 2023-07-20 09:25:48 -04:00
envision3d dba0675873 Merge branch 'master' of https://github.com/FlaxEngine/FlaxEngine into feature/1151-play-mode-actions 2023-07-20 02:00:53 -05:00
Ruan Lucas 8a9b76a468 clean code 2023-07-19 16:28:15 -04:00
Ruan Lucas 7855db951e auto detect tangent type when click on spline keyframe 2023-07-19 16:01:05 -04:00
Ruan Lucas 7036e77d60 fix auto smooth point on click 2023-07-19 10:20:30 -04:00
Ruan Lucas 95c934d6b4 se button color when set tangent mode 2023-07-19 09:07:40 -04:00
Ruan Lucas a42dc8f434 change tangent edit option base class name 2023-07-19 08:44:22 -04:00
Ruan Lucas 1ec2df1a29 disable edit tangents buttons when don't have any tangent or point selected 2023-07-19 08:43:11 -04:00
mafiesto4 32d9067710 Fix build 2023-07-19 09:08:17 +02:00
Ruan Lucas 590a892f16 set spline point as selected when has a tangent selected and set as linear 2023-07-18 21:54:30 -04:00
Ruan Lucas 2fac4c9284 add smooth tangent on first and last keyframe 2023-07-18 20:28:28 -04:00
Ruan Lucas 2be6a6be9e add basic options 2023-07-18 16:48:15 -04:00
mafiesto4 b26b9302e0 Remove unused TIsArithmetic 2023-07-18 18:43:10 +02:00
mafiesto4 eea0b37dc3 Merge remote-tracking branch 'origin/master' into 1.7 2023-07-18 18:35:44 +02:00
mafiesto4 b2b10ce7da Fix various core types to be trivially constructible as properly POD-type 2023-07-18 18:20:11 +02:00
mafiesto4 872509df2a Fix incorrect Transform Position To Screen UV in particles graph in CPU code path 2023-07-18 18:13:19 +02:00
mafiesto4 e96e338fd3 Merge branch 'Tryibion-log-count' 2023-07-18 17:45:25 +02:00
mafiesto4 a80e3f5a15 Merge branch 'log-count' of https://github.com/Tryibion/FlaxEngine into Tryibion-log-count 2023-07-18 17:45:18 +02:00
Tryibion be079b9b67 Improvements to debug log count. 2023-07-18 09:51:21 -05:00
mafiesto4 e39a56fc4e Merge remote-tracking branch 'origin/master' into 1.7 2023-07-18 11:47:39 +02:00
mafiesto4 60c0995bc3 Add undo for #1247 2023-07-18 11:46:15 +02:00
mafiesto4 8f8c0e4b81 Minor fixes for #1247 2023-07-18 10:55:15 +02:00
mafiesto4 338499536f Add ModelInstanceActor::GetMaterialSlots 2023-07-18 10:55:00 +02:00
mafiesto4 0f613abfb9 Add ToSpan from 24c03c0e4b 2023-07-18 10:54:21 +02:00
mafiesto4 fdb06424d4 Merge branch 'Tryibion-mat-entry' 2023-07-18 10:25:46 +02:00
mafiesto4 5b40f770b1 Merge branch 'mat-entry' of https://github.com/Tryibion/FlaxEngine into Tryibion-mat-entry 2023-07-18 10:25:35 +02:00
mafiesto4 488958ce44 Fix DrawSceneDepth to properly draw scene objects when custom actors list is empty
#1253
2023-07-18 10:16:11 +02:00
mafiesto4 a535c701e5 Merge branch 'GoaLitiuM-generic_type_fix' 2023-07-18 09:51:14 +02:00
mafiesto4 9c2cff6f3c Merge branch 'generic_type_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-generic_type_fix 2023-07-18 09:50:56 +02:00
mafiesto4 44518e88d5 Fix crash when using Vector3 soft casting in Visual Scripts 2023-07-18 09:48:43 +02:00
mafiesto4 07ef07e979 Merge remote-tracking branch 'origin/1.7' into 1.7
# Conflicts:
#	Source/Engine/Physics/Actors/Cloth.cpp
2023-07-17 18:27:31 +02:00
mafiesto4 5012d4432e Add NvCloth for Linux 2023-07-17 18:22:40 +02:00
mafiesto4 3d5d7ad968 Don't recook cloth mesh when rebuilding it 2023-07-17 15:34:38 +02:00
mafiesto4 868084286c Add automatic cloth rebuild when simulation fails with NaN 2023-07-17 15:17:22 +02:00
mafiesto4 1af076f180 Add distance-based and frustum-based culling to cloth 2023-07-17 11:16:01 +02:00
mafiesto4 de8613e223 Merge remote-tracking branch 'origin/master' into 1.7 2023-07-16 22:40:02 +02:00
mafiesto4 10d9942e8f Add async pre-sim update for cloth via job system 2023-07-16 22:39:56 +02:00
mafiesto4 2046eca45a Add NvCloth fabric reusing for multiple instances of the same cloth mesh 2023-07-16 14:40:11 +02:00
mafiesto4 e075a1c6aa Run cloth simulation in async via job system 2023-07-16 12:59:18 +02:00
mafiesto4 adfaf8c961 Don't update cloth colliders every frame 2023-07-16 12:53:59 +02:00
mafiesto4 9179586f14 Fix cloth painting in prefab window 2023-07-16 12:36:38 +02:00
mafiesto4 011162744c Fix various keyboard handling on macOS 2023-07-16 12:04:22 +02:00
mafiesto4 6853aa6e81 Add control/command/option keys handling on macOS 2023-07-16 12:04:18 +02:00
mafiesto4 6fc168bdf1 Add macOS message box with buttons 2023-07-16 12:04:12 +02:00
mafiesto4 6d48fce763 Fix mouse cursor setting on macOS to properly handle screen scale 2023-07-16 12:04:06 +02:00
mafiesto4 371db610a9 Merge remote-tracking branch 'origin/1.7' into 1.7 2023-07-16 12:03:06 +02:00
mafiesto4 31943ca9bd Add normals computing to cloth mesh 2023-07-16 12:02:33 +02:00
mafiesto4 f0496d53e8 Add RenderTools::CalculateTangentFrame utility 2023-07-16 11:57:21 +02:00
Tryibion 868db7c848 Add functionality to combine similar logs into a log with a count. 2023-07-15 13:52:10 -05:00
Tryibion c89421438b Code cleanup 2023-07-15 10:42:41 -05:00
Tryibion 02219beac9 Handle edge case 2023-07-15 10:27:59 -05:00
Tryibion c8edaf5d6e Fix bug with not using slot material 2023-07-15 10:10:37 -05:00
Tryibion ba93e1e1d0 Add showing default materials to model entries. 2023-07-15 10:00:34 -05:00
mafiesto4 1ae89c7545 Fix various keyboard handling on macOS 2023-07-15 15:07:52 +02:00
mafiesto4 4a0235785b Add control/command/option keys handling on macOS 2023-07-15 15:00:55 +02:00
mafiesto4 8f4ada2555 Add macOS message box with buttons 2023-07-15 14:42:54 +02:00
mafiesto4 a7e436412c Fix mouse cursor setting on macOS to properly handle screen scale 2023-07-15 14:01:56 +02:00
GoaLitiuM ff56152ef2 Fix releasing non-collectible types with collectible generic types 2023-07-15 13:20:56 +03:00
mafiesto4 18fb7fb849 Add NvCloth for iOS 2023-07-15 11:27:26 +02:00
mafiesto4 6664972fbf Add NvCloth for macOS 2023-07-15 11:22:00 +02:00
mafiesto4 2645b69ec0 Tweak air lif/drag coeffs to properly simulate wind on cloth 2023-07-14 17:10:28 +02:00
mafiesto4 aef3ae14d4 Add animated model pose handling as a input to cloth for proper character clothing sim 2023-07-14 17:10:09 +02:00
mafiesto4 68d97fcc48 Improve cloth paint picking logic 2023-07-14 14:17:19 +02:00
mafiesto4 3f9e286279 Fix crash when creating cloth with all vertices fixed 2023-07-14 14:12:30 +02:00
mafiesto4 3141b4fb04 Merge remote-tracking branch 'origin/master' into 1.7
# Conflicts:
#	Source/Engine/Level/Actors/SplineModel.cpp
#	Source/Engine/Level/Actors/SplineModel.h
2023-07-14 14:10:21 +02:00
mafiesto4 b1056e160a Add debug sanity checks to cloth to solve issues 2023-07-14 13:36:44 +02:00
mafiesto4 84c99ea1c3 Fix nested animation sampling bug
#1244
2023-07-14 13:10:20 +02:00
mafiesto4 f5f948ea4c Fix culling artifacts in animated model preview in Editor 2023-07-14 12:17:21 +02:00
mafiesto4 a6924d37c1 Add ModelInstanceActor::GetMaterial to get actual material used to render certain entries 2023-07-14 11:58:51 +02:00
mafiesto4 7b88569e73 Add sealed tag to virtual functions in API bindings to block inheritance in C#/VS 2023-07-14 11:57:38 +02:00
mafiesto4 40fc2f8295 Fix missing header files in deployed engine package
#1242
2023-07-14 11:25:54 +02:00
mafiesto4 843abca8ca Fix error when opening shader asset if it's not visible in Content window 2023-07-14 10:59:04 +02:00
mafiesto4 24c03c0e4b Add cloth painting tools to Editor 2023-07-13 23:30:37 +02:00
mafiesto4 3b90e75307 Various improvements to serialization of data encoded via Base64 to Json 2023-07-13 13:10:34 +02:00
mafiesto4 c6a82b8c36 Add DebugDraw::DrawLine with separate start/end colors 2023-07-13 13:08:53 +02:00
mafiesto4 15b2d4e041 Add IPresenterOwner to editor Custom Editor for more context and advanced interactions 2023-07-12 12:36:30 +02:00
mafiesto4 159beae8ae Merge remote-tracking branch 'origin/master' into 1.7 2023-07-12 12:24:24 +02:00
mafiesto4 8a07c486bc Refactor Editor gizmo modes ownership to support using them in prefab window 2023-07-12 12:24:13 +02:00
mafiesto4 3e801dbc8d Merge branch 'Tryibion-debug-lights' 2023-07-10 12:52:10 +02:00
mafiesto4 170906e483 Merge branch 'debug-lights' of https://github.com/Tryibion/FlaxEngine into Tryibion-debug-lights 2023-07-10 12:52:05 +02:00
mafiesto4 a22cedf286 Merge branch 'Tryibion-spotlight-inner-debug' 2023-07-10 12:46:48 +02:00
mafiesto4 ae1c0b45d8 Merge branch 'spotlight-inner-debug' of https://github.com/Tryibion/FlaxEngine into Tryibion-spotlight-inner-debug 2023-07-10 12:46:40 +02:00
mafiesto4 6ae77d0c17 Merge remote-tracking branch 'origin/1.6' into 1.7 2023-07-09 11:55:50 +02:00
mafiesto4 c2da48c49f Fix dotnet installation selection on Linux to favor lib over share 2023-07-08 21:05:20 +02:00
Tryibion 0a57cbbecf Add not showing lights debug based on other light flags as well. 2023-07-07 17:48:16 -05:00
Tryibion a0bb3f2995 Add light debug view flag to draw light shapes 2023-07-07 17:32:46 -05:00
Tryibion 48474065d7 Add spot light inner circle debug lines. 2023-07-07 16:46:35 -05:00
mafiesto4 ca5cbf05be Merge branch 'Tryibion-actor-tag-type' 2023-07-06 16:43:10 +02:00
mafiesto4 dc6410e7b8 Merge branch 'actor-tag-type' of https://github.com/Tryibion/FlaxEngine into Tryibion-actor-tag-type 2023-07-06 16:43:05 +02:00
mafiesto4 e1572a2a5c Merge branch 'Tryibion-remove-debug' 2023-07-06 16:41:29 +02:00
Tryibion a3dddbfa24 Remove stray debug.log 2023-07-05 16:19:25 -05:00
Tryibion d88b93d56b Add find actor by type and tag to level and actor classes. Move find actor by tag code to be by other find actor methods. 2023-07-05 14:00:07 -05:00
mafiesto4 bd0bc42adc Fix regressionn from d7dc0b76e5 2023-07-05 12:18:03 +02:00
mafiesto4 04ef3c60d5 Fix regression from c79952a4d6 2023-07-05 09:27:21 +02:00
mafiesto4 a14de5e255 Fix Array For Each visual script node local vars setup 2023-07-04 17:58:32 +02:00
mafiesto4 90f377fa83 Remove leftover log 2023-07-04 17:58:06 +02:00
mafiesto4 c79952a4d6 Implement missing dotnet7 interop for field and stabilize interop 2023-07-04 17:57:59 +02:00
mafiesto4 d7dc0b76e5 Softly handle invalid scene rendering key to prevent crashes on scene unload 2023-07-04 13:32:51 +02:00
mafiesto4 27b3538b2f Fix regression from 9d640656e6 2023-07-04 13:15:09 +02:00
mafiesto4 74ca6b2c51 Add missing Shader Model 6 define 2023-07-04 13:12:48 +02:00
mafiesto4 d49def6f7e More stuff from d31fc32399 2023-07-04 11:46:42 +02:00
mafiesto4 72d1d8f085 More stuff from d31fc32399 2023-07-04 11:06:48 +02:00
mafiesto4 d31fc32399 Fix and update engine assets 2023-07-04 11:05:32 +02:00
mafiesto4 615ec636d4 Fix crash when window gets deleted before show/close sequence 2023-07-04 10:42:49 +02:00
mafiesto4 5ee7b0d939 Bump up build number 2023-07-04 10:18:27 +02:00
mafiesto4 9f7ae5bb58 Fix warning 2023-07-03 22:13:13 +02:00
mafiesto4 e4c3461053 Merge remote-tracking branch 'origin/master' into 1.7 2023-07-03 22:01:50 +02:00
mafiesto4 5f756a6ceb Add TargetFrameworkAttribute to compiled C# assembly 2023-07-03 22:00:38 +02:00
mafiesto4 5d9e6b7364 Fix C# building to properly use reference assemblies for .NET 7 2023-07-03 22:00:23 +02:00
mafiesto4 9db3439d0d Fix compilation error 2023-07-03 16:17:46 +02:00
mafiesto4 53ee65a5a6 Add thickness to cloth to prevent intersecting with colliders 2023-07-03 14:13:35 +02:00
mafiesto4 544eb03f7e Add network replication support for in-built object/asset reference holders 2023-07-03 13:06:08 +02:00
mafiesto4 9d640656e6 Fix StringUtils::ConvertANSI2UTF16 to properly handle multi-byte characters Length
#1225
2023-07-03 12:10:06 +02:00
mafiesto4 9a1fd12a85 Fix sizeof struct within generic type instance
#1219
2023-07-03 11:42:15 +02:00
mafiesto4 aaf349170c Merge branch 'GoaLitiuM-managed_assembly_resolver_fix' 2023-07-03 11:12:33 +02:00
mafiesto4 422f2323d2 Merge branch 'managed_assembly_resolver_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-managed_assembly_resolver_fix 2023-07-03 11:12:28 +02:00
mafiesto4 10d9d53e47 Merge branch 'GoaLitiuM-api_inject_code_newline' 2023-07-03 11:11:22 +02:00
mafiesto4 94e5a8b7bc Merge branch 'api_inject_code_newline' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-api_inject_code_newline 2023-07-03 11:11:16 +02:00
mafiesto4 bda94834f7 Merge branch 'GoaLitiuM-new_project_defaultscene' 2023-07-03 11:10:19 +02:00
mafiesto4 df3969dae1 Merge branch 'new_project_defaultscene' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-new_project_defaultscene 2023-07-03 11:09:56 +02:00
mafiesto4 789dfac27c Merge branch 'GoaLitiuM-hotreload_cleanup' 2023-07-03 11:09:39 +02:00
mafiesto4 f81989a171 Add **Cloth** simulation with physics 2023-07-03 10:38:36 +02:00
mafiesto4 8818b3b07c Add NvCloth dependency 2023-07-03 09:51:42 +02:00
mafiesto4 99ee0b1bfe Add MeshDeformation utility for generic meshes vertices morphing (eg. via Blend Shapes or Cloth) 2023-07-03 09:49:23 +02:00
GoaLitiuM 4f78f79201 Support line-breaks in API_INJECT_CODE macro 2023-07-02 22:13:04 +03:00
GoaLitiuM 28335478bd Fix managed library location resolver 2023-07-02 21:56:41 +03:00
mafiesto4 60181a29a3 Add copy/move ctor/operator to Delegate 2023-07-02 15:46:55 +02:00
mafiesto4 04963fef18 Various code fixes and tweaks 2023-07-02 15:46:29 +02:00
GoaLitiuM 58618bd402 Fix garbage DefaultScene value in new projects 2023-06-30 14:41:14 +03:00
GoaLitiuM 0ee6aad3ec Remove old hot-reload files in project references 2023-06-30 13:01:02 +03:00
mafiesto4 9205352f94 Merge branch 'HydrogenC-patch-1' 2023-06-30 11:04:01 +02:00
mafiesto4 5079ddd20a Merge branch 'patch-1' of https://github.com/HydrogenC/FlaxEngine into HydrogenC-patch-1 2023-06-30 11:03:15 +02:00
mafiesto4 2bd2bd5081 Fix crash when modifying animated model skeleton pose from gameplay code during update event 2023-06-30 11:02:58 +02:00
mafiesto4 d5100373be Fix bugs in C# codegen for network data serialization 2023-06-30 10:38:08 +02:00
mafiesto4 8c006f6e11 Fix crash due to replicated objects leak upon system destruction 2023-06-30 10:00:12 +02:00
ExMatics HydrogenC 804826fbc7 Fix multiplication mistake 2023-06-30 14:06:52 +08:00
ExMatics HydrogenC 0498f1488e Fix space conversion issue 2023-06-30 12:25:58 +08:00
mafiesto4 0d7e7edf80 Optimize BoundingBox::Transform 2023-06-29 16:50:53 +02:00
mafiesto4 e3cbe1458d Add MeshReference to ModelInstanceActor for easy mesh referencing and its data access interface 2023-06-29 16:50:00 +02:00
mafiesto4 656866c1d4 Various improvements in Editor code 2023-06-29 16:41:15 +02:00
mafiesto4 96589557b3 Fix access level 96a1f20bee 2023-06-28 20:09:18 +02:00
mafiesto4 3119c50789 Fix nullable warnings 2023-06-28 20:09:01 +02:00
mafiesto4 04c1cf469d Fix codegen for C++ RPS with Array ParameterDefinition
#1209
2023-06-28 20:08:35 +02:00
mafiesto4 70ab159dd4 Fix empty clients mask for NetworkReplicationHierarchy on client to properly replicate client-owned objects
#1205
2023-06-28 19:55:10 +02:00
mafiesto4 ac54838eea Fix custom editor window restore after hot-reload
#1208
2023-06-28 18:46:46 +02:00
mafiesto4 5e5ee8e039 Merge branch 'PhyresiCompany-new_window_improvements' 2023-06-28 16:27:50 +02:00
mafiesto4 bb9711277a Cleanup code from #1213 2023-06-28 16:27:42 +02:00
mafiesto4 96a1f20bee Merge branch 'new_window_improvements' of https://github.com/PhyresiCompany/FlaxEngine into PhyresiCompany-new_window_improvements 2023-06-28 16:14:15 +02:00
mafiesto4 32629b7a44 Merge branch 'RuanLucasGD-fix_vehicle_physics_debug' 2023-06-28 16:13:39 +02:00
mafiesto4 1b46c0921f Merge branch 'fix_vehicle_physics_debug' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-fix_vehicle_physics_debug 2023-06-28 16:13:33 +02:00
mafiesto4 b581ec837c Merge branch 'Withaust-replicationnode' 2023-06-28 16:01:52 +02:00
mafiesto4 c0a5417108 Merge branch 'replicationnode' of https://github.com/Withaust/FlaxEngine into Withaust-replicationnode 2023-06-28 16:01:43 +02:00
Ruan Lucas 45a1d33689 fix orientation 2023-06-28 09:56:15 -04:00
mafiesto4 bb3cefbe54 Add check for NetworkClientsMask to ensure it has capacity 2023-06-28 15:48:32 +02:00
mafiesto4 e7b62ad1c3 Merge branch 'GoaLitiuM-intellisense_reference_fix' 2023-06-28 15:27:51 +02:00
mafiesto4 7997d2bc4e Merge branch 'intellisense_reference_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-intellisense_reference_fix 2023-06-28 15:27:11 +02:00
mafiesto4 c44e97c8bc Bump build number 2023-06-28 15:22:48 +02:00
mafiesto4 f7deac4b63 Merge branch 'GoaLitiuM-hashset_fix' 2023-06-28 15:15:16 +02:00
mafiesto4 70136509a9 Merge branch 'hashset_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-hashset_fix 2023-06-28 15:15:11 +02:00
mafiesto4 38451f7dce Merge branch 'Tryibion-realloc' 2023-06-28 15:14:20 +02:00
mafiesto4 63a70758f2 Merge branch 'realloc' of https://github.com/Tryibion/FlaxEngine into Tryibion-realloc 2023-06-28 15:13:56 +02:00
mafiesto4 890248edf2 Fix MClass::HasInterface in .NET 7 2023-06-28 15:13:33 +02:00
mafiesto4 9536c37623 Add ability to unset type reference with null item 2023-06-28 15:12:58 +02:00
GoaLitiuM bf6daed6d2 Fix Intellisense errors with referenced binary module structures 2023-06-28 15:57:25 +03:00
mafiesto4 864f5f77f5 Add output binaries folder cleanp to build clear command 2023-06-28 14:53:23 +02:00
mafiesto4 b16a6199d0 Fix invoking Client RPC on Host client when it's not included in targetIds list 2023-06-28 14:52:58 +02:00
Tryibion 093928f2f9 Change name to ReallocAligned 2023-06-28 06:42:54 -05:00
GoaLitiuM d3b96742e7 Fix compile-time error in HashSet::ClearDelete 2023-06-28 14:42:27 +03:00
mafiesto4 fb6bc75e3a Fix launchSettings.json generation bug 2023-06-28 13:42:18 +02:00
mafiesto4 61bb41c878 Merge branch 'GoaLitiuM-custom_asset_release' 2023-06-28 12:23:22 +02:00
mafiesto4 c52c23013c Merge branch 'custom_asset_release' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-custom_asset_release 2023-06-28 12:23:16 +02:00
mafiesto4 17aa4ea60d Optimize CollisionsHelper::FrustumContainsBox 2023-06-28 12:21:58 +02:00
envision3d 940b0e02e5 improve state syncing of context menus and editor options 2023-06-28 04:08:36 -05:00
envision3d 39f4c00135 add play button actions, number of players
- add context menu support for toolstrip buttons
- add "Play Game" vs. "Play Scenes"
- add context menu for choosing play button action to toolstrip button
- add number of game client selection for cook & run
- add context menu for cook & run to toolstrip button
- add menu items for the above
- add editor option entries for saving user preferences for the above
2023-06-28 02:02:10 -05:00
Ruan Lucas 76e4e1b8d4 fix debug vehicle wheel orientation 2023-06-27 21:08:12 -04:00
PhyresiCompany fe8260fe14 Window improvements with a new approach 2023-06-27 19:58:37 -03:00
GoaLitiuM 90f9754781 Release custom assets before binary modules on scripting release 2023-06-28 00:35:51 +03:00
mafiesto4 75d5023354 Fix tooltip for project folder 2023-06-27 23:24:02 +02:00
mafiesto4 0711710544 Merge branch 'RuanLucasGD-fix_content_browser' 2023-06-27 23:23:08 +02:00
mafiesto4 23a6a8b69f Merge branch 'fix_content_browser' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-fix_content_browser 2023-06-27 23:20:11 +02:00
Ruan Lucas 020b0a90d7 remove unecessary code 2023-06-27 00:22:12 -04:00
Wiktor Kocielski 6013705988 Implement object to cell caching for the grid 2023-06-26 17:32:19 +03:00
Wiktor Kocielski 65397621e9 Make GetObject virtual and implement for Grid 2023-06-26 17:12:48 +03:00
Wiktor Kocielski cbd1e5c837 Add NetworkReplicationNode::GetObject 2023-06-25 23:39:59 +03:00
mafiesto4 9282bcfbbf Fix crash due to invalid RPC codegen for enum value type variable 2023-06-25 21:24:30 +02:00
Tryibion 1d8ae580b7 Add Realloc with alignment. 2023-06-24 12:05:51 -05:00
mafiesto4 694f8fbaf3 Fix missing collision events generated during CharacterController::Move
#1200
2023-06-23 22:22:50 +02:00
mafiesto4 623752e69b Merge branch 'Withaust-patch-1' 2023-06-23 21:28:31 +02:00
mafiesto4 420525f688 Merge branch 'patch-1' of https://github.com/Withaust/FlaxEngine into Withaust-patch-1 2023-06-23 21:28:24 +02:00
mafiesto4 9b570a46d2 Codestyle tweak 2023-06-23 21:28:16 +02:00
mafiesto4 b8ee20c7dc Merge branch 'optimize_actors_search' of https://github.com/RuanLucasGD/FlaxEngine 2023-06-23 21:25:32 +02:00
mafiesto4 4696ed4f8a Merge branch 'GoaLitiuM-utf8_build_files' 2023-06-23 21:18:21 +02:00
mafiesto4 c37aee0a27 Merge branch 'utf8_build_files' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-utf8_build_files 2023-06-23 21:18:14 +02:00
mafiesto4 7b34ddc089 Merge branch 'Tryibion-gitattribute' 2023-06-23 21:16:29 +02:00
Wiktor Kocielski 028ccfca2e Update NetworkReplicationNode::AddObject 2023-06-23 13:14:59 +03:00
Ruan Lucas 072d70722c add optional parameter to find only active actors on Level.FindActorsByParentTag 2023-06-21 21:38:22 -04:00
Ruan Lucas 875dd30d57 add optional parameter to find only active actors on Level.FinActors(tag) 2023-06-21 21:27:38 -04:00
mafiesto4 4741f194f6 Update CMake project to the latest VS 2022 2023-06-21 23:07:52 +02:00
Tryibion 9c2a04aa21 Add eol=lf to gitattribute 2023-06-21 07:24:37 -05:00
GoaLitiuM 83485d2f52 Write generated build configuration files in UTF-8
Git seems to have issues with handling UTF-16 encoded files, so it would
be more appropriate to write the generated files with more common UTF-8
encoding instead.
2023-06-21 13:17:49 +03:00
GoaLitiuM 74760a7661 Add support for writing UTF-8 files in FileBase::WriteAllText 2023-06-21 13:17:46 +03:00
mafiesto4 2a109e50fb Merge branch 'GoaLitiuM-custom_asset_hotreload' 2023-06-20 22:01:07 +02:00
mafiesto4 67dad80e15 Merge branch 'custom_asset_hotreload' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-custom_asset_hotreload 2023-06-20 22:00:20 +02:00
mafiesto4 64a7985376 Fix GridGizmo to render before transparency in Editor viewport
#1196
2023-06-20 21:59:36 +02:00
GoaLitiuM d3073f5251 Release custom assets before scripting hot reload 2023-06-20 21:47:23 +03:00
mafiesto4 62047d2d4c Merge branch 'GoaLitiuM-native_hotreload_fix' 2023-06-20 19:54:44 +02:00
mafiesto4 2020b8b011 Merge branch 'native_hotreload_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-native_hotreload_fix 2023-06-20 19:54:38 +02:00
GoaLitiuM 87e96a9017 Fix native library lookup after hot reload 2023-06-20 16:29:04 +03:00
mafiesto4 0e5335a806 Merge branch 'GoaLitiuM-content_api' 2023-06-20 15:20:05 +02:00
mafiesto4 e8b07e1588 Merge branch 'content_api' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-content_api 2023-06-20 15:19:59 +02:00
mafiesto4 1c4901305c Merge branch 'GoaLitiuM-csharp_nullable' 2023-06-20 15:19:26 +02:00
mafiesto4 7106d958d7 Merge branch 'csharp_nullable' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-csharp_nullable 2023-06-20 15:19:17 +02:00
mafiesto4 cd7ad4e5f8 Fix crash in particle effect
#1194
2023-06-20 15:17:46 +02:00
GoaLitiuM c0ba3b0edb Expose Content importers and exporters for scripting API 2023-06-19 22:35:36 +03:00
GoaLitiuM b82f19a0df Support changing C# nullable references context build option 2023-06-19 19:33:13 +03:00
mafiesto4 6f487bcab5 Fix doc comment warning #1188 2023-06-19 18:05:00 +02:00
mafiesto4 f7e3480d79 Fix floating point comparison #1188 2023-06-19 18:01:25 +02:00
mafiesto4 7ff3b565e5 Merge branch 'Withaust-master' 2023-06-19 18:00:00 +02:00
mafiesto4 cc6f5f83ac Merge branch 'master' of https://github.com/Withaust/FlaxEngine into Withaust-master 2023-06-19 17:59:54 +02:00
mafiesto4 c38a2870dc Merge branch 'GoaLitiuM-viewport_mouse_fix' 2023-06-19 17:50:04 +02:00
mafiesto4 287c9432b7 Merge branch 'viewport_mouse_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-viewport_mouse_fix 2023-06-19 17:49:59 +02:00
mafiesto4 0e95700349 Merge branch 'GoaLitiuM-font_float_size' 2023-06-19 17:49:50 +02:00
mafiesto4 a99282f86d Merge branch 'font_float_size' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-font_float_size 2023-06-19 17:49:44 +02:00
mafiesto4 e17eed7029 Fix regression in script values creation in Editor
#1184 #1183
2023-06-19 17:49:34 +02:00
Wiktor Kocielski 46c406cc9e Implement optional object replication 2023-06-19 16:07:53 +03:00
mafiesto4 9b0fdb2cbd Disable assertions in Release build mode 2023-06-19 13:59:04 +02:00
mafiesto4 f952a392de Add **stencil buffer** support to GPUPipelineState 2023-06-19 13:46:37 +02:00
mafiesto4 a6353c0bb9 Rename GPUPipelineState::Description::PrimitiveTopologyType to PrimitiveTopology 2023-06-19 11:53:40 +02:00
mafiesto4 7fc3b264ac Improve DX12 PSO debug name building 2023-06-19 11:21:53 +02:00
mafiesto4 1c9d8aa470 Add GPUContext::SetStencilRef to stencil reference value 2023-06-19 11:21:35 +02:00
GoaLitiuM 6a1552505e Fix sluggish EditorViewport camera movement with high DPI
Flooring the mouse delta values seems to drop slight movements in
viewport when screen DPI is high.
2023-06-18 21:23:02 +03:00
GoaLitiuM 2190031ccf Support decimal values in Font sizes 2023-06-18 20:52:46 +03:00
mafiesto4 228ef4e130 Add objects ID inverse mapping from client to server for proper C# networking codegen 2023-06-18 19:27:46 +02:00
mafiesto4 dd8817582a Fix arg name 2023-06-18 18:36:58 +02:00
mafiesto4 3b642c0370 Merge branch 'Withaust-master' 2023-06-18 18:31:27 +02:00
mafiesto4 16159a9d98 Merge branch 'master' of https://github.com/Withaust/FlaxEngine into Withaust-master 2023-06-18 18:31:13 +02:00
mafiesto4 c87b315fef Fixes for network codegen 2023-06-18 18:28:41 +02:00
mafiesto4 b07528d9ce Refactor Network RPC C# codegen to share code with data serializer 2023-06-18 17:11:15 +02:00
mafiesto4 9e2e6759bd Implement proper POD types check in C# network replication codegen 2023-06-18 15:33:57 +02:00
Wiktor Kocielski 2485987901 Fix binding generation for interfaces 2023-06-18 10:48:46 +03:00
mafiesto4 1a6e706e57 Minor fixes 2023-06-17 17:51:14 +02:00
mafiesto4 21a3081b9f Fix 6b8d8b7913 from using filename into namespaces 2023-06-17 17:34:48 +02:00
mafiesto4 8f9989dc65 Additional fix for cc85450ed5 2023-06-17 16:41:48 +02:00
mafiesto4 a3e3ee396a Revert default value back to false as in #1179 2023-06-17 16:37:33 +02:00
mafiesto4 cd68f2463b Adjustment for #1179 to rebuild by default 2023-06-17 16:36:05 +02:00
mafiesto4 d1f11bbdb2 Merge branch 'Withaust-patch-1' 2023-06-17 16:33:11 +02:00
mafiesto4 3b6100837f Merge branch 'patch-1' of https://github.com/Withaust/FlaxEngine into Withaust-patch-1 2023-06-17 16:33:03 +02:00
mafiesto4 cc85450ed5 Change macOS editor deploy to build only current platform arch 2023-06-17 11:28:39 +02:00
Wiktor Kocielski 70470bc421 Make rebuilding database when adding asset proxy optional 2023-06-17 12:13:54 +03:00
mafiesto4 f995d12686 Fix editor deployment 2023-06-17 11:08:51 +02:00
mafiesto4 3645377b15 Merge remote-tracking branch 'origin/1.6' 2023-06-16 18:43:40 +02:00
mafiesto4 1e804a0a81 Merge branch 'GoaLitiuM-font_glyph_data_fix' 2023-06-16 18:43:01 +02:00
GoaLitiuM fadc5beb1c Fix FontTextureAtlas::GetSlotData not including padding correctly 2023-06-16 15:17:04 +03:00
mafiesto4 5f019dc79f Improve Visual Studio solution generation with nested C# project cross-references to properly place projects in group folders 2023-06-16 13:45:54 +02:00
mafiesto4 b57a3165fa Fix textbox submit when it's nav focused 2023-06-16 10:56:17 +02:00
mafiesto4 b13139c6cc Fix check from compilation errors 2023-06-15 12:14:35 +02:00
mafiesto4 fea4b3fcba Add better Texture initialization API with custom data 2023-06-15 12:14:23 +02:00
mafiesto4 329a6ce0ef Increase PhysX allocation limit to 1GB
#1176
2023-06-15 10:07:30 +02:00
mafiesto4 53587ad162 Fix error when unloading Visual Script item in Editor 2023-06-15 09:51:49 +02:00
mafiesto4 086e4c9835 Add content proxy modifications function and workspace rebuilding for custom asset types extensions 2023-06-15 09:51:26 +02:00
mafiesto4 ee9627bc15 Add launchSettings.json generation for Visual Studio 2022 with .NET 7 2023-06-14 13:14:16 +02:00
mafiesto4 9de5ee5615 Fix compilation on mac 2023-06-14 08:47:03 +02:00
mafiesto4 125591dc71 Unify app package name formatting for different platforms 2023-06-13 17:11:56 +02:00
mafiesto4 b0134ab1ce Fix missing MConverter codegen for array and generic types used in non-POD struct fields 2023-06-13 16:38:08 +02:00
mafiesto4 9f313491b8 Fix game compilation error 2023-06-13 15:45:08 +02:00
mafiesto4 8f7da81621 Merge remote-tracking branch 'origin/master' into 1.6
# Conflicts:
#	Flax.flaxproj
#	Source/Editor/Content/Items/AssetItem.cs
2023-06-13 15:41:07 +02:00
mafiesto4 55971167c8 Merge branch 'GoaLitiuM-font_glyph_data' 2023-06-13 15:27:07 +02:00
mafiesto4 9f50146e68 Merge branch 'font_glyph_data' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-font_glyph_data 2023-06-13 15:26:09 +02:00
mafiesto4 bda71c067b Port #1166 to StringAnsi 2023-06-13 15:04:30 +02:00
mafiesto4 cc1e5873a6 Merge branch 'GoaLitiuM-string_set_fix' 2023-06-13 15:00:16 +02:00
mafiesto4 c652bab9b2 Merge branch 'string_set_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-string_set_fix 2023-06-13 15:00:08 +02:00
mafiesto4 13b1c16213 Add asset reload option via context menu in Editor 2023-06-13 14:58:14 +02:00
mafiesto4 f1c98320fc Refactor vehicles to use Z axis as forward instead of X
#1050
2023-06-13 14:56:03 +02:00
mafiesto4 bdb65857bc Fix prefab data build number when loading objects from prefab 2023-06-13 12:12:59 +02:00
Ruan Lucas 164670cceb change content folder detection mode on "CanRename" 2023-06-12 20:04:32 -04:00
mafiesto4 d7ddb2ef6f Fix typo in atmosphere precompute shader 2023-06-12 21:12:17 +02:00
GoaLitiuM 326b6f000a Expose bitmap data of Font glyphs in FontTextureAtlas 2023-06-12 22:09:27 +03:00
GoaLitiuM 7cc2c143ab Fix crash when substring of String is assigned to itself 2023-06-12 22:03:17 +03:00
mafiesto4 37bf4bb34f Unify all GetActorsTree usages in Editor 2023-06-12 18:25:44 +02:00
mafiesto4 534d2388f5 Fix crash when removing json instance for scene asset that is different 2023-06-12 17:07:24 +02:00
mafiesto4 d5cb34f1b4 Minor fix for settings 2023-06-12 14:44:12 +02:00
mafiesto4 6b8d8b7913 Various fixes and improvements to auto-generated bindings usability 2023-06-12 14:35:11 +02:00
mafiesto4 14d12418b6 Add iOS and Apple icons 2023-06-12 14:34:31 +02:00
mafiesto4 979168e82c Refactor various Editor APIs to use auto-generated bindings instead of manual code 2023-06-12 14:34:07 +02:00
mafiesto4 7140c4a2d8 Merge remote-tracking branch 'origin/master' into 1.6 2023-06-11 21:38:20 +02:00
mafiesto4 5f8e5d44dc Fix RPC invoking on object with different ID but matching parent and type 2023-06-11 21:35:50 +02:00
mafiesto4 31c9b85a3f Fix prefab diff context menu in Editor to properly diff against arrays 2023-06-11 20:44:04 +02:00
mafiesto4 958c7b2181 Fix spawning nested prefab with different root actor
#1138
2023-06-11 20:43:31 +02:00
mafiesto4 652f8ccb8d Fix crash when reading field value from C# in AOT on iOS 2023-06-11 15:05:14 +02:00
mafiesto4 26f4574358 Various improvements for iOS 2023-06-11 14:56:46 +02:00
mafiesto4 0eadf2de1e Fix visual glitches on MoltenVK (macOS, iOS) 2023-06-11 00:49:48 +02:00
mafiesto4 ec67d04a0a Disable Metal validation in iOS debug run 2023-06-11 00:49:08 +02:00
mafiesto4 2df931e090 Improve tooltip 2023-06-11 00:45:46 +02:00
mafiesto4 f552dd0c28 Merge remote-tracking branch 'origin/master' into 1.6 2023-06-10 23:29:22 +02:00
mafiesto4 8cf10bf71d Add app pausing and focus management to iOS 2023-06-10 23:26:40 +02:00
mafiesto4 621d408078 Add iOS app exporting 2023-06-10 23:05:52 +02:00
mafiesto4 1fdc91255b Add iOS app icon exporting 2023-06-10 23:04:53 +02:00
mafiesto4 524b55b6c1 Add missing change in XCode project for iOS 2023-06-10 12:44:54 +02:00
mafiesto4 5e07a42417 Add app version and ui orientation settings to iOS 2023-06-10 12:43:10 +02:00
mafiesto4 ea4f97aad8 Remove unused codesigning (ios uses xcode now) 2023-06-10 12:08:22 +02:00
mafiesto4 e7804f9d02 Add audio to iOS via OpenAL 2023-06-10 12:05:13 +02:00
mafiesto4 092df84170 Add touch input to ios 2023-06-10 11:54:17 +02:00
mafiesto4 22288b0561 Add dpi for ios 2023-06-10 10:47:15 +02:00
mafiesto4 43c1e40461 Add iOS platform info for device network, screen and battery status 2023-06-10 10:31:39 +02:00
Ruan Lucas 8f76fe4049 don't let rename source/content folders 2023-06-09 22:14:33 -04:00
mafiesto4 60ddf0ea89 Add automated test for loading nested prefab with different root actor
#1138
2023-06-09 23:36:31 +02:00
mafiesto4 b299ed3246 Add more assertions to tests build 2023-06-09 23:34:55 +02:00
mafiesto4 7c55d50507 Various minor code cleanup tweaks 2023-06-09 23:26:37 +02:00
mafiesto4 d798b10d4c Remove unlogical PrefabManager::IsNotCreatingPrefab (use IsCreatingPrefab flag) 2023-06-09 22:49:19 +02:00
mafiesto4 a6430692d2 Fix crash safe handling of internal errors and exceptions when drawing asset thumbnails
#1138
2023-06-09 18:22:40 +02:00
mafiesto4 3bbfe9de8a Code cleanup, add tooltip and cache property option in layout #1140 2023-06-09 17:32:57 +02:00
mafiesto4 94abdfd734 Merge branch 'Swiggies-ui-resize-update' 2023-06-09 17:23:13 +02:00
mafiesto4 a0d6f3c22b Merge branch 'ui-resize-update' of https://github.com/Swiggies/FlaxEngine into Swiggies-ui-resize-update 2023-06-09 17:23:00 +02:00
mafiesto4 bbdc2bc876 Merge branch 'RuanLucasGD-fix-transform-gizmos' 2023-06-09 17:16:41 +02:00
mafiesto4 9bda3aa52a Merge branch 'fix-transform-gizmos' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-fix-transform-gizmos 2023-06-09 17:16:36 +02:00
mafiesto4 9faf9e43fb Codestyle fix #1118 2023-06-09 17:15:06 +02:00
mafiesto4 e5f3329e88 Merge branch 'Tryibion-scale-link-zero-fix' 2023-06-09 17:12:19 +02:00
mafiesto4 a8cf4e95c5 Merge branch 'scale-link-zero-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-scale-link-zero-fix 2023-06-09 17:12:14 +02:00
mafiesto4 f345e0dffc Merge branch 'RuanLucasGD-fix_crash_when_import_model' 2023-06-09 14:10:21 +02:00
mafiesto4 26e09aebe3 Merge branch 'fix_crash_when_import_model' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-fix_crash_when_import_model 2023-06-09 14:10:16 +02:00
mafiesto4 892e091643 Merge branch 'Withaust-inputfixes' 2023-06-09 14:08:17 +02:00
mafiesto4 ef823c0646 Merge branch 'inputfixes' of https://github.com/Withaust/FlaxEngine into Withaust-inputfixes 2023-06-09 14:08:04 +02:00
mafiesto4 c043e64b6b Merge branch 'RuanLucasGD-master' 2023-06-09 13:59:02 +02:00
mafiesto4 2382e2cbbc Merge branch 'master' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-master 2023-06-09 13:57:16 +02:00
mafiesto4 2a28126700 Merge branch 'Tryibion-limit-cc-up' 2023-06-09 13:54:59 +02:00
mafiesto4 f9251e41a4 Merge branch 'limit-cc-up' of https://github.com/Tryibion/FlaxEngine into Tryibion-limit-cc-up 2023-06-09 13:54:52 +02:00
mafiesto4 1f11f287ec Merge branch 'RuanLucasGD-new_feature_to_physics' 2023-06-09 13:53:33 +02:00
mafiesto4 0476251638 Improve line cast math and code style fix #1147 2023-06-09 13:53:26 +02:00
mafiesto4 d71f89718b Merge branch 'new_feature_to_physics' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-new_feature_to_physics 2023-06-09 13:50:00 +02:00
mafiesto4 55f76999b4 Merge branch 'Tryibion-findactor' 2023-06-09 13:48:43 +02:00
mafiesto4 393514c13d Add missing scenes locking 2023-06-09 13:48:33 +02:00
mafiesto4 126ea687e6 Merge branch 'findactor' of https://github.com/Tryibion/FlaxEngine into Tryibion-findactor 2023-06-09 13:45:49 +02:00
mafiesto4 d83dcdebf3 Merge branch 'RuanLucasGD-new_features_to_tags' 2023-06-09 13:44:31 +02:00
mafiesto4 248f78ed56 Code style fix #1146 2023-06-09 13:44:26 +02:00
mafiesto4 ee7f2b3724 Merge branch 'new_features_to_tags' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-new_features_to_tags 2023-06-09 13:42:04 +02:00
Ruan Lucas 0b8c06b149 fix for #1002 2023-06-08 11:52:00 -04:00
Ruan Lucas 8b0dd039ca Merge branch 'fix_crash_when_import_model' of https://github.com/RuanLucasGD/FlaxEngine into fix_crash_when_import_model 2023-06-08 11:49:27 -04:00
Ruan Lucas f28a3572bb ... 2023-06-08 11:49:15 -04:00
Ruan Lucas 31c3171b72 Revert "fix for #1002"
This reverts commit e000acd6fc.
2023-06-08 11:43:35 -04:00
Ruan Lucas e000acd6fc fix for #1002 2023-06-08 11:42:47 -04:00
Withaust 8c0c6c0142 Expose some Input class delegates to scripting API 2023-06-08 01:24:38 +03:00
Ruan Lucas c22eae0e2d fix crash when import model with option to generate lod and lods amount = 1 2023-06-03 22:18:18 -04:00
Ruan Lucas e32f4d5f8c add LineCastAll 2023-06-03 13:52:50 -04:00
Ruan Lucas eda4def35b add linecast with hit info 2023-06-03 13:39:10 -04:00
Ruan Lucas ac0cf01404 add simple linecast to physics 2023-06-03 13:25:29 -04:00
Ruan Lucas 50639e2378 fix doc 2023-06-03 12:03:21 -04:00
Ruan Lucas 88a5e07f2e add docs 2023-06-03 11:59:18 -04:00
Ruan Lucas 9c93828976 add search actor by parent tag 2023-06-03 11:51:24 -04:00
Tryibion fcbe624f7c Add FindActor with type and name to level. 2023-06-02 15:29:28 -05:00
Tryibion efed1f5b1d Add FindActor by type and name. 2023-06-02 15:12:55 -05:00
Tryibion 4849a49ba4 Limits character controller up direction between (-1, 1) 2023-05-31 21:43:15 -05:00
Tryibion 424e832ec7 Fix bug on disabling element on init if it is zero. 2023-05-31 21:23:34 -05:00
Ruan Lucas dae05e0549 improv: copy old curve point data to new curve point 2023-05-31 20:11:05 -04:00
mafiesto4 007edb4651 Merge commit '2c809389ad7d8953b10e7ab3b1b29aca4d072116' into 1.6 2023-06-01 01:06:27 +02:00
mafiesto4 3953e6ddc0 Merge commit 'f2ecefb7ee9b9e6c5daac9f44fe40ebdccbb1c76' into 1.6 2023-06-01 01:06:14 +02:00
mafiesto4 40f5032898 Add iOS view linkage for Metal rendering and invoke window resizing properly on a main thread 2023-06-01 01:05:06 +02:00
mafiesto4 a2e2ef51be Various twekas 2023-06-01 00:47:05 +02:00
mafiesto4 c46f78885e Refactor iOS deployment to use XCode project 2023-06-01 00:46:39 +02:00
Tryibion 5c67c4f5d4 Handle zero case correctly by disabling value boxes on zero. 2023-05-31 14:31:01 -05:00
Tryibion 70cb4d3cd9 Fix bug of moving value from zero. 2023-05-31 13:01:41 -05:00
mafiesto4 5416d385d3 iOS runtime impl progress 2023-05-30 22:03:17 +02:00
mafiesto4 2c809389ad Merge branch 'GoaLitiuM-flaxapi_fixes' 2023-05-30 10:28:16 +02:00
mafiesto4 8bd4ad03de Merge branch 'flaxapi_fixes' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-flaxapi_fixes 2023-05-30 10:28:03 +02:00
mafiesto4 01688bc050 Merge branch 'GoaLitiuM-dxgifactory_fix' 2023-05-30 10:27:06 +02:00
mafiesto4 d5c89cb3de Merge branch 'dxgifactory_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dxgifactory_fix 2023-05-30 10:25:49 +02:00
GoaLitiuM 9e07e80fa1 Fix linking errors when referencing static members in engine classes 2023-05-29 22:23:45 +03:00
GoaLitiuM 3e848d93da Fix DXGIFactory use after release 2023-05-29 22:22:59 +03:00
mafiesto4 d0bf176178 Fix dylib rpath id on macOS 2023-05-29 17:11:51 +02:00
Olly Rybak fce41b95f6 Added bool to properties window to carry value between controls 2023-05-29 20:55:55 +10:00
mafiesto4 fb6a9728a3 Hide editor-only properties from animating in UI Control 2023-05-28 23:30:49 +02:00
mafiesto4 6a482c987c Fix 3D UI Canvas point conversion from parent control space to local space
#1129
2023-05-28 23:21:36 +02:00
mafiesto4 f60007da83 Add Camera.UnprojectPoint method 2023-05-28 23:20:39 +02:00
mafiesto4 2149995116 Minor Camera class tweaks 2023-05-28 22:57:52 +02:00
mafiesto4 44036a26d0 Fix UI Control selection highlights when using Canvas Scaler
#977
2023-05-28 21:35:56 +02:00
mafiesto4 f2ecefb7ee Refactor StringUtils 2023-05-28 21:16:29 +02:00
mafiesto4 6b4340ce24 Add build tool and game cooker caches clearing when opening project with different Editor version 2023-05-28 19:42:52 +02:00
mafiesto4 e0d97486ec Merge remote-tracking branch 'origin/master' into 1.6 2023-05-28 19:34:02 +02:00
mafiesto4 b65c84c02e Fix compilation issue from 62946f6359 2023-05-28 16:57:38 +02:00
mafiesto4 5a45ccf70d Fix text formatting infinite loop
#1127
2023-05-28 16:56:19 +02:00
mafiesto4 f3393c46a5 Fix text formatting infinite loop
#1127
2023-05-28 16:55:47 +02:00
mafiesto4 587578ccfb Update platforms impl 2023-05-28 16:45:08 +02:00
Olly Rybak 522015c2d7 Better functionality + styling 2023-05-29 00:43:14 +10:00
mafiesto4 81ae687238 Merge remote-tracking branch 'origin/master' into 1.6 2023-05-28 16:34:38 +02:00
mafiesto4 311637616b Fix Android Debug compilation error after recent Tracy update
#948
2023-05-28 16:22:34 +02:00
mafiesto4 1cf97186dd Merge branch 'Menotdan-color-picker' 2023-05-28 16:12:40 +02:00
mafiesto4 62946f6359 Cleanup and improve code from #1109 2023-05-28 16:12:32 +02:00
mafiesto4 9cdd1cbc45 Add Platform::GetMousePosition/WindowsPlatform::SetMousePosition for unified access to screen-space mouse position on all platforms
#1109
2023-05-28 15:30:16 +02:00
mafiesto4 482d516c2e Merge branch 'color-picker' of https://github.com/Menotdan/FlaxEngine into Menotdan-color-picker 2023-05-28 13:38:37 +02:00
mafiesto4 3e906686db Improve #1119 to use a bit flag for object sync 2023-05-28 13:30:14 +02:00
mafiesto4 b219aaf708 Merge branch 'Withaust-networksync' 2023-05-28 13:28:10 +02:00
mafiesto4 b6f8876315 Merge branch 'networksync' of https://github.com/Withaust/FlaxEngine into Withaust-networksync 2023-05-28 13:28:05 +02:00
mafiesto4 583a5d9223 Minor fixes to content window navigation 2023-05-28 13:17:43 +02:00
mafiesto4 d42b9321f2 Merge branch 'GoaLitiuM-content_copy_fix' 2023-05-28 13:05:15 +02:00
mafiesto4 997dc53a49 Merge branch 'content_copy_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-content_copy_fix 2023-05-28 13:05:08 +02:00
mafiesto4 95d89382c9 Update Flax .gitignore to skip generated code module header files 2023-05-28 12:35:14 +02:00
mafiesto4 ecc6f83130 Use Utilities::HertzToText from #1120 to log cpu clock speed 2023-05-28 12:03:22 +02:00
mafiesto4 7ac23e35f8 Merge branch 'Tryibion-create-script-name-change' 2023-05-28 11:58:15 +02:00
mafiesto4 eeb543c653 Merge branch 'create-script-name-change' of https://github.com/Tryibion/FlaxEngine into Tryibion-create-script-name-change 2023-05-28 11:58:10 +02:00
mafiesto4 bb567cafde Improve #1120 to use shared lookup table export from engine source and reduce memory alloc from Array via Span 2023-05-28 11:46:48 +02:00
mafiesto4 d71a9efd92 Merge branch 'Withaust-unitstotext' 2023-05-28 11:22:48 +02:00
mafiesto4 a4d7693a2f Merge branch 'unitstotext' of https://github.com/Withaust/FlaxEngine into Withaust-unitstotext 2023-05-28 11:22:02 +02:00
mafiesto4 42dbd8db0a Merge branch 'GoaLitiuM-gpu_preference' 2023-05-28 11:16:45 +02:00
Tryibion c9d48d00e7 Change default script name to MyScript and make the name invalid if it is called Script. 2023-05-27 11:15:54 -05:00
Wiktor Kocielski a21abaac84 Implement INetworkObject::OnNetworkSync and make INetworkObject just virtual 2023-05-27 04:12:46 +03:00
GoaLitiuM bca5e908f1 Copy content files using Content Database instead of Content Importing
Fixes an issue where copying asset files does not change the asset ID,
causing the copied assets to remain linked to the original files.
2023-05-27 00:41:19 +03:00
GoaLitiuM 4e683dcc15 Clean up DXGIFactory after use on D3D12 2023-05-26 20:17:30 +03:00
GoaLitiuM bdf6a11491 Prefer high-performance discrete GPUs when enumerating adapters 2023-05-26 20:05:32 +03:00
Wiktor Kocielski 91fdd60b07 BytesToText -> UnitsToText 2023-05-26 18:37:28 +03:00
mafiesto4 9572073eda Add CustomArgs to compile and link environment in build tool for customization 2023-05-26 13:43:20 +02:00
Tryibion 75f1c8baaa Fix scale linking to be a ratio. 2023-05-25 10:17:08 -05:00
Tryibion e9250ab365 Fix spacing 2023-05-25 08:25:57 -05:00
Tryibion a45f067719 Fix zero scale value changing when scales are linked. #1117 2023-05-25 08:24:49 -05:00
mafiesto4 ad1c573678 Fix false-positive error when interop structure has a additional memory size (alignment) 2023-05-25 00:12:54 +02:00
mafiesto4 c2cd3b64ff Improve generated bindings code usability in Editor 2023-05-24 23:50:51 +02:00
mafiesto4 48b18bf84e Fix regression from 7c0d1ab977 when using different access level to property getter/setter 2023-05-24 23:40:40 +02:00
mafiesto4 694980160b Merge remote-tracking branch 'origin/master' into 1.6
# Conflicts:
#	Source/Editor/CustomEditors/CustomEditorsUtil.cs
#	Source/Engine/Networking/NetworkReplicator.cpp
#	Source/Engine/Scripting/ManagedCLR/MUtils.cpp
#	Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs
2023-05-24 23:28:38 +02:00
mafiesto4 90d633fb2d Minor improvements to new replication hierarchy 2023-05-24 22:59:22 +02:00
mafiesto4 e10aa1ff58 Add support for editing dictionary keys that are structures 2023-05-24 22:58:07 +02:00
mafiesto4 7efb3e3f3d Add SoftTypeReference<T> to scripting API for lazy-load type references (via typename) 2023-05-24 22:56:29 +02:00
mafiesto4 982639f215 Fix syncing Custom Editor value when using it to edit value-type 2023-05-24 22:55:02 +02:00
mafiesto4 9986d62a28 Fix crash when scripting object gets deleted while it exists in NetworkReplicationHierarchy 2023-05-24 12:06:09 +02:00
mafiesto4 2c1f6e561a Fix replication regression from eb2fc0f02f 2023-05-24 11:52:32 +02:00
mafiesto4 c4f57d19db Fix network replicator incorrect error message filter 2023-05-24 10:52:59 +02:00
mafiesto4 1a6e4bf14b Fix missing tracy header in cooked build #948 2023-05-24 09:48:02 +02:00
mafiesto4 47f9bc2017 Fix regression in Content Item tooltip #1085 2023-05-24 09:47:27 +02:00
mafiesto4 eb2fc0f02f Add **Network Replication Hierarchy** for robust control over replication in multiplayer games 2023-05-24 09:46:38 +02:00
mafiesto4 8ba17f1026 Optimize MUtils::UnboxScriptingTypeHandle 2023-05-23 18:22:43 +02:00
mafiesto4 914f7b842e Optimize interface method lookup to eliminate strlen 2023-05-23 18:22:23 +02:00
mafiesto4 4879b9bd90 Add CPU profiler events to various networking functions 2023-05-23 16:11:34 +02:00
mafiesto4 f5adbc08fa Remove unused Function::TryCall 2023-05-23 16:08:51 +02:00
Menotdan e3f004b831 remove extraneous stack trace print that i used for debugging 2023-05-22 14:26:55 -04:00
Menotdan 284c3d832a fix a couple of bugs with importing without material instances 2023-05-22 14:26:20 -04:00
Menotdan 4acfffeaf4 Make it so the material instances get linked to the material slots. 2023-05-22 13:51:13 -04:00
mafiesto4 2881ca17a0 Fix bindings code instance object param obj to __obj to prevent name collisions 2023-05-22 18:06:08 +02:00
Menotdan 37fe1154a3 Importing as instances works now 2023-05-22 10:12:00 -04:00
mafiesto4 1b8b585367 Optimize network replication when no client can receive object 2023-05-21 22:38:48 +02:00
mafiesto4 2ae20c5fc4 Add formatting to network profiler bytes values 2023-05-21 22:36:14 +02:00
Menotdan f03bb60d5b Figured out where I actually need to add code, and added code there. 2023-05-21 00:20:54 -04:00
Olly Rybak c92a3e566e New button styling 2023-05-21 09:57:39 +10:00
mafiesto4 d5fcdf6edb Fix BitArray::Set to not be const 2023-05-20 11:11:06 +02:00
Menotdan 89ce2b087e Add parameter for AddMaterial() as an experiment, messing around with ideas. 2023-05-20 00:13:45 -04:00
Menotdan 9a71e0274f Add required options for material instance importing. 2023-05-20 00:03:40 -04:00
mafiesto4 3afec6c897 Merge branch 'GoaLitiuM-rollforward' into 1.6 2023-05-19 14:11:55 +02:00
mafiesto4 ee83c19c7b Merge branch 'rollforward' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-rollforward 2023-05-19 14:11:49 +02:00
mafiesto4 144b72109b Fix crash after scripting hot-reload in editor due to cached class attribute objects
#1108
2023-05-19 13:53:49 +02:00
mafiesto4 7b8c013918 Various minor cleanups 2023-05-19 13:53:18 +02:00
mafiesto4 3e792e6cd7 Add NativeInteropException for native interop crashes 2023-05-19 13:52:30 +02:00
mafiesto4 ed70eb24c7 Fix using proper default value in scripting bindings for IntPtr value type 2023-05-19 13:49:15 +02:00
GoaLitiuM f46d1a4aba Enable roll-forward to latest .NET major preview version 2023-05-19 14:20:06 +03:00
Menotdan 306cedeb39 stopped being stupid and just copied dependencies from the other implementations. 2023-05-19 00:54:49 -04:00
Menotdan 66f66c5481 Whoops forgot includes. Hopefully this builds, but I don't have a mac to test so... 2023-05-19 00:11:29 -04:00
Menotdan 8c20ba83de Lay out what needs to be implemented for Mac 2023-05-18 22:10:35 -04:00
Menotdan cdee91f258 Color Picker FINALLY works 2023-05-18 21:48:47 -04:00
Menotdan 8f6ceece10 Change XGrabPointer call a bit. 2023-05-18 19:40:39 -04:00
Menotdan f5d3e30972 XGrabPointer doesn't seem to be doing what I want. 2023-05-18 15:42:04 -04:00
Menotdan 408d620b17 Removed more unneeded logs. 2023-05-18 00:00:06 -04:00
Menotdan 1d079842f6 Add Mac screen utilities, and removed an unneeded log. 2023-05-17 23:57:23 -04:00
Menotdan b6395cf6f1 Trying to implement XGrabPointer... 2023-05-17 23:51:24 -04:00
Menotdan d0f5d3270f Implement GetPixelAt and GetCursorPosition. 2023-05-17 23:16:44 -04:00
Menotdan 6e6a427488 refactor the code to not include BlockAndReadMouse() as a public API_FUNCTION() 2023-05-17 21:44:26 -04:00
Menotdan 48f890dd80 Merge branch 'color-picker' of https://github.com/menotdan/flaxengine into color-picker
Pull down
2023-05-17 21:21:30 -04:00
Menotdan d4bd2d372c Merge branch 'FlaxEngine:master' into color-picker 2023-05-17 21:12:37 -04:00
Menotdan 7a6c1b8b86 Add linux implementation definitions. 2023-05-17 20:59:42 -04:00
mafiesto4 0d3bae3761 Minor adjustment to #1105 so the local client state is reflected as connecting 2023-05-17 21:37:55 +02:00
mafiesto4 3e073c45ba Merge branch 'Withaust-spawnqueueownership' 2023-05-17 21:26:38 +02:00
mafiesto4 fc5ff3feb7 Merge branch 'spawnqueueownership' of https://github.com/Withaust/FlaxEngine into Withaust-spawnqueueownership 2023-05-17 21:26:26 +02:00
mafiesto4 01365f995d Merge branch 'Withaust-netregression' 2023-05-17 21:25:06 +02:00
mafiesto4 712eaebb25 Merge branch 'netregression' of https://github.com/Withaust/FlaxEngine into Withaust-netregression 2023-05-17 21:24:55 +02:00
mafiesto4 90603792d7 Add 'NSLog' to Apple platform log in game 2023-05-17 18:56:40 +02:00
mafiesto4 04d61eba3c Add code signing to ios 2023-05-17 18:53:04 +02:00
mafiesto4 24396031a7 Fix keyboard input in various cases on macOS 2023-05-17 17:27:41 +02:00
mafiesto4 b244ffedd2 Fix output log text ranges to handle line ending 2023-05-17 12:23:01 +02:00
Olly Rybak ff3bc557b2 Added pivot relative resizing to GUI Controls 2023-05-17 14:05:31 +10:00
Wiktor Kocielski f0564e0b06 Fix NetworkReplicator::SetObjectOwnership not considering spawn queue for hierarchical asignment 2023-05-17 03:34:03 +03:00
Wiktor Kocielski 31fb25a43d Fix dispatch order regression 2023-05-17 02:28:45 +03:00
Menotdan a870513086 Color picker finally works, refactored the code. 2023-05-16 13:54:25 -04:00
Menotdan 5cf3803860 Add ScreenUtilities class, to replace ScreenUtils in the Engine, so it is being moved to the Editor. 2023-05-16 10:50:53 -04:00
mafiesto4 e045f096a9 Add network debugging panel to actors and scripts
#1066
2023-05-16 14:59:15 +02:00
mafiesto4 70593177c7 Add NetworkReplicator::HasObject 2023-05-16 14:58:47 +02:00
mafiesto4 953ae3e9bb Fix hierarchical network ownership propagation to sub-objects
#1066
2023-05-16 14:58:16 +02:00
mafiesto4 64f3f1e9bc Add network error log for missing network object when accessing ownership
#1066
2023-05-16 13:08:25 +02:00
mafiesto4 3fa9f9e9cf Follow up 4482fc0bcf
#1086
2023-05-16 12:14:52 +02:00
mafiesto4 80511d5a19 Merge branch 'Menotdan-scale-icon-change' 2023-05-16 12:14:02 +02:00
mafiesto4 4482fc0bcf Cleanup #1086
Reuse text for UI tooltip
Remove `IconButton` and use simple button instead
Cleanup code style
2023-05-16 12:13:23 +02:00
mafiesto4 73ee5676c6 Merge branch 'scale-icon-change' of https://github.com/Menotdan/FlaxEngine into Menotdan-scale-icon-change 2023-05-16 12:01:10 +02:00
mafiesto4 a3ab7cd14e Fix file lock when loading asset fails
#1103
2023-05-16 11:52:49 +02:00
Menotdan 818ee98b27 Merge branch 'FlaxEngine:master' into color-picker 2023-05-15 20:46:39 -04:00
Menotdan 2a7a07d2fc Add a delegate, unfortunately it doesn't work? 2023-05-15 20:44:18 -04:00
mafiesto4 4a165d0661 Merge iOS and macOS platform settings into shared base class 2023-05-12 23:27:57 +02:00
mafiesto4 226b1307c0 Uncompress BC testures for iOS 2023-05-12 22:48:04 +02:00
mafiesto4 1dd8aa3db8 Merge remote-tracking branch 'origin/master' into 1.6 2023-05-12 18:43:03 +02:00
mafiesto4 1af69421fa Fix actor scene tree dragging regression from d813078e91
#1104
2023-05-12 18:41:58 +02:00
mafiesto4 b43196cd1a Add missing implementation for #987 2023-05-12 14:56:19 +02:00
mafiesto4 aab48f1cc1 Merge branch 'GoaLitiuM-latefixedupdate' into 1.6 2023-05-12 14:41:54 +02:00
mafiesto4 b402603b1d Merge branch 'latefixedupdate' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-latefixedupdate 2023-05-12 14:41:49 +02:00
mafiesto4 1195572318 Merge branch 'GoaLitiuM-resolve_managed_references' into 1.6 2023-05-12 14:41:35 +02:00
mafiesto4 a2113d4acc Merge branch 'resolve_managed_references' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-resolve_managed_references 2023-05-12 14:41:29 +02:00
mafiesto4 b57018f55c Merge remote-tracking branch 'origin/master' into 1.6 2023-05-12 14:41:21 +02:00
mafiesto4 eab14e28da Add play/pause/stop buttons to particle effect editor while in play-mode 2023-05-12 14:39:57 +02:00
mafiesto4 a8f670a9c9 Simplify changes from #924 and properly update after unpausing effect 2023-05-12 14:39:25 +02:00
mafiesto4 2e5d89c8cd Merge branch 'Tryibion-particle-effect-helpers' 2023-05-12 14:19:56 +02:00
mafiesto4 cde4415052 Merge branch 'particle-effect-helpers' of https://github.com/Tryibion/FlaxEngine into Tryibion-particle-effect-helpers 2023-05-12 14:19:51 +02:00
mafiesto4 b5117af4b8 Format code 2023-05-12 14:19:40 +02:00
mafiesto4 d7327d62e2 Fix text words wrapping deadlock
#1093
2023-05-12 14:14:11 +02:00
mafiesto4 b1b1b88982 Merge branch 'Swiggies-input-phases' 2023-05-12 14:13:24 +02:00
mafiesto4 17b95e3ee5 Merge branch 'input-phases' of https://github.com/Swiggies/FlaxEngine into Swiggies-input-phases 2023-05-12 14:13:18 +02:00
mafiesto4 3d36d1ce71 Merge branch 'Tryibion-style-org' 2023-05-12 14:09:17 +02:00
mafiesto4 92b155dbb3 Fix creating C# scripts in Editor with private ctor method
#1018
2023-05-12 13:58:39 +02:00
mafiesto4 42c042c249 Fix text words wrapping deadlock
#1093
2023-05-12 13:53:31 +02:00
mafiesto4 5c6de69e0e Hide FallOffExponent when light is using inverse squared falloff
#1094
2023-05-12 12:22:39 +02:00
mafiesto4 b30f845924 Simplify radial light attenuation in shaders
#1094
2023-05-12 12:22:04 +02:00
Olly Rybak b8ed115f63 More renames 2023-05-12 09:30:35 +10:00
GoaLitiuM cbe07b842f Fix resolving managed scripts references in Editor 2023-05-11 22:11:46 +03:00
GoaLitiuM de7c6483e0 Add LateFixedUpdate event for C# scripts 2023-05-11 21:10:14 +03:00
Menotdan f94ae3f3fd Add mouse hook to the color picker. 2023-05-11 13:20:43 -04:00
Olly Rybak 4b4bf833a9 Rename Phase > State 2023-05-12 00:25:03 +10:00
Olly Rybak d5237715a5 Removed unused field 2023-05-11 21:12:03 +10:00
Olly Rybak 395a72b7d4 Added comments / reformat 2023-05-11 21:10:40 +10:00
Olly Rybak f80ded2057 Initial setup 2023-05-11 17:30:20 +10:00
Menotdan a2d4207504 Fix compile errors. 2023-05-10 19:30:58 -04:00
Menotdan 627b1cee10 Resolve issues that came through when attempting to merge previously. 2023-05-10 17:49:45 -04:00
Menotdan eb75f8a8ad Merge remote-tracking branch 'upstream/master' into color-picker 2023-05-10 17:33:07 -04:00
Menotdan 5bc76de7d6 Merge branch 'master' into scale-icon-change 2023-05-10 17:16:44 -04:00
mafiesto4 4e78b49cac Improve managed exceptions logging 2023-05-10 20:42:18 +02:00
mafiesto4 637850d06c Fix crash when C# type has missing empty ctor or it throws an exception
#1019
2023-05-10 20:41:58 +02:00
Menotdan 4144c22dc4 Working demo of colorpicker eyedropper 2023-05-10 13:41:24 -04:00
Menotdan 2ce727d994 Correctly implement the ScreenUtils class 2023-05-10 13:34:28 -04:00
Menotdan 1855ff133e Tweak a few classes, add the Base classes. 2023-05-10 12:46:54 -04:00
Menotdan 51004bbd9d Learned about filter folders and now VS likes me :) 2023-05-10 11:03:05 -04:00
Menotdan 873d42344b remove files as visual studio is bugging. 2023-05-10 10:39:25 -04:00
Menotdan 27b6ba83a6 Added Windows Base Class for getting screen pixels and other screen-wide utilities 2023-05-10 10:31:44 -04:00
Tryibion eeaf7eb733 Move BoxSize 2023-05-10 08:04:47 -05:00
Tryibion 2b59cbf0f1 Organize the style groups of UI controls 2023-05-10 07:44:54 -05:00
mafiesto4 ab2cfe89ce Fix looping animation in Anim Graph when using start position offset 2023-05-10 12:47:59 +02:00
mafiesto4 aab3d494ff Fix crash when sampling animation in Anim Graph that uses it's length to calculate start position 2023-05-10 12:27:10 +02:00
mafiesto4 fe4e8f3dd2 Merge remote-tracking branch 'origin/master' into 1.6 2023-05-10 12:13:45 +02:00
mafiesto4 0c2c643ea8 Follow up #1085 with expendable type description for content items 2023-05-10 10:29:59 +02:00
mafiesto4 3bff65d6b6 Minor fix 2023-05-10 10:03:13 +02:00
mafiesto4 1069ff0c60 Merge branch 'Menotdan-master' 2023-05-10 10:02:14 +02:00
mafiesto4 03ab243f9b Merge branch 'master' of https://github.com/Menotdan/FlaxEngine into Menotdan-master 2023-05-10 10:02:06 +02:00
mafiesto4 b9d8e2b336 Merge branch 'GoaLitiuM-optimize_profiler_asset_sort' 2023-05-10 09:56:29 +02:00
mafiesto4 ac67813198 Optimize code to alloc memory manually in #1088 2023-05-10 09:31:54 +02:00
mafiesto4 6c2ba51926 Merge branch 'GoaLitiuM-object_array_marshalling' into 1.6 2023-05-10 09:22:27 +02:00
mafiesto4 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
mafiesto4 32bab1e7bf Minor tweak 2023-05-10 09:22:19 +02:00
mafiesto4 e26d793976 Merge branch 'GoaLitiuM-force_gc' into 1.6 2023-05-10 08:44:34 +02:00
mafiesto4 9e3c0f5e26 Merge branch 'force_gc' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-force_gc 2023-05-10 08:44:25 +02:00
mafiesto4 b14f5f5cd6 Fix macOS build 2023-05-10 08:08:21 +02:00
Menotdan 59c54db275 Implement C# callback for pixels finished reading 2023-05-10 00:58:38 -04:00
Menotdan 1ebf4d49e5 trying to get the correct window 2023-05-09 16:49:03 -04:00
Menotdan c73ab05d70 Rather odd attempt to screenshot the view 2023-05-09 16:14:37 -04:00
mafiesto4 d29c2fc5af Add unit test for guid formatting 2023-05-09 17:32:44 +02:00
mafiesto4 ec04e858ef Fix compilation issues on non-Windows platforms 2023-05-09 17:32:31 +02:00
mafiesto4 421db7fee2 Additional optimization 2023-05-09 16:52:01 +02:00
mafiesto4 3bf9c1cc10 Fix exporting skinned model after recent version changes 2023-05-09 16:39:25 +02:00
mafiesto4 e68807d574 Optimize rapidjson std lib usage 2023-05-09 16:39:13 +02:00
mafiesto4 e03516e22e Optimize text formatting functions instantiation to favor manually called String::Format 2023-05-09 16:38:59 +02:00
mafiesto4 a403c4d9ee Update fmt llibrary to version 9.1 (Aug 27, 2022) 2023-05-09 16:38:15 +02:00
mafiesto4 d13c722ce3 Optimize text formatting in various places 2023-05-09 13:44:32 +02:00
mafiesto4 2cf70453f8 Add automated test for strings formatting and localization 2023-05-09 11:19:00 +02:00
GoaLitiuM da149d32cf Force GC to run periodically in order to reduce stuttering 2023-05-08 23:29:39 +03:00
GoaLitiuM 66de1e744a Use Unsafe.As casting in generated managed marshallers 2023-05-08 23:28:54 +03:00
GoaLitiuM cae07f3623 Optimize marshalling managed arrays of object references 2023-05-08 23:28:49 +03:00
GoaLitiuM c1fa9e595c Sort profiler window assets when the view is active 2023-05-08 23:27:02 +03:00
mafiesto4 80e6853f44 Merge remote-tracking branch 'origin/master' into 1.6
# Conflicts:
#	Source/Editor/CustomEditors/Dedicated/UIControlEditor.cs
2023-05-08 22:22:32 +02:00
Menotdan ec60c90963 Implement basic design of the eyedropper button. 2023-05-08 15:59:19 -04:00
mafiesto4 8edc154501 Fix UIControl linkage to Prefab window when creating UI within prefab Editor
#1007
2023-05-08 19:22:23 +02:00
Menotdan 86d0ccb210 Mark SetColors() virtual to override it in IconButton 2023-05-08 12:51:34 -04:00
Menotdan 74af2e53a8 Add IconButton for this branch. 2023-05-08 12:50:33 -04:00
mafiesto4 3ea771fe22 Fix crash on engine exit when asset fails to load due to serialized version mismatch 2023-05-08 17:06:13 +02:00
mafiesto4 ec6e459aa7 Fix CPU profiler events extraction when buffer is full 2023-05-08 17:05:40 +02:00
mafiesto4 959fa185c3 Fix compilation error from fa2171503b 2023-05-08 14:30:22 +02:00
mafiesto4 fa2171503b Fix locale on Linux 2023-05-08 13:57:11 +02:00
mafiesto4 2c2b403da1 Revert aeda759086 2023-05-08 13:57:02 +02:00
mafiesto4 69cdb1268a Merge remote-tracking branch 'origin/master' into 1.6 2023-05-08 12:58:42 +02:00
mafiesto4 a5afa04f8f Fix model screen size calculation in orthographic view projections
#980
2023-05-08 12:44:01 +02:00
mafiesto4 aeda759086 Minor tweak 2023-05-08 12:32:42 +02:00
mafiesto4 0508d5a987 Merge branch 'GoaLitiuM-tracy_v09' 2023-05-08 11:56:31 +02:00
mafiesto4 31a000b2b6 Merge branch 'tracy_v09' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-tracy_v09 2023-05-08 11:56:15 +02:00
mafiesto4 95daff3e96 Run editor analytics in async 2023-05-08 11:40:50 +02:00
mafiesto4 04439d9dec Upgrade Editor analytics from deprecated Universal Analytics to the latest GA4 2023-05-08 11:40:20 +02:00
Menotdan 681564189f Finish implementing IconButton and use that to create a more intuitive scale linking interface. 2023-05-08 00:42:38 -04:00
Menotdan f6ee5123d7 Revert "Use shorter, relative path for displaying Asset Tooltips."
This reverts commit 4c906f4040.

Revert changes I don't want anymore, after making a new branch for the changes I've done.
2023-05-07 23:10:07 -04:00
Menotdan 296ac0b940 Revert "Use shorter, relative path for displaying Asset Tooltips."
This reverts commit 4c906f4040.

undo changes from master branch which I don't want for this seperate change.
2023-05-07 23:04:11 -04:00
Menotdan 141555377b Begin working on an IconButton class, and demoing the IconButton idea using the scale link icon. 2023-05-07 22:58:57 -04:00
mafiesto4 c0428c3316 Simplify Editor analytics code 2023-05-07 23:02:36 +02:00
Menotdan e7249d9d94 Merge branch 'FlaxEngine:master' into master 2023-05-07 15:38:07 -04:00
Menotdan f3d7ad0aa9 Add better tooltips to all files and folders. 2023-05-07 14:03:27 -04:00
mafiesto4 5a66e90b56 Merge remote-tracking branch 'origin/master' into 1.6
# Conflicts:
#	.github/workflows/tests.yml
#	Source/Engine/Content/JsonAsset.cs
2023-05-07 19:46:29 +02:00
Menotdan cffc3f7f5d Better formatting for type names. 2023-05-07 13:44:15 -04:00
mafiesto4 0a5d37fd9b Add support for spawning multiple objects over network within a single group that is not from Prefabs
#1066
2023-05-07 19:40:31 +02:00
mafiesto4 531d005169 Fix accessing object ownership info locally before object gets fully spawned
#1066
2023-05-07 19:39:57 +02:00
Menotdan c717a102fc Add an option to toggle translating tooltip type names (not implemented yet) 2023-05-07 13:12:27 -04:00
Menotdan 4c906f4040 Use shorter, relative path for displaying Asset Tooltips. 2023-05-07 13:11:53 -04:00
mafiesto4 159fb8f5ee Fix folders delete regression issue from dbd5c71344
#1084
2023-05-07 18:22:58 +02:00
mafiesto4 0c3d1e3ec6 Fix existing nested prefabs sync applying when updating base prefab changes
#1015
2023-05-07 18:12:06 +02:00
mafiesto4 dd7dc28828 Add automated unit test for nested prefab changes sync after base prefab apply #1015 2023-05-07 18:09:54 +02:00
mafiesto4 a99f792979 Disable unit test on Linux for now 2023-05-07 13:58:28 +02:00
mafiesto4 713cf0d4b2 Improve #1077 to use a single pixel shader with permutations 2023-05-07 11:01:30 +02:00
mafiesto4 10541ac743 Merge branch 'Withaust-debugshader' 2023-05-07 10:55:32 +02:00
mafiesto4 7c6148dfd8 Merge branch 'debugshader' of https://github.com/Withaust/FlaxEngine into Withaust-debugshader 2023-05-07 10:53:54 +02:00
mafiesto4 fae6a1ebe9 Merge branch 'Withaust-layermatrix' 2023-05-07 10:53:02 +02:00
mafiesto4 bc1cb402ab Merge branch 'layermatrix' of https://github.com/Withaust/FlaxEngine into Withaust-layermatrix 2023-05-07 10:52:10 +02:00
mafiesto4 e973c3ee67 Merge branch 'Tryibion-ensure-prefab-staticflags' 2023-05-07 10:46:26 +02:00
mafiesto4 bcbbd98898 Merge branch 'ensure-prefab-staticflags' of https://github.com/Tryibion/FlaxEngine into Tryibion-ensure-prefab-staticflags 2023-05-07 10:46:20 +02:00
mafiesto4 4131e15f0e Fix deprecation warnings 2023-05-07 10:46:13 +02:00
mafiesto4 e8ec5794d2 Simplify code #1034 2023-05-06 23:02:35 +02:00
mafiesto4 a9f1163743 Merge branch 'RuanLucasGD-master' 2023-05-06 23:01:47 +02:00
mafiesto4 4be02f5832 Merge branch 'master' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-master 2023-05-06 23:01:42 +02:00
mafiesto4 efab20e335 Fix compilation regression from 5d2a3482c7 2023-05-06 23:00:50 +02:00
mafiesto4 c47907c0c3 Fix C# serialization of reference to self (eg. script sub-object referencing owning script)
#55
2023-05-06 17:36:17 +02:00
Ruan Lucas 7faa9aa23a Merge branch 'master' into master 2023-05-06 10:53:37 -04:00
Ruan Lucas 64515404e9 refactor again 2023-05-06 10:49:07 -04:00
Ruan Lucas db14c8a0a6 refactor "GetSubTags" 2023-05-06 10:46:26 -04:00
mafiesto4 10bab59acc Fix scene asset runtime contents when saving scene file in Editor 2023-05-06 14:58:10 +02:00
mafiesto4 2affebd375 Fix C# serialization of scene objects when property throws and exception
#88
2023-05-06 14:57:44 +02:00
mafiesto4 3f2f567364 Merge branch 'Withaust-customicons' 2023-05-05 16:28:28 +02:00
mafiesto4 dee445c32c Fix compilation warnings 2023-05-05 16:27:57 +02:00
mafiesto4 d65fe3bae3 Merge branch 'customicons' of https://github.com/Withaust/FlaxEngine into Withaust-customicons 2023-05-05 16:23:42 +02:00
mafiesto4 04daf10a92 Merge branch 'Tryibion-random-range-visject' 2023-05-05 16:22:51 +02:00
mafiesto4 1a3c6bfc73 Merge branch 'random-range-visject' of https://github.com/Tryibion/FlaxEngine into Tryibion-random-range-visject 2023-05-05 16:22:46 +02:00
mafiesto4 b797d3b0f0 Merge branch 'Withaust-sceneunloading' 2023-05-05 16:19:53 +02:00
mafiesto4 bcefaea416 Merge branch 'sceneunloading' of https://github.com/Withaust/FlaxEngine into Withaust-sceneunloading 2023-05-05 16:19:16 +02:00
Tryibion 12a2a69ad7 Change to TryGetBox 2023-05-05 09:18:44 -05:00
Wiktor Kocielski 68151592a4 Make Level class to unload scenes in reversed order 2023-05-05 17:11:24 +03:00
mafiesto4 5d2a3482c7 Reduce compilation problems by moving FindObject fwd decl to be more commonly included
#1040
2023-05-05 16:10:09 +02:00
mafiesto4 e93eb6aae6 Merge branch 'Tryibion-collision-creation-fix' 2023-05-05 16:05:31 +02:00
mafiesto4 b7f269f9bd Merge branch 'collision-creation-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-collision-creation-fix 2023-05-05 16:05:26 +02:00
mafiesto4 bb4c459296 Merge branch 'Tryibion-reopen-all-active-scenes' 2023-05-05 15:58:58 +02:00
mafiesto4 404340b02e Improve #1025 2023-05-05 15:58:18 +02:00
mafiesto4 50c6b23e35 Merge branch 'reopen-all-active-scenes' of https://github.com/Tryibion/FlaxEngine into Tryibion-reopen-all-active-scenes 2023-05-05 15:47:41 +02:00
Tryibion 95d798f49e Standardize to changing the folder for any proxy that can not be created in the current view. 2023-05-05 08:30:17 -05:00
Wiktor Kocielski 42a9eaf72e Make DebugDraw render lines with unlit PS 2023-05-05 16:29:12 +03:00
Tryibion 86044fcc05 Change logic for Random Rang particle nodes 2023-05-05 08:17:07 -05:00
mafiesto4 285a824858 Fix crash when removing particle emitter from system that has old parameter override
#1044
2023-05-05 15:08:53 +02:00
mafiesto4 37e8fa7b76 Fix creating localization table on blank project
#1060
2023-05-05 14:54:42 +02:00
mafiesto4 315df12fbe Favor passing Tag as value since it's just uint32 under the hood 2023-05-05 14:34:32 +02:00
mafiesto4 3a3e8e2ad5 Fix actors spawning in prefab editor 2023-05-05 14:18:32 +02:00
mafiesto4 ec2226f06e Fixes for dotnet7 after #1061 and 5e31a678bd 2023-05-05 11:58:11 +02:00
mafiesto4 22239bc2d1 Merge remote-tracking branch 'origin/master' into 1.6 2023-05-05 11:41:32 +02:00
mafiesto4 238526bdc4 Merge branch 'GoaLitiuM-managed_handle_fix' into 1.6 2023-05-05 11:40:43 +02:00
mafiesto4 b1988776ab Merge branch 'managed_handle_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-managed_handle_fix 2023-05-05 11:40:37 +02:00
mafiesto4 de1ba2de6f Merge branch 'RuanLucasGD-improv_material_proxy' 2023-05-05 11:38:39 +02:00
mafiesto4 65a68131cc Improve name construction in #1038 2023-05-05 11:38:28 +02:00
mafiesto4 c6ecf12c32 Merge branch 'improv_material_proxy' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-improv_material_proxy 2023-05-05 11:36:21 +02:00
mafiesto4 177d48acb5 Merge branch 'Tryibion-delete-bug-fix' 2023-05-05 11:26:25 +02:00
mafiesto4 695b630e79 Merge branch 'delete-bug-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-delete-bug-fix 2023-05-05 11:26:09 +02:00
mafiesto4 ea1b2ada50 Merge branch 'Withaust-staticflagtypofix' 2023-05-05 11:24:29 +02:00
mafiesto4 912d1503e5 Merge branch 'staticflagtypofix' of https://github.com/Withaust/FlaxEngine into Withaust-staticflagtypofix 2023-05-05 11:24:23 +02:00
mafiesto4 9c9bb7ca53 Merge branch 'Tryibion-vect3-add-fix' 2023-05-05 11:23:41 +02:00
mafiesto4 c665cc99b9 Merge branch 'vect3-add-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-vect3-add-fix 2023-05-05 11:22:59 +02:00
mafiesto4 bd43ca236b Merge branch 'Tryibion-unload-scenes' 2023-05-05 11:13:48 +02:00
mafiesto4 9e7fb79859 Merge branch 'unload-scenes' of https://github.com/Tryibion/FlaxEngine into Tryibion-unload-scenes 2023-05-05 11:11:33 +02:00
mafiesto4 9cd8a74bba Merge branch 'RuanLucasGD-small_fix_combobox' 2023-05-05 11:09:36 +02:00
mafiesto4 daa06cb320 Merge branch 'small_fix_combobox' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-small_fix_combobox 2023-05-05 11:09:27 +02:00
mafiesto4 bc1da787de Merge branch 'Tryibion-darker-drag-between' 2023-05-05 10:59:37 +02:00
mafiesto4 11a8bb59ce Merge branch 'darker-drag-between' of https://github.com/Tryibion/FlaxEngine into Tryibion-darker-drag-between 2023-05-05 10:58:48 +02:00
mafiesto4 a324e05e8f Merge branch 'Tryibion-col-size-edit' 2023-05-05 10:55:20 +02:00
mafiesto4 747abba4f7 Merge branch 'col-size-edit' of https://github.com/Tryibion/FlaxEngine into Tryibion-col-size-edit 2023-05-05 10:55:13 +02:00
mafiesto4 e9eb9890a0 Merge branch 'RuanLucasGD-changes_particle_window' 2023-05-05 10:52:49 +02:00
mafiesto4 deaab07793 Merge branch 'changes_particle_window' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-changes_particle_window 2023-05-05 10:52:41 +02:00
mafiesto4 5e31a678bd Improve C# Object comparison by using native pointer compare #1061 #713 #795 2023-05-05 10:49:07 +02:00
mafiesto4 f0176c3520 Merge branch 'RuanLucasGD-simplify_actor_comparations' 2023-05-05 10:16:56 +02:00
mafiesto4 142202f519 Merge branch 'simplify_actor_comparations' of https://github.com/RuanLucasGD/FlaxEngine into RuanLucasGD-simplify_actor_comparations 2023-05-05 10:16:47 +02:00
mafiesto4 634053432e Merge branch 'GoaLitiuM-weak_handle_improvements_2' into 1.6 2023-05-05 10:04:33 +02:00
mafiesto4 17fbfc969b Merge branch 'weak_handle_improvements_2' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-weak_handle_improvements_2 2023-05-05 10:04:27 +02:00
mafiesto4 e8e3d5dfa6 Merge branch 'GoaLitiuM-reuse_pooled_array_buffers' into 1.6 2023-05-05 10:02:34 +02:00
mafiesto4 f82e4b332d Merge branch 'reuse_pooled_array_buffers' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-reuse_pooled_array_buffers 2023-05-05 10:02:28 +02:00
mafiesto4 433a398b45 Fix array copy in #1065 2023-05-05 10:00:44 +02:00
mafiesto4 ca9d98f466 Merge branch 'GoaLitiuM-custom_attrib_caching' into 1.6 2023-05-05 09:58:59 +02:00
mafiesto4 e97653d3f3 Merge branch 'custom_attrib_caching' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-custom_attrib_caching 2023-05-05 09:58:48 +02:00
mafiesto4 b98d3ae572 Update splash screen quotes 2023-05-05 09:36:32 +02:00
mafiesto4 53223bb2ab Update splash screen quotes 2023-05-05 09:35:19 +02:00
mafiesto4 848ab51753 Adjust Visject CM header background 2023-05-05 09:24:47 +02:00
mafiesto4 d56f7a211f Optimize UI performance when destroying complex UI structures 2023-05-05 09:23:22 +02:00
Tryibion 98a5985ce9 Fix bug of the collection size changing while still editing or sliding the size box. 2023-05-04 11:03:39 -05:00
mafiesto4 71a5d56105 Add support for importing skeleton-only as Skinned Model (eg. from animation file to have skeleton for retargeting) 2023-05-04 15:43:44 +02:00
mafiesto4 c91bc0d8c6 Improve Root Motion extraction and playback 2023-05-04 15:10:55 +02:00
mafiesto4 57052b3b14 Fix marshallers 2023-05-04 14:18:32 +02:00
mafiesto4 a889d888ff Refactor RootMotionData into Transform to simplify code 2023-05-04 14:18:12 +02:00
mafiesto4 2b2b4f6b6f Fix exception in rare cases 2023-05-04 13:55:14 +02:00
mafiesto4 273b6c0228 Various minor improvements 2023-05-04 11:55:22 +02:00
mafiesto4 1c12e3d530 Fix bug in StringUtils::PathRemoveRelativeParts when going up to the Windows drive with relative path bits 2023-05-04 11:54:55 +02:00
mafiesto4 05ffaf7cef Add **skeleton retargeting** to play animations on different skeletons 2023-05-04 11:54:17 +02:00
Tryibion 144287ba1c Add Unload all but this scene option to scene context menu to unload all of the active scenes except for the selected one. 2023-05-03 20:38:55 -05:00
Tryibion f0da221621 Make the drag indicator between tree nodes a little brighter. 2023-05-02 21:44:00 -05:00
Ruan Lucas 518ce457df fix doc 2023-05-02 08:56:18 -04:00
GoaLitiuM 5efbfc86ad Prevent weak managed handle collections during long operations
Loading larger scenes may trigger multiple collections during the P/Invoke call,
so prevent collections from happening within a second to avoid in-flight handles
getting collected before the operation finishes.
2023-05-01 20:08:00 +03:00
GoaLitiuM 36a9ffe3aa Try to reuse previously allocated buffers in pooled ManagedArrays 2023-05-01 20:07:27 +03:00
GoaLitiuM 65b63da93a Improve custom attributes caching in managed classes 2023-05-01 20:06:51 +03:00
Ruan Lucas c900b6525d forgot to save the XD file 2023-04-30 14:30:08 -04:00
Ruan Lucas 176f95fbbc move == operator from Actor class to Object class 2023-04-30 14:25:41 -04:00
Ruan Lucas cfefe7a24c add == operator on Actors 2023-04-30 11:06:58 -04:00
Ruan Lucas 299ca398fa small change in particle window 2023-04-29 18:44:54 -04:00
Ruan Lucas bc9c9d2e72 Merge branch 'FlaxEngine:master' into master 2023-04-29 08:48:52 -04:00
mafiesto4 6d7e23f254 Fix text wrapping regression 2023-04-29 13:05:23 +02:00
mafiesto4 b89d32ce2b Fix text wrapping regression 2023-04-29 13:05:06 +02:00
mafiesto4 3136079ca3 Merge branch 'GoaLitiuM-weak_handle_improvements' into 1.6 2023-04-29 12:18:39 +02:00
mafiesto4 7f741c04ed Merge branch 'weak_handle_improvements' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-weak_handle_improvements 2023-04-29 12:18:28 +02:00
mafiesto4 5a2831d0cb Various improvements 2023-04-29 12:11:17 +02:00
mafiesto4 896f75b789 Add skeleton nodes names debug drawing in Editor preview when enabled 2023-04-29 12:10:15 +02:00
mafiesto4 ba319d8499 Add scale parameter to DebugDraw text drawing to rescale text without reducing font size 2023-04-29 12:09:36 +02:00
GoaLitiuM 320955f8b7 Use weak handles for marshalling temporary managed-to-native parameters 2023-04-29 12:41:02 +03:00
GoaLitiuM 6378f62acd Improve weak managed handle collection
Use thread-static pools for weak managed handles in order to reduce locking,
and collect the handles either right after garbage collection or when the pool
size becomes too large.
2023-04-29 12:40:58 +03:00
mafiesto4 7c0d1ab977 Fix access level of generated type marshaller if target type is protected or private 2023-04-29 11:11:30 +02:00
mafiesto4 4d1ac04e5c Add GroupElement.AddSettingsButton for editor ui 2023-04-29 11:10:48 +02:00
mafiesto4 385ef7361c Fix file size on unix systems if file is missing 2023-04-28 23:55:11 +02:00
mafiesto4 b6ceed5c6d Add packaging iOS app to ipa file 2023-04-28 23:54:50 +02:00
Tryibion 6fd636b421 Change to serialize list as array 2023-04-28 09:33:24 -05:00
Tryibion 1978cb6df9 Fix bug with not deleting all children on folder delete 2023-04-28 08:48:13 -05:00
mafiesto4 8de2e6a424 Fix build tool compilation with older dotnet tools 2023-04-26 22:36:44 +02:00
mafiesto4 915f6a719d Add automatic skeleton retargeting when playing Anim Graph on other skeletal model 2023-04-26 20:03:27 +02:00
mafiesto4 12f5157bfb Add debug drawing selected skeleton node in Skinned Model window viewport 2023-04-26 17:28:58 +02:00
mafiesto4 968e1328dc Add skeleton node or bone copy context menu in Editor 2023-04-26 16:20:30 +02:00
mafiesto4 6aaa5832a8 Fix crash when updating GPU texture residency to 0 2023-04-26 15:00:07 +02:00
mafiesto4 cf6b9b7ab5 Fix crash when updating GPU texture residency to 0 2023-04-26 14:59:36 +02:00
mafiesto4 5b50562a9f Refactor Skeleton Mapping to be handled by Skinned Model instead of Animation asset 2023-04-26 14:27:01 +02:00
Wiktor Kocielski 89d34650c0 Fix LayersMatrixEditor 2023-04-26 00:28:51 +03:00
mafiesto4 39b89ada6c Fix Anim Graph state machine rule graph opening after transition removal undo 2023-04-25 10:59:31 +02:00
mafiesto4 698a9f1938 Add **Interruption options** to State Machine transition 2023-04-25 10:47:10 +02:00
Tryibion c920b75142 Fix collision assets creation in non asset folders. 2023-04-24 17:47:19 -05:00
Tryibion 5178caeda6 Add inputs to Random Range visject float nodes 2023-04-24 17:27:43 -05:00
mafiesto4 7158cfb5bf Add **Any State to Anim Graph state machines** 2023-04-24 20:20:27 +02:00
Wiktor Kocielski 2c9541f6a0 ViewportIconsRenderer::AddActorWithTexture addition 2023-04-24 19:08:29 +03:00
Tryibion 0b3259fcc3 Increase size of add node so that vector3 fits correctly 2023-04-24 11:02:44 -05:00
Ruan Lucas 309302c212 improv: set new material instance name to parent material name 2023-04-23 13:27:32 -04:00
Wiktor Kocielski ce1b47979e Typo fixes 2023-04-23 18:26:05 +03:00
Ruan Lucas 85cfc73bbf clean code 2023-04-22 14:51:40 -04:00
mafiesto4 65e477cfd0 Add engine version defines for build scripts (eg. FLAX_1_6_OR_NEWER) 2023-04-22 19:55:29 +02:00
Ruan Lucas 107bea9c2e implement: add "GetSubTags" to "Tags" 2023-04-22 13:38:54 -04:00
Tryibion 918140bc6d Change List<Guid> to Guid[] when deserializing. 2023-04-22 12:04:57 -05:00
mafiesto4 390460907d Merge remote-tracking branch 'origin/master' into 1.6
# Conflicts:
#	Source/Editor/Scripting/CodeEditors/VisualStudioCodeEditor.cpp
#	Source/Tools/Flax.Build/Deps/Dependencies/OpenAL.cs
2023-04-22 18:59:41 +02:00
mafiesto4 73ff053470 Fix ViewportIconsRenderer usage in game C++ scripts 2023-04-22 18:43:11 +02:00
mafiesto4 9377466ec8 Allow newer clang versions on Linux 2023-04-22 18:31:25 +02:00
mafiesto4 37032810c9 Fix collision data cooking from model asset by favoring CPU data fetching 2023-04-22 18:15:49 +02:00
mafiesto4 9e222d222c Fix dead-lock in characters layout calc regression from e8aa2f922b 2023-04-22 18:00:25 +02:00
mafiesto4 55621054d8 Merge branch 'GoaLitiuM-vscode_goto_fix' 2023-04-22 17:45:38 +02:00
mafiesto4 8d057f5b8e Merge branch 'vscode_goto_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-vscode_goto_fix 2023-04-22 17:45:32 +02:00
mafiesto4 f04d723b29 Merge branch 'Withaust-nettransformfix' 2023-04-22 17:34:13 +02:00
mafiesto4 2bd66cf625 Merge branch 'nettransformfix' of https://github.com/Withaust/FlaxEngine into Withaust-nettransformfix 2023-04-22 17:34:07 +02:00
mafiesto4 c9a2a17166 Merge branch 'PrecisionRender-add-missing-math-funcs' 2023-04-22 17:31:39 +02:00
mafiesto4 c5b7d2fe8a Merge branch 'add-missing-math-funcs' of https://github.com/PrecisionRender/FlaxEngine into PrecisionRender-add-missing-math-funcs 2023-04-22 17:31:33 +02:00
mafiesto4 978b3f835a Add editor playback utilities for Audio Source and Scene Animation Player 2023-04-22 17:25:55 +02:00
GoaLitiuM 765cd7a0f0 Fix managed scripting object handles created in managed side 2023-04-22 14:21:45 +03:00
GoaLitiuM f19e0628c5 Fix Visual Studio Code jump to line argument 2023-04-22 14:21:02 +03:00
mafiesto4 2090cba743 Fix crash when using multiple audio clips streaming with XAudio2 backend 2023-04-22 13:01:05 +02:00
mafiesto4 8d0cfcf05d Fix missing initial audio source volume setup for XAudio2 2023-04-22 12:26:10 +02:00
mafiesto4 97e2e9a61d Fix content view items refresh (eg. after delete) when using search field 2023-04-22 11:51:18 +02:00
Wiktor Kocielski a1f225d2ef [C++] NetTransform copy-paste mistake fix 2023-04-21 18:57:41 +03:00
Tryibion c93b41a88d Small Cleanup 2023-04-21 10:34:40 -05:00
mafiesto4 3e8a29cdd5 Improve XAudio2 backend playback quality for spatial multi-channel sounds 2023-04-21 15:59:41 +02:00
mafiesto4 3d16f97e4c Improve audio source setup clip after all properties are read 2023-04-21 15:59:18 +02:00
mafiesto4 2afa287b67 Improve automatic slider speed for float value fields in Editor 2023-04-21 15:58:48 +02:00
mafiesto4 8457687025 Add Pan to Audio Source for stereo panning 2023-04-21 15:58:22 +02:00
Tryibion 76c6696ead Add saving and re-opening all active scenes between editor sessions. 2023-04-21 08:36:56 -05:00
PrecisionRender 5a94116c9b Add some more missing functions to C++ Math 2023-04-20 11:50:19 -05:00
mafiesto4 eb613d3e8a Add DopplerFactor to Audio Source 2023-04-20 16:01:27 +02:00
mafiesto4 c8dc8396f9 Merge branch 'Tryibion-remap-change' 2023-04-20 15:24:36 +02:00
mafiesto4 8cfc14f4b1 Add EnumAddFlags for easy flags appending 2023-04-20 15:21:47 +02:00
mafiesto4 1ffe8a7b60 Add OpenAL AL_SOFT_source_spatialize extension support for stereo spatial audio playback
Add `AllowSpatialization` option to `AudioSource`
2023-04-20 15:01:22 +02:00
mafiesto4 094a3cfe5a Refactor 3d audio for good spatial sound quality 2023-04-20 14:54:12 +02:00
mafiesto4 8c638e7947 Improve audio clip window usability in Editor 2023-04-20 11:13:20 +02:00
mafiesto4 d719ef8d03 Fix crash when reimporting audio clip while it's being played 2023-04-20 10:56:57 +02:00
mafiesto4 6ec35e5175 Add audio clip preview refresh on asset reimport in Editor 2023-04-20 10:50:29 +02:00
mafiesto4 dd9fa6e949 Fix OpenAL and XAudio2 audio backend listener/source velocity to prevent too strong Doppler effect 2023-04-19 23:24:43 +02:00
Tryibion be204fd2f5 Ensure prefab actors static flags match parent flags or keeps it's own. 2023-04-19 14:05:51 -05:00
mafiesto4 787414451e Add current playback position preview with seeking functionality to Audio Clip window in Editor 2023-04-19 15:17:01 +02:00
mafiesto4 552ce3e495 Add AudioDataInfo.Length 2023-04-19 15:15:28 +02:00
Tryibion 29f5556634 Fix obsolete map warnings. 2023-04-19 07:23:27 -05:00
mafiesto4 1e1c296300 Cleanup HRTF support code #963 2023-04-19 13:12:27 +02:00
mafiesto4 1b278f5c56 Update Mathf.Map usage to Mathf.Remap
#1008
2023-04-19 13:11:52 +02:00
mafiesto4 c2117f0254 Update OpenAL version to 1.23.1
#963
2023-04-19 13:11:04 +02:00
mafiesto4 648520a6dc Merge branch 'envision3d-feature/openal-hrtf' 2023-04-19 11:41:46 +02:00
mafiesto4 42c657cb58 Merge branch 'feature/openal-hrtf' of https://github.com/envision3d/FlaxEngine into envision3d-feature/openal-hrtf 2023-04-19 11:41:40 +02:00
mafiesto4 b6a46a5ec2 Merge branch 'PrecisionRender-cpp-move-towards' 2023-04-19 11:18:50 +02:00
mafiesto4 6fef9b09fa Merge branch 'cpp-move-towards' of https://github.com/PrecisionRender/FlaxEngine into PrecisionRender-cpp-move-towards 2023-04-19 11:18:34 +02:00
mafiesto4 941237342d Merge branch 'Withaust-mathfix' 2023-04-19 11:12:26 +02:00
mafiesto4 9501d23f35 Merge branch 'mathfix' of https://github.com/Withaust/FlaxEngine into Withaust-mathfix 2023-04-19 11:12:19 +02:00
mafiesto4 0a13e01d95 Merge branch 'Tryibion-sign-fix' 2023-04-19 11:09:23 +02:00
mafiesto4 1f2260048a Merge branch 'sign-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-sign-fix 2023-04-19 11:09:13 +02:00
mafiesto4 44d78dccbb Merge branch 'Tryibion-drag-fix' 2023-04-19 11:04:23 +02:00
mafiesto4 5eb888868f Merge branch 'drag-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-drag-fix 2023-04-19 11:04:17 +02:00
mafiesto4 38b1203bb2 Merge branch 'Tryibion-prefab-name' 2023-04-19 10:59:39 +02:00
mafiesto4 627de10e72 Merge branch 'prefab-name' of https://github.com/Tryibion/FlaxEngine into Tryibion-prefab-name 2023-04-19 10:52:25 +02:00
mafiesto4 644eb35b97 Fix building bindings-only cross-platform with dotnet7 2023-04-18 20:25:06 +02:00
mafiesto4 ca48d60627 Merge remote-tracking branch 'origin/master' into 1.6 2023-04-18 19:47:13 +02:00
mafiesto4 a500f88b4c Fix compilation with UseLargeWorlds 2023-04-18 19:44:32 +02:00
mafiesto4 808c741ed7 Add SDKs printing in Github Actions for more verbosity of the setup 2023-04-18 19:39:50 +02:00
mafiesto4 9eaef3447c Improve Flax.Build build rules caching to include .NET runtime version and engine installation check 2023-04-18 19:06:49 +02:00
mafiesto4 364676ceae Fix compile warning in 32-bit build 2023-04-18 18:19:34 +02:00
mafiesto4 e21756d685 Add logging .NET runtime version to build tool 2023-04-18 18:19:03 +02:00
mafiesto4 7df206f533 Fix deploying system .NET runtime files after system-installed .NET has been updated 2023-04-18 18:18:43 +02:00
mafiesto4 e3ceaa3f9a Update Flax deployment scripts for dotnet7 2023-04-18 18:17:47 +02:00
mafiesto4 8b2d3db3f1 Fix passing boxed reference values to managed thunk and properly unbox non-POD structures 2023-04-18 15:54:54 +02:00
mafiesto4 589941d6b2 Add non-POD structure test for method or event parameter reference passing via scripting bindings 2023-04-18 14:00:16 +02:00
mafiesto4 f046642ba7 Improve stability by fixing various crashes with dotnet7 2023-04-18 12:36:33 +02:00
Tryibion 3792aa1984 Add select actor on script drop, Fix dragging asset into scene tree between nodes. 2023-04-17 17:31:21 -05:00
mafiesto4 024dd74ae1 Fix interface marshaller codegen for dotnet7 2023-04-17 22:34:00 +02:00
Tryibion cdc8e4adb8 Take parent actor name as initial prefab name. 2023-04-17 13:34:25 -05:00
mafiesto4 8c02dfbb3f Ignore logging missing env var on Windows 2023-04-17 19:02:58 +02:00
mafiesto4 9a84f9e4ac Improve native library path on dotnet when using plugins 2023-04-17 14:06:47 +02:00
mafiesto4 9322a2006a Post merge fixes for new dotnet7 2023-04-17 14:04:08 +02:00
mafiesto4 67b373c6df Merge remote-tracking branch 'origin/master' into 1.6 2023-04-17 13:18:08 +02:00
mafiesto4 0842a95dd6 Merge branch 'Tryibion-change-profilier-play-icon' 2023-04-17 13:08:52 +02:00
mafiesto4 c3ef9f993b Merge branch 'change-profilier-play-icon' of https://github.com/Tryibion/FlaxEngine into Tryibion-change-profilier-play-icon 2023-04-17 13:08:46 +02:00
mafiesto4 378e48e7aa Fix cached DraggedOverNode to be properly reset after drag and #996 2023-04-17 13:06:56 +02:00
mafiesto4 7ad497ca3b Merge branch 'Tryibion-actor-drag-visual-change' 2023-04-17 12:59:24 +02:00
mafiesto4 0e3dedbc5b Merge branch 'actor-drag-visual-change' of https://github.com/Tryibion/FlaxEngine into Tryibion-actor-drag-visual-change 2023-04-17 12:59:08 +02:00
mafiesto4 414bce38bb DOn't even start drag and drop if content item is detached from UI 2023-04-17 12:54:01 +02:00
mafiesto4 67da36a611 Merge branch 'Tryibion-change-wrap-words' 2023-04-17 12:51:07 +02:00
mafiesto4 dc32386590 Merge branch 'change-wrap-words' of https://github.com/Tryibion/FlaxEngine into Tryibion-change-wrap-words 2023-04-17 12:51:02 +02:00
mafiesto4 e9bdc8b319 Fix crash when starting drag&drop with invalid control state (detached from window) 2023-04-17 12:36:59 +02:00
mafiesto4 4449f1ddcf Merge branch 'Withaust-master' 2023-04-17 12:34:29 +02:00
mafiesto4 6562a8769e Merge branch 'master' of https://github.com/Withaust/FlaxEngine into Withaust-master 2023-04-17 12:34:23 +02:00
mafiesto4 fcb71134c2 Merge branch 'Tryibion-content-bug-fix' 2023-04-17 12:29:16 +02:00
mafiesto4 b7dcf9576e Merge branch 'content-bug-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-content-bug-fix 2023-04-17 12:29:03 +02:00
mafiesto4 2eea7abc27 Add Create collision data action to be performed for each model selected in the Content Window 2023-04-17 12:20:02 +02:00
mafiesto4 71b5b528fd Remove shadows casting and sdf data from editor camera model 2023-04-17 11:52:19 +02:00
GoaLitiuM d5b8e44572 Cache networking code generation task results 2023-04-17 11:12:16 +02:00
mafiesto4 b85184eee0 Optimize vectors normalization 2023-04-17 11:10:14 +02:00
Wiktor Kocielski 2e1691c2f1 CSharp Math.Remap method obsoletion 2023-04-17 05:52:02 +03:00
mafiesto4 c3cc78b7c2 Cleanup code after #1001 2023-04-16 19:46:36 +02:00
mafiesto4 297b4f2a81 Merge branch 'PrecisionRender-cpp-clamp-length' 2023-04-16 19:43:03 +02:00
mafiesto4 e1ea6a0676 Merge branch 'cpp-clamp-length' of https://github.com/PrecisionRender/FlaxEngine into PrecisionRender-cpp-clamp-length 2023-04-16 19:42:55 +02:00
mafiesto4 4378b9e455 Merge branch 'Tryibion-change-cook-text' 2023-04-16 19:41:26 +02:00
mafiesto4 f843b3858a Merge branch 'change-cook-text' of https://github.com/Tryibion/FlaxEngine into Tryibion-change-cook-text 2023-04-16 19:41:20 +02:00
mafiesto4 f5c9dce34a Fix network RPC object id mapping back to server id when sent from client 2023-04-16 18:55:31 +02:00
mafiesto4 8a80a26523 Add networking replication codegen for C# array properties with object references or custom structures 2023-04-16 15:30:51 +02:00
mafiesto4 2e22abaff9 Refactor C# network replication codegen to be more extendable based on value context source 2023-04-16 14:56:54 +02:00
mafiesto4 d38badb54b Add array property replication code-gen for C# networking 2023-04-16 13:00:28 +02:00
PrecisionRender 17aca44a3b Add MoveTowards functions to C++ Math 2023-04-15 16:40:03 -05:00
Wiktor Kocielski dbd5c71344 Fix RMB deletion to take selection into account 2023-04-15 22:32:52 +03:00
PrecisionRender 49e05bc206 Add ClampLength functions to C++ Vector3 2023-04-15 12:53:19 -05:00
mafiesto4 2d51332bf7 Rename networking codegen initializer to NetworkingPlugin for C# netcode 2023-04-15 12:05:33 +02:00
mafiesto4 e4804db160 Add NetworkRpcParams for sending RPC to specific set of clients or to read sender id 2023-04-15 12:04:40 +02:00
Tryibion 4e5795ab91 Changed Cook&Run to Cook & Run. 2023-04-14 16:21:19 -05:00
Tryibion acecda482d Changes the play icon to a stop icon and vice versa when clicked for the profiler. 2023-04-14 15:29:02 -05:00
Tryibion da85771472 Small fixes 2023-04-14 15:07:06 -05:00
Tryibion e8aa2f922b Allow word wrapping to wrap on capital letters and underscores. 2023-04-14 15:00:50 -05:00
Tryibion 62a335fab0 Fix bug of re-parenting actors if children and parent actors are selected 2023-04-14 13:34:43 -05:00
Tryibion d813078e91 Made it so the visuals of dragging an actor will only show between the nodes and on the node. 2023-04-14 12:55:40 -05:00
Tryibion 685a68b7b8 Fix c# math sign functions for #993 2023-04-14 09:31:49 -05:00
Tryibion c420318267 Fix bug with path name preventing the item to be renamed when duplicated. 2023-04-14 09:18:06 -05:00
mafiesto4 a52b352bd9 Add NetworkManager::GetClient by uint32 clientId 2023-04-14 15:03:16 +02:00
mafiesto4 b4d20e128b Add Span<T> to C++ debugger natvis file 2023-04-14 15:01:40 +02:00
mafiesto4 89704bebe9 Add Span<T> support for scripting fields 2023-04-14 15:01:22 +02:00
mafiesto4 62fdfe2519 Add NetworkStream::SenderId to detect message sender during object replication or RPC code 2023-04-14 14:25:18 +02:00
mafiesto4 7a01ccb5fb Updates on iOS app packging 2023-04-13 23:01:31 +02:00
mafiesto4 2c653f8c92 Improve display names of the platform enum items 2023-04-13 21:56:08 +02:00
mafiesto4 e5f4a52be1 Finish Mono AOT for iOS with .NET 7 2023-04-13 21:55:42 +02:00
mafiesto4 924ee9085f Add logging command in build tool when explicitly specified 2023-04-13 21:03:37 +02:00
mafiesto4 4bdeb26e74 Add NetworkReplicator::EnableLog to optionally enable verbose logging of networking 2023-04-13 13:06:39 +02:00
mafiesto4 91c017713c Merge remote-tracking branch 'origin/master' into 1.6 2023-04-13 12:12:33 +02:00
mafiesto4 a379c551cb Fix memory leak when exporting png texture via stb 2023-04-13 11:21:15 +02:00
mafiesto4 8a44ea5a99 Fix TextureMipData::GetPixels to properly copy pixels of the same format
Fixes #988
2023-04-13 11:20:56 +02:00
mafiesto4 f8bfc3520b Merge branch 'Tryibion-adjustable-editor-focus-fps' 2023-04-13 11:02:12 +02:00
mafiesto4 31c35a7dd9 Merge branch 'adjustable-editor-focus-fps' of https://github.com/Tryibion/FlaxEngine into Tryibion-adjustable-editor-focus-fps 2023-04-13 11:01:01 +02:00
mafiesto4 a11ffb5ea5 Merge branch 'Tryibion-visjectCM-visual' 2023-04-13 10:59:28 +02:00
mafiesto4 01ced1cacd Fix Visject CM item search highlight placement and center CM title text
#983
2023-04-13 10:59:19 +02:00
mafiesto4 09ebd7462a Merge branch 'visjectCM-visual' of https://github.com/Tryibion/FlaxEngine into Tryibion-visjectCM-visual 2023-04-13 10:48:32 +02:00
mafiesto4 0281c6dcde Merge branch 'Tryibion-deselect-content' 2023-04-13 10:46:25 +02:00
mafiesto4 048c1f6985 Merge branch 'deselect-content' of https://github.com/Tryibion/FlaxEngine into Tryibion-deselect-content 2023-04-13 10:45:39 +02:00
mafiesto4 a9a7bc0b70 Merge branch 'Tryibion-scroll-change' 2023-04-13 10:44:33 +02:00
mafiesto4 898a5c4561 Merge branch 'scroll-change' of https://github.com/Tryibion/FlaxEngine into Tryibion-scroll-change 2023-04-13 10:38:37 +02:00
mafiesto4 b0966c9114 Add logging PixelFormat as string instead of integer value for better readability 2023-04-13 10:31:40 +02:00
mafiesto4 cffa9aa58e Add info about UWP platform support end 2023-04-13 10:07:51 +02:00
mafiesto4 0652a1c367 Add more code for iOS mono aot 2023-04-13 10:00:40 +02:00
mafiesto4 c5491eea97 Add Mono AOT for iOS to run C# 2023-04-13 08:34:49 +02:00
mafiesto4 cf397e1cc7 Fix var name typo and make improve class lib and platforms tools searching for Mono AOT 2023-04-13 08:27:49 +02:00
mafiesto4 d9855f2ed6 DIsable leftover debug aot 2023-04-12 23:16:39 +02:00
mafiesto4 047eb2eddf Add iOS to Game Cooker platforms 2023-04-12 22:29:21 +02:00
mafiesto4 8c94b56080 Add iOS to Github Actions CI 2023-04-12 22:11:36 +02:00
mafiesto4 bedb056645 Fix codestyle #989 2023-04-12 17:03:30 +02:00
mafiesto4 e6de28bb6a Merge branch 'Withaust-master' 2023-04-12 17:02:15 +02:00
mafiesto4 2e5adca99a Merge branch 'master' of https://github.com/Withaust/FlaxEngine into Withaust-master 2023-04-12 17:02:10 +02:00
mafiesto4 9e5a48af4b Fix bug when using material instance of material that uses GlobalSDF 2023-04-12 16:59:59 +02:00
mafiesto4 abf68328e6 Fix bug when using material instance of material that uses GlobalSDF 2023-04-12 16:59:03 +02:00
mafiesto4 609217a3bb Fix using Nullable<T> in C# properties
Fixes #935
2023-04-12 15:47:03 +02:00
mafiesto4 f8cf82a005 Fix comment copy/paste typo 2023-04-12 15:43:03 +02:00
mafiesto4 3c1622fbfd Merge branch 'GoaLitiuM-fix_method_invoker' into 1.6 2023-04-12 15:05:30 +02:00
mafiesto4 0bea917ef1 Merge branch 'fix_method_invoker' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-fix_method_invoker 2023-04-12 15:05:24 +02:00
mafiesto4 4de3512e12 Merge branch 'GoaLitiuM-lagless_networklagdriver' into 1.6 2023-04-12 15:04:10 +02:00
mafiesto4 b747031e2f Merge branch 'lagless_networklagdriver' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-lagless_networklagdriver 2023-04-12 15:04:05 +02:00
mafiesto4 66a140f402 Fix build 2023-04-12 14:59:15 +02:00
mafiesto4 b40384c329 Update docs 2023-04-12 14:39:07 +02:00
mafiesto4 7c39e5726d Improve csproj project files generation 2023-04-12 14:00:24 +02:00
mafiesto4 338e3bbd42 Updates for arm64 usage 2023-04-12 14:00:03 +02:00
mafiesto4 99566a0f0f Fix typo 2023-04-12 11:21:55 +02:00
mafiesto4 1a604e24a0 Disable tests code when not in test build 2023-04-12 10:41:42 +02:00
mafiesto4 9ecfe90708 Fix typo 2023-04-11 18:27:43 +02:00
mafiesto4 f9e8ad7c12 Add env var DOTNET_ROOT support for dotnet location probing 2023-04-11 18:14:28 +02:00
mafiesto4 68c6a01805 Update Switch platform support 2023-04-11 15:53:53 +02:00
Wiktor Kocielski 96609815ec Fix C++ API for Vector2/3 Normalization 2023-04-11 15:56:46 +03:00
GoaLitiuM 558a7d99ff Add LateFixedUpdate event for scripts 2023-04-09 18:26:33 +03:00
GoaLitiuM e186adc90e Support handling network events immediately in NetworkLagDriver 2023-04-09 18:25:45 +03:00
GoaLitiuM 7df5a7c646 Fix managed method invoker delegate caching 2023-04-09 18:25:14 +03:00
Tryibion 06ba894e39 Various changes to scroll bar to make it feel better 2023-04-08 23:00:43 -05:00
Tryibion 7b3152885d Remove animation time. 2023-04-08 19:01:55 -05:00
Tryibion a82856176e Small fixes 2023-04-08 08:54:06 -05:00
Tryibion 4e3d5ad11c First pass on visject CM visual changes 2023-04-07 23:17:57 -05:00
Tryibion 133e192b98 Added the function of de-selecting items in content view and removed selecting first item 2023-04-07 11:04:52 -05:00
mafiesto4 aa64da9869 Mark iOS platform as AOT-only 2023-04-06 14:19:10 +02:00
mafiesto4 92520a3c17 Add .NET 7 improvements for platforms 2023-04-06 13:07:45 +02:00
mafiesto4 0c167f38b7 Add TaskGraphSystem.RemoveDependency and automatically cleanup dependencies on system destroy 2023-04-05 22:43:05 +02:00
mafiesto4 f4e62afe8a Fix compilation with C# disabled 2023-04-05 19:39:04 +02:00
mafiesto4 a9b706becf Reset AOT Assemblies game cooker cache when Flax.Build gets modified 2023-04-05 19:17:53 +02:00
mafiesto4 09bd7c696b Add .NET 7 for PlayStation 4 2023-04-05 19:17:22 +02:00
mafiesto4 2475706df4 Merge remote-tracking branch 'origin/master' into 1.6 2023-04-04 18:08:25 +02:00
mafiesto4 8719bfe820 Merge branch 'GoaLitiuM-fix_editor_sleep' into 1.6 2023-04-04 17:57:53 +02:00
mafiesto4 cd2669230e Merge branch 'fix_editor_sleep' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-fix_editor_sleep 2023-04-04 17:57:49 +02:00
mafiesto4 d8f996ddc7 Merge branch 'Withaust-inputbindings' 2023-04-04 17:47:48 +02:00
mafiesto4 1093818381 Merge branch 'inputbindings' of https://github.com/Withaust/FlaxEngine into Withaust-inputbindings 2023-04-04 17:47:42 +02:00
mafiesto4 067ae8fc8e Merge branch 'Tryibion-copy-euler' 2023-04-04 17:42:59 +02:00
mafiesto4 f721284f70 Merge branch 'copy-euler' of https://github.com/Tryibion/FlaxEngine into Tryibion-copy-euler 2023-04-04 17:42:54 +02:00
mafiesto4 f930c9b5dc Merge branch 'Tryibion-double-color-fix' 2023-04-04 17:41:23 +02:00
mafiesto4 bb7ca521c4 Merge branch 'double-color-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-double-color-fix 2023-04-04 17:41:18 +02:00
mafiesto4 6c8b5e5e8a Improve #970 by using OptionsChanged event 2023-04-04 17:40:05 +02:00
mafiesto4 ce45c92dae Merge branch 'Tryibion-update-mainmenu-shortkeys' 2023-04-04 17:36:56 +02:00
mafiesto4 7de30bef7c Merge branch 'update-mainmenu-shortkeys' of https://github.com/Tryibion/FlaxEngine into Tryibion-update-mainmenu-shortkeys 2023-04-04 17:36:46 +02:00
mafiesto4 a8c6b2b619 Fix crash on end play when one of the actors has been manually disabled 2023-04-04 15:56:56 +02:00
mafiesto4 a236bc0b81 Merge branch 'dotnet7' into 1.6 2023-04-04 15:12:51 +02:00
GoaLitiuM 58d0ed18e6 Improve Linux dotnet runtime identifier detection 2023-04-04 15:12:29 +02:00
mafiesto4 0df9f5c797 Merge branch 'linux_rid_fix' of https://github.com/GoaLitiuM/FlaxEngine into 1.6 2023-04-04 15:09:37 +02:00
mafiesto4 0c4a608b65 Add .NET 7 support to Xbox 2023-04-04 14:46:08 +02:00
mafiesto4 e48e15f02f Fix tests compilation 2023-04-03 23:50:59 +02:00
mafiesto4 eda07ac57b Fix build tool crash when includes cache file is corrupted 2023-04-03 23:42:32 +02:00
mafiesto4 820c18968a Add C# class library optimization for normal game builds (without AOT) 2023-04-03 23:41:18 +02:00
mafiesto4 be7da82cfc Add printing output C# files size in game cooker 2023-04-03 18:26:17 +02:00
mafiesto4 bb84a51478 Add FileSystem::GetDirectorySize 2023-04-03 18:22:57 +02:00
mafiesto4 03b16875c7 Add SkipUnusedDotnetLibsPackaging to build settings for optional whole C# stdlib packaging 2023-04-03 18:03:28 +02:00
mafiesto4 84bb56d68b Minor dotnet tweaks 2023-04-03 14:12:27 +02:00
mafiesto4 d28be9cf44 Optimize out debug symbols generation for C# stdlib in Mono AOT builds 2023-04-03 13:53:03 +02:00
mafiesto4 58e5c988af Optimize Utils.InitStructure usage in generated bindings code if structure can be zero-inited 2023-04-03 13:52:15 +02:00
mafiesto4 e995736012 Optimize out System.ComponentModel.TypeConverter assembly usage to reduce cooked game builds 2023-04-03 13:51:33 +02:00
mafiesto4 493f3430bc Improve AOT cache usage when using different build configurations 2023-04-03 13:49:53 +02:00
mafiesto4 350112a0d7 Fix C# string chars getter in AOT build 2023-04-03 11:23:32 +02:00
mafiesto4 5ca6dae8c3 Fix crash in AOT build when platform has overridden AOT mode 2023-04-02 14:56:33 +02:00
mafiesto4 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
Tryibion 0d082f5773 Added ability to change the fps of the not focused editor window. 2023-04-01 17:23:00 -05:00
mafiesto4 a3517b273c Add warning check to Mono AOT process to detect not supported features usage 2023-04-01 23:35:20 +02:00
mafiesto4 e1a0e51bc7 Optimzie Newtonsoft.Json lib by removing Xml, Schema support and making it AOT-friendly for AOT game builds 2023-04-01 23:34:24 +02:00
mafiesto4 12f4dc74d2 Optimize default C# stdlib references to prevent using jit-ed features in a game assembly 2023-04-01 23:34:05 +02:00
mafiesto4 2196a3d791 Add USE_AOT define to C# when compiling with AOT-enabled 2023-04-01 21:23:49 +02:00
GoaLitiuM c505561118 Remove extra sleep when Editor is not focused
The engine is already sleeping the extra time between frames
2023-04-01 20:20:16 +03:00
mafiesto4 809a1041b3 Merge remote-tracking branch 'origin/1.6' into 1.6 2023-03-31 19:38:05 +02:00
mafiesto4 29d0281932 Missing change 2023-03-31 19:37:55 +02:00
mafiesto4 e562a7d72c Fix loading C# assemblies from Mono AOT output 2023-03-31 18:31:25 +02:00
mafiesto4 7bec45dacf Typo fixes 2023-03-31 18:29:44 +02:00
mafiesto4 5a96c0e717 Add AOT cache invalidation when AOT Mode gets changed for next iterative cook 2023-03-31 18:23:50 +02:00
mafiesto4 a7c9c6142c Remove test logs 2023-03-31 18:23:24 +02:00
mafiesto4 dfca248ebd Optimize C# IsCollectible to be used in Editor-only builds 2023-03-31 14:56:57 +02:00
mafiesto4 4cc0807384 Skip nethost dependency from automatic building (manual-only) 2023-03-31 14:42:14 +02:00
mafiesto4 7cbafcd86b Implement C# AOT process for .NET 7 for Windows platform 2023-03-31 14:41:42 +02:00
mafiesto4 20ce4642ea Add nethost usage for iOS build 2023-03-30 18:39:19 +02:00
mafiesto4 4528cce71c Fixes for macOS game building 2023-03-30 18:38:58 +02:00
mafiesto4 aeb0bf700f Fix old Platform proces api usage 2023-03-30 18:07:47 +02:00
mafiesto4 bb27f85951 Optimize MCore::Array::GetAddress usage in MUtils 2023-03-29 10:39:20 +02:00
mafiesto4 94e7531109 Fix native libs loading on Android 2023-03-29 10:32:47 +02:00
mafiesto4 fd23a61846 Fix ManagedDictionary error on null object 2023-03-29 10:32:30 +02:00
mafiesto4 de566a361a Implement Mono hosting for .NET 7 on Android 2023-03-29 10:32:09 +02:00
mafiesto4 d925c8dab8 Fixes for Android 2023-03-28 17:21:27 +02:00
mafiesto4 a25eae5d10 Move dotnet7 native interop, wrappers and marshalers into FlaxEngine.Interop namespace 2023-03-28 13:20:18 +02:00
mafiesto4 6f7b138488 Implement missing dotnet7 api 2023-03-28 13:00:42 +02:00
mafiesto4 52fb941237 Refactor Native Interop codebase with cleanup/rename 2023-03-28 12:53:06 +02:00
mafiesto4 0694f87b0d Fixes for Visual Scripting interop via C# on new dotnet7 hosting 2023-03-28 12:01:55 +02:00
mafiesto4 ed13de2d5b Fix using managed arrays with Variant in dotnet7 2023-03-27 19:41:53 +02:00
mafiesto4 8d7225c056 Remove debug code leftover from 4755c42d70 2023-03-27 17:35:56 +02:00
mafiesto4 4755c42d70 Fix .NET generic class typename to match old mono style without inlined assembly name and ver 2023-03-27 17:30:48 +02:00
mafiesto4 510fc443e8 Refactor CoreCLR runtime into explicit dotnet api instead of mocking mono api
Required by platforms that will use mono under the hood for .Net 7
New `USE_CSHARP` define for C# ability
Engine doesn't use `mono_*` apis directly but via MCore/MClass/MMethod/ apis
2023-03-27 17:29:42 +02:00
Wiktor Kocielski 27ab8ea404 Make InputBindings modifiable 2023-03-26 15:12:53 +03:00
mafiesto4 eed2cdfe04 Progress on dotnet7 runtime hosting with mono 2023-03-22 17:59:46 +01:00
mafiesto4 4c4a559125 Improve dotnet host runtime detection if pack has multiple different versions 2023-03-22 14:20:38 +01:00
mafiesto4 4c1519ba1b Fix bindings generation for in-built Char type used in Array 2023-03-22 14:19:52 +01:00
mafiesto4 2253b5713b Fix dotnet sdk detection 2023-03-22 14:19:12 +01:00
mafiesto4 7d4bf8356e Update to the latest Platform::CreateProcess 2023-03-22 14:18:52 +01:00
mafiesto4 c31e4023c4 Optimize TypeInfo.GetFullNameNative for simple types 2023-03-22 14:12:25 +01:00
mafiesto4 3bbc7faf11 Refactor platform process startup with CreateProcessSettings 2023-03-22 14:09:20 +01:00
mafiesto4 497aca829d Fix 2023-03-21 23:03:01 +01:00
mafiesto4 7e28db91c2 Fix 2023-03-21 22:59:49 +01:00
mafiesto4 c71a34a1e9 Reenable Android CI build 2023-03-21 22:57:41 +01:00
mafiesto4 30e825db75 Add dotnet7 for Android (wip) 2023-03-21 22:49:09 +01:00
mafiesto4 ad536a945e Run build twice for build tool tests to fix error on Github Action run 2023-03-20 20:30:34 +01:00
mafiesto4 5dbc5f42d2 Remove mono files 2023-03-20 19:32:24 +01:00
mafiesto4 154076a5d0 Migrate Linux build from mono to to dotnet7 2023-03-20 19:25:00 +01:00
mafiesto4 d719c534d4 Missing change 2023-03-20 18:57:34 +01:00
mafiesto4 d63c21ec41 Build Physx 5 for Linux 2023-03-20 18:56:14 +01:00
mafiesto4 1fa7397b32 Update readme instructions for Vulkan SDK on Ubuntu 2023-03-20 18:55:58 +01:00
mafiesto4 5bf645252f Fix crash due to typo in Character Controller 2023-03-20 18:55:41 +01:00
mafiesto4 9568237c8e Fix build instructions on Linux to not use snap due to broken tooling 2023-03-20 18:30:56 +01:00
mafiesto4 0232197cdc Add more iOS platform impl 2023-03-18 22:43:13 +01:00
Tryibion 773047dc69 Add Copy Euler angles to Quaternion editor. 2023-03-16 21:46:07 -05:00
Tryibion 98ebbf8b99 Fix double color change on animation state machine states 2023-03-16 21:03:36 -05:00
Tryibion 1a2eb48705 Added updating the main menu shortcut keys on editor options saved. Also adds an action that can be used to update plugin short keys if needed. 2023-03-16 20:54:56 -05:00
mafiesto4 c615ad18a8 Build deps for iOS 2023-03-16 22:13:37 +01:00
mafiesto4 0ba261d338 Add iOS platform (refactor Mac into shared Apple platform impl) 2023-03-15 20:58:23 +01:00
mafiesto4 dc29ee180e Use arm64 for deploy for macOS 2023-03-15 20:58:23 +01:00
mafiesto4 8d16fb21b9 Merge branch 'GoaLitiuM-flax_build_perf_improvements' into 1.6 2023-03-15 17:57:22 +01:00
mafiesto4 33ac9c8811 Merge branch 'flax_build_perf_improvements' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-flax_build_perf_improvements 2023-03-15 17:57:16 +01:00
mafiesto4 4f10f852c7 Merge branch 'GoaLitiuM-includescache_fix' into 1.6 2023-03-15 17:57:06 +01:00
GoaLitiuM e11587e72e Use System.Text.Json over Newtonsoft.Json in Flax.Build 2023-03-14 20:03:34 +02:00
GoaLitiuM 16131b2858 Cache networking code generation task results 2023-03-14 20:03:33 +02:00
GoaLitiuM e878f5be15 Optimize saving TaskGraph cache 2023-03-14 20:03:33 +02:00
GoaLitiuM 19d77f0d81 Use filesystem caching in TaskGraph 2023-03-14 20:03:33 +02:00
GoaLitiuM 2f9e72e03e Use caching for filesystem queries in BindingsGenerator 2023-03-14 20:03:33 +02:00
GoaLitiuM 47e2c82551 Find build files without recursion 2023-03-14 20:03:32 +02:00
GoaLitiuM 9e4fd9fadb Exclude API code injection lines from includes cache 2023-03-14 20:02:35 +02:00
mafiesto4 edd4e37111 Improve missing .NET 7 handling to launch download page and warn user properly 2023-03-14 12:42:19 +01:00
mafiesto4 01d5c6a25b Fix tests script 2023-03-14 12:41:54 +01:00
mafiesto4 31a6c052f3 Fix tests build 2023-03-14 12:33:29 +01:00
mafiesto4 74758f5380 Merge remote-tracking branch 'origin/master' into 1.6
# Conflicts:
#	Source/Tools/Flax.Build/Build/Builder.Projects.cs
#	Source/Tools/Flax.Build/Build/Plugins/NetworkingPlugin.cs
2023-03-14 11:52:41 +01:00
mafiesto4 b7a3b10498 Merge branch 'GoaLitiuM-fix_network_rpc' into 1.6 2023-03-14 11:50:26 +01:00
mafiesto4 dad41d9e0e Merge branch 'fix_network_rpc' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-fix_network_rpc 2023-03-14 11:50:09 +01:00
mafiesto4 1c27674fd5 Merge branch 'Tryibion-tangent-color-change' 2023-03-14 09:44:11 +01:00
mafiesto4 c39242ecba Merge branch 'tangent-color-change' of https://github.com/Tryibion/FlaxEngine into Tryibion-tangent-color-change 2023-03-14 09:42:54 +01:00
mafiesto4 9614110f10 Merge branch 'Tryibion-blend-with-mask-fix' 2023-03-14 09:40:37 +01:00
mafiesto4 39c3b760ac Merge branch 'blend-with-mask-fix' of https://github.com/Tryibion/FlaxEngine into Tryibion-blend-with-mask-fix 2023-03-14 09:39:42 +01:00
mafiesto4 72659a481e Merge branch 'Tryibion-better-looking-states' 2023-03-14 09:38:49 +01:00
mafiesto4 55a439645c Merge branch 'better-looking-states' of https://github.com/Tryibion/FlaxEngine into Tryibion-better-looking-states 2023-03-14 09:35:21 +01:00
mafiesto4 eece05c118 Add support for using INetworkSerializable on custom structure in C++ for networking 2023-03-14 00:02:47 +01:00
mafiesto4 7950c0d9d7 Fix codegen for C# networking when using custom structures for replication and RPCs 2023-03-14 00:02:24 +01:00
mafiesto4 7cdd35cc8d Fix network codegen for 6 or more param RPC in C# 2023-03-13 20:36:10 +01:00
mafiesto4 6f304040b0 Format code 2023-03-13 20:20:10 +01:00
mafiesto4 d2a0438b71 Fix error on control reorder while it got remove before 2023-03-13 20:06:45 +01:00
mafiesto4 dea3319b9d Merge branch 'Tryibion-output-gitignore' 2023-03-13 16:11:10 +01:00
mafiesto4 58fab97447 Merge branch 'output-gitignore' of https://github.com/Tryibion/FlaxEngine into Tryibion-output-gitignore 2023-03-13 16:11:05 +01:00
mafiesto4 a41ad511f0 Fix Visual Studio project names collision when using both C++ and C# scripting 2023-03-13 16:10:21 +01:00
mafiesto4 44b45faa9a Merge branch 'Tryibion-fix-missing-generic-json' 2023-03-13 16:04:51 +01:00
mafiesto4 e747a345d8 Merge branch 'fix-missing-generic-json' of https://github.com/Tryibion/FlaxEngine into Tryibion-fix-missing-generic-json 2023-03-13 16:04:40 +01:00
mafiesto4 dadb9207b9 Fix Json asset cooking to properly serialize whole asset data even if modified at runtime 2023-03-13 16:00:27 +01:00
mafiesto4 086c2f155d Fix error when using nested Visject Surface context during State Machines editing in Anim Graph 2023-03-13 15:39:36 +01:00
mafiesto4 cfa7cac149 Fix crash when loading scene with script which type is not a scene object 2023-03-13 14:24:16 +01:00
mafiesto4 95748744a4 Add logging missing asset type on failed load 2023-03-13 14:23:23 +01:00
mafiesto4 34629d46f3 Add **Physics Statistics and profiler** 2023-03-13 12:31:51 +01:00
mafiesto4 af54b907d7 Merge remote-tracking branch 'origin/1.6' into 1.6 2023-03-13 10:26:13 +01:00
mafiesto4 2930b0ad67 Fix crash in GPU devices init when system has no valid GPU driver installed 2023-03-13 10:25:08 +01:00
mafiesto4 e00bf92f05 Add .Net Runtime deployment for cooked game 2023-03-13 10:23:42 +01:00
mafiesto4 c1dcc52a6a Build PhysX 5 for macOS x64 and arm64 2023-03-12 12:39:02 +01:00
mafiesto4 c351e58c6e Merge commit 'c60b2cb4d7dfe4cb0d55a4431acbb48b88920d6c' into 1.6 2023-03-12 11:08:46 +01:00
mafiesto4 c60b2cb4d7 Merge commit '0112f70c05ddfb9c91dacb0829594ab2f285c248' into dotnet7 2023-03-12 11:04:17 +01:00
mafiesto4 2c70b74814 Refactor widowing on macOS to support screen scale and highDpi mode 2023-03-12 10:58:55 +01:00
mafiesto4 e83b8afdd3 Add nethost for ps4 2023-03-11 21:30:56 +01:00
Tryibion 4cf20efe2e Add Output folder to .gitignore 2023-03-07 08:51:24 -06:00
mafiesto4 b7d4758dde Update PhysX building for consoles 2023-03-06 17:39:18 +01:00
GoaLitiuM 559aef2ee3 Fix typos 2023-03-06 18:11:14 +02:00
mafiesto4 7fce25a2e4 Fix building consoles 2023-03-06 16:19:16 +01:00
mafiesto4 aaaf7c5c37 Various fixes to scripting 2023-03-06 16:17:52 +01:00
Tryibion 4265ba12d7 Fixed the Generic Json Proxy not showing up in the content cm. 2023-03-05 12:04:45 -06:00
GoaLitiuM 85c5c7f309 Fix generated network RPC execute method visibility 2023-03-05 19:32:28 +02:00
GoaLitiuM c838a800b6 Add error logging for module initializers 2023-03-05 19:32:23 +02:00
GoaLitiuM 22af41193e Fix crash when calling RPC functions 2023-03-05 18:42:56 +02:00
envision3d b450c65c93 fix incorrect audio direction calculation 2023-03-05 03:50:51 -06:00
envision3d 4ce89f56cc implement openal hrtf audio support
- upgrade openal version
        - add support to create openal context with hrtf enabled
        - add option in audio settings for hrtf enablement
        - add static property on Audio class for runtime toggling of hrtf
	- fix bug with left/right and front/back being reversed
2023-03-04 20:37:56 -06:00
Tryibion 57014851a7 Fix visuals of the Blend with Mask node 2023-03-03 16:46:22 -06:00
Tryibion e6b0cd69ae Small bug fix 2023-03-03 13:34:24 -06:00
Tryibion 70e9410da0 Changed color of tangents when editing a spline to help the user know where the tangents are. 2023-03-03 13:25:53 -06:00
Tryibion 38c027704e Better looking state machine states. 2023-03-03 12:31:13 -06:00
mafiesto4 31411e334b Fix AnimatedModel bounds calculations 2023-03-03 17:44:34 +01:00
mafiesto4 987e680908 Fix warning on Asset::WaitForLoaded` when loading failed before 2023-03-03 17:43:55 +01:00
mafiesto4 d5df227df5 Fix deprecation compile warning in NetworkConfig on Clang 2023-03-03 17:15:31 +01:00
mafiesto4 60f21d1a92 Update old copyright headers 2023-03-03 17:14:35 +01:00
mafiesto4 a26d0d03eb Upgrade to PhysX 5.1.3 2023-03-03 17:13:46 +01:00
mafiesto4 a7c5397641 Fix content window auto scrolling regression
656fcf9847
2023-03-01 22:47:52 +01:00
mafiesto4 0112f70c05 Merge remote-tracking branch 'origin/master' into dotnet7 2023-03-01 19:50:22 +01:00
mafiesto4 1647fff024 Code style fix 2023-03-01 19:48:48 +01:00
mafiesto4 9fe54dc02c Merge commit '2016297fce673c2ac48549a6d8e8a772cf29d4fe' into dotnet7 2023-02-28 20:26:02 +01:00
mafiesto4 6691aaca1e Fix crash on arm64 mac 2023-02-28 18:49:48 +01:00
mafiesto4 82a22b2a87 Add vscode detection on macOS 2023-02-28 18:49:32 +01:00
mafiesto4 2016297fce Configure dotnet env vars for Github Actions 2023-02-28 10:47:28 +01:00
mafiesto4 fa6b621368 Merge branch 'GoaLitiuM-system_array_marshalling' into dotnet7 2023-02-28 10:41:16 +01:00
mafiesto4 a17981bc87 Merge branch 'system_array_marshalling' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-system_array_marshalling 2023-02-28 10:26:56 +01:00
mafiesto4 f88dd50098 Merge commit '272ffe2ea22eecb8f7cd6662efc1cadbe5593feb' into dotnet7 2023-02-27 23:17:04 +01:00
mafiesto4 fb06fa2c8b Add optional build without PhysX 2023-02-27 23:01:10 +01:00
mafiesto4 ad4c2484f3 Add deps for arm64 mac 2023-02-27 23:00:04 +01:00
mafiesto4 3be4e50b78 Amr64 on mac impl progress 2023-02-27 22:57:42 +01:00
mafiesto4 499df770cc Match C++ managed memory alloc with C# for scripting 2023-02-27 22:56:15 +01:00
mafiesto4 6f9f40192e Update min macOS version to 10.15 "Catalina" 2023-02-22 19:57:47 +01:00
mafiesto4 64752781ed Add arm64 support for macOS 2023-02-21 18:15:22 +01:00
GoaLitiuM 87e9046e41 Fix native to managed marshalling of System.Array 2023-02-19 20:33:12 +02:00
GoaLitiuM 1c74e89f0d Revert "Add System.Array interop from native return to managed world"
This reverts commit 272ffe2ea2.
2023-02-19 20:32:50 +02:00
mafiesto4 272ffe2ea2 Add System.Array interop from native return to managed world 2023-02-19 16:58:37 +01:00
mafiesto4 d7e24f0168 Fix missing dotnet hosting components for not yet supported platforms during projects generation stage 2023-02-19 15:16:34 +01:00
mafiesto4 0cf40729fa Merge remote-tracking branch 'origin/master' into dotnet7 2023-02-19 15:04:02 +01:00
mafiesto4 c00769e2b8 Fix deprecation warning 2023-02-19 14:32:34 +01:00
mafiesto4 1096daaeb7 Dont assume path ends with directory slash in dotnet root 2023-02-19 14:30:42 +01:00
GoaLitiuM 9560bbe23e Fix build issue 2023-02-19 15:13:38 +02:00
mafiesto4 0d78a6ba67 Fix path combine error 2023-02-19 14:01:37 +01:00
mafiesto4 e07a07f13e Support 'DOTNET_ROOT' env var in build tool for custom .NET SDK location 2023-02-19 13:51:54 +01:00
mafiesto4 2c1409c2a4 Add macOS build for dotnet7 2023-02-19 13:31:57 +01:00
mafiesto4 b44c7ab32c Print missing SDKs in Flax.Build 2023-02-19 13:03:29 +01:00
mafiesto4 c18cefbb0b Add support for dotnet7 on macOS 2023-02-19 13:03:12 +01:00
GoaLitiuM 5b23a4b318 Update tracy to v0.9 2023-02-18 22:35:26 +02:00
GoaLitiuM 91247cc080 Improve Linux dotnet runtime identifier detection 2023-02-17 17:01:13 +02:00
mafiesto4 30fa911832 Merge remote-tracking branch 'origin/master' into dotnet7
# Conflicts:
#	README.md
2023-02-16 09:54:22 +01:00
mafiesto4 c4b7f50609 Merge branch 'GoaLitiuM-fix_csharp_module_linking' into dotnet7 2023-02-16 09:46:04 +01:00
GoaLitiuM 7ccc0b83ff Fix linking against C#-only modules 2023-02-13 20:11:00 +02:00
mafiesto4 45a0b25ee4 Fix after merge 2023-02-13 10:52:11 +01:00
mafiesto4 ac59cc4633 Merge remote-tracking branch 'origin/master' into dotnet7 2023-02-13 10:05:51 +01:00
mafiesto4 cdc5106ef9 Merge branch 'GoaLitiuM-linux_dotnet7_sdk_fix' into dotnet7 2023-02-13 10:05:31 +01:00
mafiesto4 dff13626c4 Merge branch 'linux_dotnet7_sdk_fix' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-linux_dotnet7_sdk_fix 2023-02-13 10:05:24 +01:00
mafiesto4 436d55932d Merge branch 'GoaLitiuM-threadsafe_managedarraypool' into dotnet7 2023-02-13 10:04:08 +01:00
mafiesto4 2a6fb3ba81 Merge branch 'threadsafe_managedarraypool' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-threadsafe_managedarraypool 2023-02-13 10:04:03 +01:00
mafiesto4 ea9dd48da9 Expose ManagedArray to be used in game code bindings 2023-02-06 10:44:10 +01:00
mafiesto4 547f4d1180 Fix missing getter/setter methods attributes 2023-02-06 10:43:08 +01:00
mafiesto4 1ff49e1faf Add engine version defines to C++ game scripts 2023-02-06 10:25:07 +01:00
mafiesto4 64f7c6bf64 Add FLAX_X_Y_OR_NEWER to game code defines 2023-02-06 10:24:37 +01:00
mafiesto4 0270772463 Merge remote-tracking branch 'origin/master' into dotnet7 2023-02-06 10:02:13 +01:00
Tryibion f3b2011fef Small fix 2023-02-04 08:25:07 -06:00
Tryibion dbee9f6816 Small fix 2023-02-03 12:11:18 -06:00
Tryibion 2d98a46d94 Clean up code 2023-02-03 11:27:11 -06:00
Tryibion baf6048377 Added Play, pause, and stop functions to particle effect for more manual control if needed. 2023-02-03 11:22:41 -06:00
GoaLitiuM 02c6354003 Store pooled ManagedArray in thread-local storage 2023-01-29 18:09:37 +02:00
GoaLitiuM 641e746ee1 Fix dotnet SDK detection on Linux
The dotnet-sdk package on Arch Linux seems to different RID prefix in SDK location.
2023-01-28 20:40:34 +02:00
mafiesto4 9f7df23788 Fix file copy 2023-01-27 22:39:08 +01:00
mafiesto4 c42ae97bb2 Restore native test run 2023-01-27 22:35:57 +01:00
mafiesto4 e6e34a7baf Tests fixing attempt 2023-01-27 20:55:41 +01:00
mafiesto4 1a4113009a Tests fixing attempt 2023-01-27 20:22:52 +01:00
mafiesto4 bc85c1b421 Tests fixing attempt 2023-01-27 20:20:48 +01:00
mafiesto4 f6aea86aeb Attempt to fix build 2023-01-27 19:43:21 +01:00
mafiesto4 86c5f3675b Use dotnet test for C# unit tests execution 2023-01-27 17:46:41 +01:00
mafiesto4 4f71976958 CoreCRL fixes and tweaks 2023-01-27 14:24:53 +01:00
mafiesto4 2fd251e7b1 Fix running tests on Linux with dotne7 2023-01-27 14:24:30 +01:00
mafiesto4 08ae1917e8 Fix proper readlink usage on Linux to get app path 2023-01-25 20:33:23 +01:00
mafiesto4 e779c3ca17 Merge commit '997baa3b774ac4dea739e15a55070519b0863afc' into dotnet7 2023-01-25 20:13:34 +01:00
mafiesto4 173f4e8092 Fix building scripts on Linux from Editor 2023-01-25 20:11:11 +01:00
mafiesto4 de7edf9e78 Fix ccatching C# exceptions in Visual Studio Code when debugging native code 2023-01-25 20:10:40 +01:00
mafiesto4 6b6f1eeb9b Fix exception in build tool when running in workspace without project file 2023-01-25 19:54:45 +01:00
mafiesto4 0847ccc360 Fix loading xml docs for assembly 2023-01-25 19:52:06 +01:00
mafiesto4 f5a37ec3b4 Final fix for full P/Invoke compatibility on Linux 2023-01-24 18:49:33 +01:00
mafiesto4 acb1cef19d Use plain-C style exported function for P/Invoke bindings on Clang 2023-01-24 18:32:23 +01:00
mafiesto4 20c32ea6ed Impl progress on c++ name mangling on Clang for proper P/Invokes binding 2023-01-24 17:31:09 +01:00
mafiesto4 35ea0b5447 Add more explicit error message on LibraryImport unit test error 2023-01-24 16:55:28 +01:00
mafiesto4 e818d37dd6 Add separated bindings method impl for scripting evnts binding on Clang 2023-01-24 16:55:06 +01:00
mafiesto4 048a4ac1e3 Use separated internal managed binding method declaration and implementation on Clang to properly export symbol for P/Invoke 2023-01-24 14:00:39 +01:00
mafiesto4 f665642e71 Fix build 2023-01-24 12:32:41 +01:00
mafiesto4 6fb604a9a0 Update comment 2023-01-24 10:13:08 +01:00
mafiesto4 02e3697817 Fix using proper engine native module for importing symbols 2023-01-24 10:13:08 +01:00
mafiesto4 1c72798229 Update readme instructions for Linux 2023-01-24 10:13:08 +01:00
mafiesto4 761d3735a7 Minor adjust followup #894 2023-01-24 09:41:18 +01:00
mafiesto4 71c2770df0 Merge branch 'GoaLitiuM-dotnet7_vscode_debugging' into dotnet7 2023-01-24 09:32:31 +01:00
mafiesto4 c6be71c4ff Merge branch 'dotnet7_vscode_debugging' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet7_vscode_debugging 2023-01-24 09:32:25 +01:00
mafiesto4 754ccaa9b4 Merge branch 'GoaLitiuM-dotnet7' into dotnet7 2023-01-24 09:30:56 +01:00
mafiesto4 798b950046 Merge branch 'dotnet7' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet7 2023-01-24 09:30:38 +01:00
mafiesto4 c9c35eb74e Merge remote-tracking branch 'origin/1.5' into dotnet7 2023-01-24 09:25:45 +01:00
mafiesto4 f1f5dacb6f Add unit test to verify LibraryImport attributes usage for proper bindings 2023-01-24 09:25:39 +01:00
mafiesto4 405ae519dd Refactor generated bindings P/Invoke to support name mangling for symbols 2023-01-23 18:41:12 +01:00
mafiesto4 f3366178ea Refactor manually written managed bindings to use C-style exported P/Invoke 2023-01-23 18:14:38 +01:00
mafiesto4 38fcfee9a4 Merge branch '1.5' into dotnet7 2023-01-23 14:47:12 +01:00
mafiesto4 25811ed6d4 Optimize bindings code generation via String Builder pooling 2023-01-23 13:22:43 +01:00
GoaLitiuM 3ca0ea2e50 Fix unfreed managed string handles 2023-01-22 17:29:34 +02:00
GoaLitiuM a917567e92 Fix passing weak managed string handles in marshallers 2023-01-22 17:29:30 +02:00
mafiesto4 a633aa69c3 Remove mono debugger from VS Code extensions list 2023-01-17 15:35:15 +01:00
mafiesto4 32440d6993 Add support for using system-installed Vulkan SDK on Linux 2023-01-17 15:34:45 +01:00
mafiesto4 7b20bc38a4 Merge branch '1.5' into dotnet7
# Conflicts:
#	Content/Shaders/GI/DDGI.flax
#	Content/Shaders/GI/GlobalSurfaceAtlas.flax
#	Content/Shaders/TAA.flax
#	Content/Shaders/VolumetricFog.flax
#	Source/Tools/Flax.Build/Projects/VisualStudio/VCProjectGenerator.cs
2023-01-17 11:52:52 +01:00
GoaLitiuM be720257ca Fix crash when marshalling generated managed interfaces
Marshaller returns a permanent handle, avoid releasing it during marshalling
2023-01-16 20:12:42 +02:00
GoaLitiuM 5e9d153c6a Generate C# debugger launch profiles for VSCode 2023-01-14 19:17:54 +02:00
GoaLitiuM bf9dbbc79e Restore disabled compiler warnings of unused events 2023-01-14 18:01:14 +02:00
GoaLitiuM 1a1fadcc2f Fix incorrect marshalling of TextureImportEntry fields 2023-01-14 17:50:25 +02:00
GoaLitiuM 5fa10fd17b Allow unsubscribing from managed events multiple times 2023-01-14 17:45:21 +02:00
mafiesto4 abdc257332 Merge branch 'GoaLitiuM-dotnet7' into dotnet7 2023-01-12 15:15:47 +01:00
mafiesto4 59ba9102a6 Merge branch 'dotnet7' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet7 2023-01-12 15:15:40 +01:00
mafiesto4 daa92db25c Add support for using managed method thunks on dotnet7 in all cases 2023-01-12 15:14:43 +01:00
mafiesto4 3df10d1d0a Add configuration-specific C# libs references to generates csproj file 2023-01-11 16:25:47 +01:00
mafiesto4 824ce1cacf Run native tests on Windows CI 2023-01-11 16:25:29 +01:00
mafiesto4 4a8f336118 Change build script for tests 2023-01-11 15:08:03 +01:00
mafiesto4 6ec6f9501b Change build script for tests 2023-01-11 15:05:49 +01:00
mafiesto4 b1ecb2f0eb Fix xcopy path on Windows in Flax.Build 2023-01-11 14:27:37 +01:00
mafiesto4 474ce10e7e Update test projects to properly build and run under dotnet7 2023-01-11 14:27:17 +01:00
mafiesto4 3c40c22049 Tweaks to tests 2023-01-11 11:06:10 +01:00
mafiesto4 9281db73a7 Update nunit to properly run teests with dotnet7 2023-01-11 11:05:31 +01:00
mafiesto4 45a557f9c0 Minor tweaks 2023-01-10 16:50:52 +01:00
mafiesto4 7698e79143 Fix dotnet7 method runtime invoke to match return value boxing 2023-01-10 16:47:02 +01:00
mafiesto4 1c584e937a Fix mono_class_get_interfaces on dotnet7 to match mono behavior 2023-01-10 16:39:48 +01:00
mafiesto4 6ef5c76e1a Fix regression from recent scripting fixes/features on 1.5 2023-01-10 16:13:53 +01:00
mafiesto4 eebc4951de Merge branch '1.5' into dotnet7
# Conflicts:
#	Source/Platforms/DotNet/NUnit/agents/net40/nunit-agent.exe
#	Source/Platforms/DotNet/NUnit/agents/net40/nunit.engine.api.dll
#	Source/Platforms/DotNet/NUnit/agents/net40/nunit.engine.core.dll
#	Source/Platforms/DotNet/NUnit/agents/net7.0/nunit.agent.addins
#	Source/Platforms/DotNet/NUnit/nunit.engine.api.dll
#	Source/Platforms/DotNet/NUnit/nunit.engine.core.dll
#	Source/Platforms/DotNet/NUnit/nunit.engine.dll
#	Source/Platforms/DotNet/NUnit/nunit3-console.exe
#	Source/Platforms/DotNet/NUnit/nunit3-console.exe.config
#	Source/Platforms/DotNet/NUnit/testcentric.engine.metadata.dll
#	Source/Tools/Flax.Build/Deps/Downloader.cs
#	Source/Tools/Flax.Stats/CodeFrame.cs
#	Source/Tools/Flax.Stats/CodeFrameNode.cs
#	Source/Tools/Flax.Stats/Flax.Stats.Build.cs
#	Source/Tools/Flax.Stats/Languages.cs
#	Source/Tools/Flax.Stats/Program.cs
#	Source/Tools/Flax.Stats/TaskType.cs
#	Source/Tools/Flax.Stats/Tools.cs
#	Source/Tools/FlaxEngine.Tests/TestEditorUtils.cs
2023-01-10 15:49:44 +01:00
GoaLitiuM 7048281931 Hide AbstractWrappers in Editor 2023-01-09 15:20:24 +02:00
GoaLitiuM 9f76e9e230 Hide types in unloaded scripting assemblies 2023-01-09 15:20:24 +02:00
mafiesto4 4e4f4e700b Updates for dev with dotnet on linux 2023-01-08 20:27:28 +01:00
mafiesto4 bf60955e5e Fix C# tests running with dotnet 2023-01-08 19:17:41 +01:00
mafiesto4 c53af39c92 Merge remote-tracking branch 'origin/1.5' into dotnet7 2023-01-08 15:05:56 +01:00
mafiesto4 d034874fb7 Add dotnet setup to other github actions 2023-01-08 15:05:36 +01:00
mafiesto4 5ec9716eac Progress for dotnet7 support on Linux 2023-01-08 15:05:36 +01:00
mafiesto4 8896ebadda Minor fixes for dotnet7 2023-01-06 11:31:08 +01:00
mafiesto4 a6050e6f27 Add managed memory allocations profiling with dotnet7 2023-01-06 09:18:11 +01:00
mafiesto4 1e046c0033 Optimize GPU Resource name to prevent memory allocs when changing name frequently 2023-01-06 08:56:03 +01:00
mafiesto4 34cc546f00 Minor tweaks 2023-01-05 11:32:25 +01:00
mafiesto4 b21aeedae2 Fix build 2023-01-05 09:38:46 +01:00
mafiesto4 0872002dae Attempt to restore Linux build with dotnet7 2023-01-04 19:01:21 +01:00
mafiesto4 c4e4e38c4f Update readme 2023-01-04 19:00:24 +01:00
mafiesto4 63d3c9b1e0 Fix build on Linux 2023-01-04 19:00:06 +01:00
mafiesto4 ccd919d4d6 Fix default value in viewport options 2023-01-04 14:29:00 +01:00
mafiesto4 88bd5b2534 Fix threading issues with GPU buffers mapping 2023-01-04 12:06:56 +01:00
mafiesto4 0b8d4850f0 Use manual pdb file loading for debug symbols in C# 2023-01-04 09:56:58 +01:00
mafiesto4 26f8e5aa9e Use embedded debug information for C# dll to have proper stack trace information on game scripts exceptions 2023-01-03 18:38:44 +01:00
mafiesto4 06b2bf0094 Add logging native exception stack trace on Windows when debugger is attached before going back to the crash location 2023-01-03 15:58:02 +01:00
mafiesto4 e596d48729 Merge remote-tracking branch 'origin/1.5' into dotnet7 2023-01-03 14:34:20 +01:00
mafiesto4 ceacdc8d08 Fixes for dotnet7 bindings to pass unit tests 2023-01-03 14:34:16 +01:00
mafiesto4 6a2c5169a9 Merge branch 'GoaLitiuM-dotnet7' into dotnet7 2023-01-02 11:21:17 +01:00
mafiesto4 dea307179f Merge branch 'dotnet7' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet7
# Conflicts:
#	Source/Engine/Engine/NativeInterop.cs
2023-01-02 11:04:36 +01:00
mafiesto4 0ab6e29792 Merge branch 'envision3d-dotnet7' into dotnet7 2023-01-02 10:59:46 +01:00
mafiesto4 e718766073 Merge branch 'dotnet7' of https://github.com/envision3d/FlaxEngine into envision3d-dotnet7 2023-01-02 10:59:39 +01:00
mafiesto4 d3cdca6b33 Merge remote-tracking branch 'origin/1.5' into dotnet7 2023-01-02 10:37:04 +01:00
mafiesto4 e48b642101 Minor code cleanup 2023-01-02 10:36:57 +01:00
mafiesto4 9acb597d5d Adjust scripting types visibility in editor 2023-01-02 10:36:24 +01:00
mafiesto4 00d960d61e Refactor abstract classes handling for scripting types creation (eg. Script or GPUResource) under dotnet7 2023-01-02 10:35:39 +01:00
GoaLitiuM 5b4e209816 Fix creating delegates to scripting methods after script reload 2023-01-01 22:06:00 +02:00
GoaLitiuM 21c67b4777 Fix weak ManagedHandles collection 2022-12-31 15:34:16 +02:00
GoaLitiuM 2f507091b2 Fix ManagedHandle marshalling 2022-12-31 15:30:58 +02:00
GoaLitiuM 8b80f73641 Implement ManagedHandle replacement for GCHandles
Allows for more controlled management of weak handles, increasing their lifetime for slightly longer than with GCHandles.
2022-12-30 22:14:48 +02:00
mafiesto4 6a8483a898 Fix converting managed array back to native if passed via structure argument 2022-12-30 16:05:33 +01:00
mafiesto4 71e2cbe856 Minor tweaks to dotnet interop 2022-12-30 15:36:35 +01:00
mafiesto4 af7b53814d Merge remote-tracking branch 'origin/1.5' into dotnet7
# Conflicts:
#	Content/Shaders/GI/DDGI.flax
#	Content/Shaders/TAA.flax
2022-12-30 09:24:10 +01:00
mafiesto4 147cadee16 Merge branch 'GoaLitiuM-dotnet7' into dotnet7 2022-12-30 09:19:24 +01:00
GoaLitiuM 77478f9515 Fix managed and native array field marshalling 2022-12-30 01:34:52 +02:00
GoaLitiuM 64809f553b Skip cached rules assembly after changing project references 2022-12-30 01:34:52 +02:00
envision3d 78a2f2e8f0 Remove UWP platform from deployer script to fix platform packaging 2022-12-29 16:40:10 -06:00
mafiesto4 28da925c52 Fix DisableRuntimeMarshalling attribute usage to be declared once per C# assembly 2022-12-29 14:11:22 +01:00
mafiesto4 9083f511b5 Cache managed serializers for networking replication to prevent from being collected by GC 2022-12-29 14:01:01 +01:00
mafiesto4 c2bb717a69 Exclude StreamingStats from default value generation 2022-12-29 13:56:52 +01:00
mafiesto4 2408aa48c1 Fixes for networking change in 762f460e23 2022-12-29 13:56:25 +01:00
mafiesto4 45286468c9 Remove old Mono files when cooking game to the same output folder with dotnet7 2022-12-29 11:21:03 +01:00
mafiesto4 6f8c007a66 Fix assertion on thread double-free from registry (not harmful) 2022-12-29 11:20:39 +01:00
mafiesto4 c48a81a068 Merge branch '1.5' into dotnet7
# Conflicts:
#	Source/Editor/Managed/ManagedEditor.Internal.cpp
#	Source/Engine/Core/Config/LayersAndTagsSettings.cs
2022-12-28 18:49:14 +01:00
mafiesto4 aa0208072c Merge branch 'GoaLitiuM-dotnet7' into dotnet7 2022-12-28 09:07:26 +01:00
GoaLitiuM d3e02e23e5 Cleanup 2022-12-27 19:40:50 +02:00
GoaLitiuM f12475ea99 Prefer NativeMemory.AlignedAlloc over Marshal.Alloc* 2022-12-27 19:08:56 +02:00
GoaLitiuM d966519d95 Remove Mono files from cooked builds 2022-12-27 19:03:19 +02:00
GoaLitiuM 3f14d4bf64 Fix deserialization errors preventing context menus to open
Not a proper fix but Mono runtime seems to silently ignore this error when clipboard contains garbage data.
2022-12-27 19:03:18 +02:00
GoaLitiuM dfc69c9c8e Fix array return type marshalling 2022-12-27 19:02:40 +02:00
GoaLitiuM 53de6d018b Return container types as return parameters 2022-12-27 19:02:40 +02:00
mafiesto4 3e8e839cd1 Refactor Editor Windows layout serialization of splitter values to prevent invalid state when loading windows 2022-12-27 13:54:53 +01:00
mafiesto4 c53bf2b7e3 Fix crash when catching exception in managed code but native code ignores it in dotnet7 2022-12-27 13:50:38 +01:00
mafiesto4 219ad40088 Fix exception when using null version object for marshalling into native data 2022-12-27 13:50:11 +01:00
mafiesto4 d9042b3db2 Fix building various plugin projects with new dotnet7 2022-12-27 13:49:47 +01:00
mafiesto4 c59586a934 Ignore local VS launch options file 2022-12-24 15:36:02 +01:00
mafiesto4 7440cb0963 Rename generated method parameters in bindings to prevent name collisions 2022-12-24 15:35:46 +01:00
mafiesto4 d8805dc801 Tweaks 2022-12-24 15:24:51 +01:00
mafiesto4 45b0bb24c4 Merge branch 'GoaLitiuM-dotnet7' into dotnet7 2022-12-24 12:32:20 +01:00
GoaLitiuM 759a9bd365 Fix native library resolver not working after hot-reload 2022-12-24 03:13:40 +02:00
GoaLitiuM 48214f925b Fix wrong import name in generated plugin bindings 2022-12-24 01:13:56 +02:00
GoaLitiuM 2c0e9faa32 Remove throwing exceptions from invoked methods with debugger
The same effect can be achieved by enabling all CLR exceptions in VS debugger settings, and it also supports continuation after catching exceptions.
2022-12-23 22:36:19 +02:00
GoaLitiuM 80c3056daf Fix errors when compiling plugins 2022-12-23 22:33:22 +02:00
mafiesto4 61bd491969 Fix selection outline when nothing is selected 2022-12-23 11:37:11 +01:00
mafiesto4 fd64a33d3e Merge branch 'GoaLitiuM-dotnet7' into dotnet7 2022-12-23 09:39:00 +01:00
GoaLitiuM 2e502ce82a Cache managed type MonoTypeEnum values 2022-12-22 20:17:06 +02:00
GoaLitiuM 3c79be2910 Cleanup 2022-12-22 20:16:02 +02:00
GoaLitiuM e03a819176 Replace usage of Utils.ExtractArrayFromList with Span 2022-12-22 19:54:59 +02:00
GoaLitiuM 6a41ab0b6d Fix unnecessary allocations when creating managed arrays 2022-12-22 19:54:58 +02:00
GoaLitiuM 22b4e25c02 Improve array allocations when marshalling method parameters 2022-12-22 19:54:58 +02:00
GoaLitiuM e71e6835de Optimize allocations in return values from invoked managed methods 2022-12-22 18:13:23 +02:00
GoaLitiuM b449353d2f Fix incorrect field reference for reference types 2022-12-22 18:13:23 +02:00
mafiesto4 94c5211ee6 Rename gchandle to MGCHandle 2022-12-22 13:02:00 +01:00
mafiesto4 75130fcca3 Fix using Function in scripting api to pass function pointer to native code when running in dotnet7 2022-12-22 11:50:29 +01:00
mafiesto4 3f172442be Add DotNetSdk to simplify using it 2022-12-21 14:13:00 +01:00
mafiesto4 b049688d31 Merge branch 'GoaLitiuM-dotnet7' into dotnet7 2022-12-21 12:32:35 +01:00
mafiesto4 04799c89dc Merge branch 'dotnet7' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet7 2022-12-21 12:28:55 +01:00
mafiesto4 ac99dc0ac4 Add Platform.BuildTargetArchitecture 2022-12-21 11:33:25 +01:00
mafiesto4 8dc5c4e00b Restore assembly config for Flax.Build 2022-12-21 11:07:58 +01:00
mafiesto4 edac611444 Fix generated plugin projects that use both C++ and C# scripting 2022-12-21 11:04:41 +01:00
mafiesto4 37a8380521 Cleanup code 2022-12-21 11:04:28 +01:00
mafiesto4 60a1de42a2 Update shaders 2022-12-21 11:04:21 +01:00
mafiesto4 b2beeb653b Remove unused using statement 2022-12-21 11:04:13 +01:00
mafiesto4 6ff5dcfa50 Improve build rules assembly cache to include build tool changes 2022-12-21 10:45:24 +01:00
mafiesto4 9a5c105db9 Merge branch '1.5' into dotnet7 2022-12-21 10:35:58 +01:00
mafiesto4 aea28ce499 Optimize Flax.Build to not use Nuget 2022-12-21 10:23:50 +01:00
GoaLitiuM c8cc899128 Optimize allocations in method parameter marshalling and invocation 2022-12-21 00:40:38 +02:00
GoaLitiuM 55747edaae Cleanup 2022-12-21 00:40:38 +02:00
GoaLitiuM 15af6502a0 Log error whenever build tool fails to run 2022-12-21 00:40:38 +02:00
GoaLitiuM 8c4771a738 Fix SEH exceptions not handled properly when debugger is attached 2022-12-21 00:40:37 +02:00
mafiesto4 2fee75517d Updates for vs2022 2022-12-20 18:23:20 +01:00
mafiesto4 580f4120dc Update nunit for Unit Tests running with .net7 2022-12-20 18:21:45 +01:00
mafiesto4 f874a0ad57 Update csprojects to the latest NetCore7 2022-12-19 17:39:39 +01:00
mafiesto4 a56090e70f Update deprecated WebClient into HttpClient in Flax.Build files download utility 2022-12-19 11:17:09 +01:00
mafiesto4 f0d0e0637c Merge branch 'GoaLitiuM-dotnet7' into dotnet7 2022-12-19 10:10:54 +01:00
mafiesto4 eae38fa0c6 Merge branch 'dotnet7' of https://github.com/GoaLitiuM/FlaxEngine into GoaLitiuM-dotnet7 2022-12-19 10:10:34 +01:00
mafiesto4 93f0b0e2e8 Fix type usage 2022-12-19 10:10:26 +01:00
mafiesto4 979f8bcfee Remove Flax.Stats project 2022-12-19 10:10:12 +01:00
GoaLitiuM b9f11298e8 Avoid pre-allocating custom attributes for managed types 2022-12-17 15:39:04 +02:00
GoaLitiuM 84f8e3a4b4 Fix crash when releasing scripting assembly 2022-12-17 15:39:00 +02:00
GoaLitiuM 551c58db4f Fix incorrect array marshalling in few Editor methods 2022-12-17 15:38:55 +02:00
GoaLitiuM ff438a6219 Set default culture to InvariantCulture
Fixes issues such as wrong decimal separator in floating point strings when used with parameterless .ToString()
2022-12-17 15:38:52 +02:00
mafiesto4 84a68c5977 Update Newtonsoft.Json to 13.0.2 and .Net 7 2022-12-17 13:38:30 +01:00
mafiesto4 889eb7d846 Revert "Implement JSON difference serialization"
This reverts commit 6bfb0205fd.
2022-12-17 13:06:16 +01:00
mafiesto4 6eaecc8793 Fix VisualStudioInstance.GetInstances() to be sorted from newest to oldest 2022-12-17 12:58:58 +01:00
Tryibion fd4b9a5a9f Return focus to parent on mouse leave. 2022-12-16 16:29:43 -06:00
mafiesto4 df6bf1e04d Disable UWP platform from build 2022-12-16 15:19:03 +01:00
mafiesto4 ff1ccdb7ee Improvements for Flax.Build setup 2022-12-16 15:18:45 +01:00
mafiesto4 d7fc221a6b Merge branch 'GoaLitiuM-dotnet7' into dotnet7 2022-12-16 13:12:27 +01:00
GoaLitiuM fcd1366d26 Fix memory leaks caused by unreleased GCHandles 2022-12-02 00:06:32 +02:00
GoaLitiuM 8cd90280c1 Fix InputBinding serialization 2022-12-01 23:52:56 +02:00
GoaLitiuM 4e4fb91a6f Prevent optimizing C#-projects in Development builds for better debugging 2022-11-29 21:18:42 +02:00
GoaLitiuM 55e287c890 Disable self-contained Flax.Build binaries and other build script fixes 2022-11-29 19:38:12 +02:00
GoaLitiuM cc7655d804 Fix managed array element marshalling with strings 2022-11-29 18:40:11 +02:00
GoaLitiuM 676d87129c Fix array count output parameter handling when returning arrays 2022-11-28 00:07:02 +02:00
GoaLitiuM 4a1c1ebe3a Fix ScriptingObject handles getting released during marshalling 2022-11-27 23:53:30 +02:00
GoaLitiuM bf190810dd Fix building VC++-projects 2022-11-27 15:49:39 +02:00
GoaLitiuM 2227642c13 Fix JsonAsset instantiation after script reload 2022-11-27 14:47:02 +02:00
GoaLitiuM 76ee695a59 Cleanup and minor fixes 2022-11-27 14:45:55 +02:00
GoaLitiuM 0d68e90b59 Fix array count output parameter handling when returning arrays 2022-11-27 14:42:11 +02:00
GoaLitiuM 3b80a01813 Fix build errors on Linux 2022-11-26 23:20:13 +02:00
GoaLitiuM 89ac54520a Add Linux support for nethost module, build tool and build scripts 2022-11-26 23:19:46 +02:00
GoaLitiuM dc08f49bbe Temporarily disabling other build workflows 2022-11-26 18:17:24 +02:00
GoaLitiuM 9fb0b00e75 Setup GitHub actions with .NET 7 2022-11-26 17:18:10 +02:00
GoaLitiuM 96dc279ebd Implement .NET 7 runtime support and bindings generation 2022-11-26 14:37:07 +02:00
GoaLitiuM fe943ca010 Temporary fix to build errors in VC++ projects 2022-11-26 13:55:19 +02:00
GoaLitiuM 3396e10613 Implement FlaxVersionConverter for JSON serialization 2022-11-26 13:55:19 +02:00
GoaLitiuM 6bfb0205fd Implement JSON difference serialization 2022-11-26 13:55:18 +02:00
GoaLitiuM c4be764f61 Add nethost module and EngineConfiguration for .NET runtime 2022-11-26 13:50:32 +02:00
GoaLitiuM cb09fb570d Change build scripts to call build tool with dotnet 2022-11-26 13:50:32 +02:00
GoaLitiuM 7e80a4fe0f Use Roslyn C#-compiler for build rules compilation 2022-11-26 13:50:31 +02:00
GoaLitiuM 44d1527759 Fix CopyFiles not working on Linux 2022-11-26 13:50:31 +02:00
GoaLitiuM 5e6fcc9669 Prepare Flax.Build project for .NET 7
Add .NET SDK project generator and upgrade Flax.Build project files
2022-11-26 13:50:31 +02:00
4512 changed files with 273524 additions and 268019 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
* text=auto eol=lf
# Explicitly declare text files you want to always be normalized and converted to native line endings on checkout.
*.c text diff=cpp
+17 -2
View File
@@ -1,21 +1,36 @@
name: Build Android
on: [push, pull_request]
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: false
jobs:
# Game
game-windows:
name: Game (Android, Release ARM64)
runs-on: "windows-2019"
runs-on: "windows-2022"
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Setup .NET Workload
run: |
dotnet workload install android
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -arch=ARM64 -platform=Android -configuration=Release -buildtargets=FlaxGame
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -printSDKs -dotnet=7 -arch=ARM64 -platform=Android -configuration=Release -buildtargets=FlaxGame
+36
View File
@@ -0,0 +1,36 @@
name: Build iOS
on: [push, pull_request]
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: false
jobs:
# Game
game-windows:
name: Game (iOS, Release ARM64)
runs-on: "macos-latest"
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Setup .NET Workload
run: |
dotnet workload install ios
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
./Development/Scripts/Mac/CallBuildTool.sh -build -log -dotnet=7 -arch=ARM64 -platform=iOS -configuration=Release -buildtargets=FlaxGame
+22 -2
View File
@@ -1,6 +1,10 @@
name: Build Linux
on: [push, pull_request]
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: false
jobs:
# Editor
@@ -18,13 +22,21 @@ jobs:
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
./Development/Scripts/Linux/CallBuildTool.sh -build -log -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxEditor
./Development/Scripts/Linux/CallBuildTool.sh -build -log -printSDKs -dotnet=7 -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxEditor
# Game
game-linux:
@@ -38,10 +50,18 @@ jobs:
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
./Development/Scripts/Linux/CallBuildTool.sh -build -log -arch=x64 -platform=Linux -configuration=Release -buildtargets=FlaxGame
./Development/Scripts/Linux/CallBuildTool.sh -build -log -printSDKs -dotnet=7 -arch=x64 -platform=Linux -configuration=Release -buildtargets=FlaxGame
+22 -2
View File
@@ -1,6 +1,10 @@
name: Build macOS
on: [push, pull_request]
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: false
jobs:
# Editor
@@ -12,13 +16,21 @@ jobs:
uses: actions/checkout@v3
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
./Development/Scripts/Mac/CallBuildTool.sh -build -log -arch=x64 -platform=Mac -configuration=Development -buildtargets=FlaxEditor
./Development/Scripts/Mac/CallBuildTool.sh -build -log -printSDKs -dotnet=7 -arch=x64 -platform=Mac -configuration=Development -buildtargets=FlaxEditor
# Game
game-mac:
@@ -29,10 +41,18 @@ jobs:
uses: actions/checkout@v3
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
./Development/Scripts/Mac/CallBuildTool.sh -build -log -arch=x64 -platform=Mac -configuration=Release -buildtargets=FlaxGame
./Development/Scripts/Mac/CallBuildTool.sh -build -log -printSDKs -dotnet=7 -arch=x64 -platform=Mac -configuration=Release -buildtargets=FlaxGame
+24 -4
View File
@@ -1,38 +1,58 @@
name: Build Windows
on: [push, pull_request]
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: false
jobs:
# Editor
editor-windows:
name: Editor (Windows, Development x64)
runs-on: "windows-2019"
runs-on: "windows-2022"
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxEditor
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -printSDKs -dotnet=7 -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxEditor
# Game
game-windows:
name: Game (Windows, Release x64)
runs-on: "windows-2019"
runs-on: "windows-2022"
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -arch=x64 -platform=Windows -configuration=Release -buildtargets=FlaxGame
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -printSDKs -dotnet=7 -arch=x64 -platform=Windows -configuration=Release -buildtargets=FlaxGame
+54 -2
View File
@@ -4,12 +4,16 @@ on:
- cron: '15 4 * * *'
workflow_dispatch:
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: false
jobs:
# Windows
package-windows-editor:
name: Editor (Windows)
runs-on: "windows-2019"
runs-on: "windows-2022"
steps:
- name: Checkout repo
uses: actions/checkout@v3
@@ -19,6 +23,14 @@ jobs:
git lfs pull
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Build
run: |
.\PackageEditor.bat -arch=x64 -platform=Windows -deployOutput=Output
@@ -34,7 +46,7 @@ jobs:
path: Output/EditorDebugSymbols.zip
package-windows-game:
name: Game (Windows)
runs-on: "windows-2019"
runs-on: "windows-2022"
steps:
- name: Checkout repo
uses: actions/checkout@v3
@@ -44,6 +56,14 @@ jobs:
git lfs pull
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Build
run: |
.\PackagePlatforms.bat -arch=x64 -platform=Windows -deployOutput=Output
@@ -72,6 +92,14 @@ jobs:
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Build
run: |
./PackageEditor.sh -arch=x64 -platform=Linux -deployOutput=Output
@@ -98,6 +126,14 @@ jobs:
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Build
run: |
./PackagePlatforms.sh -arch=x64 -platform=Linux -deployOutput=Output
@@ -120,6 +156,14 @@ jobs:
git lfs pull
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Build
run: |
./PackageEditor.command -arch=x64 -platform=Mac -deployOutput=Output
@@ -140,6 +184,14 @@ jobs:
git lfs pull
- name: Setup Vulkan
uses: ./.github/actions/vulkan
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Build
run: |
./PackagePlatforms.command -arch=x64 -platform=Mac -deployOutput=Output
+42 -19
View File
@@ -1,6 +1,10 @@
name: Tests
on: [push, pull_request]
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: false
jobs:
# Tests on Linux
@@ -10,6 +14,14 @@ jobs:
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Checkout LFS
run: |
git lfs version
@@ -22,41 +34,52 @@ jobs:
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev build-essential gettext libtool libtool-bin libpulse-dev libasound2-dev libjack-dev portaudio19-dev
- name: Build
run: |
./GenerateProjectFiles.sh -vs2019
./Development/Scripts/Linux/CallBuildTool.sh -build -log -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxTestsTarget
./Development/Scripts/Linux/CallBuildTool.sh -build -log -arch=x64 -platform=Linux -configuration=Debug -buildtargets=FlaxEditor -BuildBindingsOnly
./Development/Scripts/Linux/CallBuildTool.sh -build -log -arch=x64 -platform=Linux -configuration=Debug -buildtargets="FlaxEngine.Tests"
./Development/Scripts/Linux/CallBuildTool.sh -build -log -arch=x64 -platform=Linux -configuration=Debug -buildtargets="Flax.Build.Tests"
./GenerateProjectFiles.sh -vs2022 -log -verbose -printSDKs -dotnet=7
./Development/Scripts/Linux/CallBuildTool.sh -build -log -dotnet=7 -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxTestsTarget
dotnet msbuild Source/Tools/Flax.Build.Tests/Flax.Build.Tests.csproj /m /t:Restore,Build /p:Configuration=Debug /p:Platform=AnyCPU /nologo
dotnet msbuild Source/Tools/Flax.Build.Tests/Flax.Build.Tests.csproj /m /t:Restore,Build /p:Configuration=Debug /p:Platform=AnyCPU /nologo
- name: Test
run: |
Binaries/Editor/Linux/Development/FlaxTests
mono Source/Platforms/DotNet/NUnit/nunit3-console.exe Binaries/Tools/FlaxEngine.Tests.dll --framework=mono-4.0
mono Source/Platforms/DotNet/NUnit/nunit3-console.exe Binaries/Tools/Flax.Build.Tests.dll --framework=mono-4.0
${GITHUB_WORKSPACE}/Binaries/Editor/Linux/Development/FlaxTests
dotnet test -f net7.0 Binaries/Tests/Flax.Build.Tests.dll
cp Binaries/Editor/Linux/Development/FlaxEngine.CSharp.dll Binaries/Tests
cp Binaries/Editor/Linux/Development/FlaxEngine.CSharp.runtimeconfig.json Binaries/Tests
cp Binaries/Editor/Linux/Development/Newtonsoft.Json.dll Binaries/Tests
dotnet test -f net7.0 Binaries/Tests/FlaxEngine.CSharp.dll
- name: Test UseLargeWorlds
run: |
./Development/Scripts/Linux/CallBuildTool.sh -build -log -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxTestsTarget -UseLargeWorlds=true
Binaries/Editor/Linux/Development/FlaxTests
./Development/Scripts/Linux/CallBuildTool.sh -build -log -dotnet=7 -arch=x64 -platform=Linux -configuration=Development -buildtargets=FlaxTestsTarget -UseLargeWorlds=true
${GITHUB_WORKSPACE}/Binaries/Editor/Linux/Development/FlaxTests
# Tests on Windows
tests-windows:
name: Tests (Windows)
runs-on: "windows-2019"
runs-on: "windows-2022"
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
- name: Print .NET info
run: |
dotnet --info
dotnet workload --info
- name: Checkout LFS
run: |
git lfs version
git lfs pull
- name: Build
run: |
.\GenerateProjectFiles.bat -vs2019
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxTestsTarget
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -arch=x64 -platform=Windows -configuration=Debug -buildtargets=FlaxEditor -BuildBindingsOnly
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -arch=x64 -platform=Windows -configuration=Debug -buildtargets="FlaxEngine.Tests"
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -arch=x64 -platform=Windows -configuration=Debug -buildtargets="Flax.Build.Tests"
.\GenerateProjectFiles.bat -vs2022 -log -verbose -printSDKs -dotnet=7
.\Development\Scripts\Windows\CallBuildTool.bat -build -log -dotnet=7 -arch=x64 -platform=Windows -configuration=Development -buildtargets=FlaxTestsTarget
dotnet msbuild Source\Tools\Flax.Build.Tests\Flax.Build.Tests.csproj /m /t:Restore,Build /p:Configuration=Debug /p:Platform=AnyCPU /nologo
- name: Test
run: |
Binaries\Editor\Win64\Development\FlaxTests.exe
Source\Platforms\DotNet\NUnit\nunit3-console.exe Binaries\Tools\FlaxEngine.Tests.dll --framework=net-4.5.2
Source\Platforms\DotNet\NUnit\nunit3-console.exe Binaries\Tools\Flax.Build.Tests.dll --framework=net-4.5.2
.\Binaries\Editor\Win64\Development\FlaxTests.exe
dotnet test -f net7.0 Binaries\Tests\Flax.Build.Tests.dll
xcopy /y Binaries\Editor\Win64\Development\FlaxEngine.CSharp.dll Binaries\Tests
xcopy /y Binaries\Editor\Win64\Development\FlaxEngine.CSharp.runtimeconfig.json Binaries\Tests
xcopy /y Binaries\Editor\Win64\Development\Newtonsoft.Json.dll Binaries\Tests
dotnet test -f net7.0 Binaries\Tests\FlaxEngine.CSharp.dll
+4
View File
@@ -5,11 +5,14 @@
obj/
Cache/
Binaries/
Output/
Logs/
Source/*.Gen.*
Source/*.csproj
/Package_*/
!Source/Engine/Debug
/Source/Platforms/Editor/Linux/Mono/etc/mono/registry
PackageEditor_Cert.command
PackageEditor_Cert.bat
PackagePlatforms_Cert.bat
@@ -23,6 +26,7 @@ PackagePlatforms_Cert.bat
*.opendb
*.DS_Store
*.xcodeproj
launchSettings.json
# NUNIT
*.VisualState.xml
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
@0// Deferred Shading: Defines
@1// Deferred Shading: Includes
@@ -1,4 +1,4 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
@0// Distortion: Defines
@1// Distortion: Includes
@@ -1,4 +1,4 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
@0// Forward Shading: Defines
#define MAX_LOCAL_LIGHTS 4
@@ -1,4 +1,4 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
@0// Global Illumination: Defines
#define USE_GI 1
@@ -1,4 +1,4 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
@0// Lightmap: Defines
#define CAN_USE_LIGHTMAP 1
@@ -1,4 +1,4 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
@0// Motion Vectors: Defines
@1// Motion Vectors: Includes
@@ -1,4 +1,4 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
@0// Tessellation: Defines
#define TessalationProjectOntoPlane(planeNormal, planePosition, pointToProject) pointToProject - dot(pointToProject - planePosition, planeNormal) * planeNormal
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+25 -26
View File
@@ -2,35 +2,34 @@
using System.Collections.Generic;
using FlaxEngine;
namespace %namespace%
namespace %namespace%;
/// <summary>
/// %class% Script.
/// </summary>
public class %class% : Script
{
/// <summary>
/// %class% Script.
/// </summary>
public class %class% : Script
/// <inheritdoc/>
public override void OnStart()
{
/// <inheritdoc/>
public override void OnStart()
{
// Here you can add code that needs to be called when script is created, just before the first game update
}
/// <inheritdoc/>
public override void OnEnable()
{
// Here you can add code that needs to be called when script is enabled (eg. register for events)
}
// Here you can add code that needs to be called when script is created, just before the first game update
}
/// <inheritdoc/>
public override void OnEnable()
{
// Here you can add code that needs to be called when script is enabled (eg. register for events)
}
/// <inheritdoc/>
public override void OnDisable()
{
// Here you can add code that needs to be called when script is disabled (eg. unregister from events)
}
/// <inheritdoc/>
public override void OnDisable()
{
// Here you can add code that needs to be called when script is disabled (eg. unregister from events)
}
/// <inheritdoc/>
public override void OnUpdate()
{
// Here you can add code that needs to be called every frame
}
/// <inheritdoc/>
public override void OnUpdate()
{
// Here you can add code that needs to be called every frame
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2 -3
View File
@@ -10,8 +10,7 @@ if [ $testfilesize -le 1000 ]; then
fi
# Compile the build tool.
xbuild /nologo /verbosity:quiet "Source/Tools/Flax.Build/Flax.Build.csproj" /property:Configuration=Release /property:Platform=AnyCPU /target:Build
dotnet msbuild /nologo /verbosity:quiet "Source/Tools/Flax.Build/Flax.Build.csproj" /property:Configuration=Release /target:Restore,Build /property:RestorePackagesConfig=True /p:RuntimeIdentifiers=linux-x64
# Run the build tool using the provided arguments.
#mono --debug --debugger-agent=transport=dt_socket,server=y,address=127.0.0.1:55555 Binaries/Tools/Flax.Build.exe "$@"
mono Binaries/Tools/Flax.Build.exe "$@"
Binaries/Tools/Flax.Build "$@"
+2 -3
View File
@@ -10,8 +10,7 @@ if [ $testfilesize -le 1000 ]; then
fi
# Compile the build tool.
xbuild /nologo /verbosity:quiet "Source/Tools/Flax.Build/Flax.Build.csproj" /property:Configuration=Release /property:Platform=AnyCPU /target:Build
dotnet msbuild /nologo /verbosity:quiet "Source/Tools/Flax.Build/Flax.Build.csproj" /property:Configuration=Release /target:Restore,Build /property:RestorePackagesConfig=True /p:RuntimeIdentifiers=osx-x64
# Run the build tool using the provided arguments.
#mono --debug --debugger-agent=transport=dt_socket,server=y,address=127.0.0.1:55555 Binaries/Tools/Flax.Build.exe "$@"
mono Binaries/Tools/Flax.Build.exe "$@"
Binaries/Tools/Flax.Build "$@"
+2 -2
View File
@@ -2,7 +2,7 @@
# Copyright (c) 2012-2023 Wojciech Figat. All rights reserved
# Fix mono bin to be in a path
export PATH=/Library/Frameworks/Mono.framework/Versions/Current/Commands:$PATH
#export PATH=/Library/Frameworks/Mono.framework/Versions/Current/Commands:$PATH
echo "Running Flax.Build $*"
mono Binaries/Tools/Flax.Build.exe "$@"
Binaries/Tools/Flax.Build "$@"
+3 -13
View File
@@ -11,16 +11,6 @@ for %%I in (Source\Logo.png) do if %%~zI LSS 2000 (
call "Development\Scripts\Windows\GetMSBuildPath.bat"
if errorlevel 1 goto Error_NoVisualStudioEnvironment
if not exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" goto Compile
for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
for %%j in (15.0, Current) do (
if exist "%%i\MSBuild\%%j\Bin\MSBuild.exe" (
set MSBUILD_PATH="%%i\MSBuild\%%j\Bin\MSBuild.exe"
goto Compile
)
)
)
:Compile
md Cache\Intermediate >nul 2>nul
dir /s /b Source\Tools\Flax.Build\*.cs >Cache\Intermediate\Flax.Build.Files.txt
@@ -28,9 +18,9 @@ fc /b Cache\Intermediate\Build\Flax.Build.Files.txt Cache\Intermediate\Build\Fla
if not errorlevel 1 goto SkipClean
copy /y Cache\Intermediate\Build\Flax.Build.Files.txt Cache\Intermediate\Build\Flax.Build.PrevFiles.txt >nul
%MSBUILD_PATH% /nologo /verbosity:quiet Source\Tools\Flax.Build\Flax.Build.csproj /property:Configuration=Release /property:Platform=AnyCPU /target:Clean
%MSBUILD_PATH% /nologo /verbosity:quiet Source\Tools\Flax.Build\Flax.Build.csproj /property:Configuration=Release /target:Restore,Clean /property:RestorePackagesConfig=True /p:RuntimeIdentifiers=win-x64
:SkipClean
%MSBUILD_PATH% /nologo /verbosity:quiet Source\Tools\Flax.Build\Flax.Build.csproj /property:Configuration=Release /property:Platform=AnyCPU /target:Build
%MSBUILD_PATH% /nologo /verbosity:quiet Source\Tools\Flax.Build\Flax.Build.csproj /property:Configuration=Release /target:Build /property:SelfContained=False /property:RuntimeIdentifiers=win-x64
if errorlevel 1 goto Error_CompilationFailed
Binaries\Tools\Flax.Build.exe %*
@@ -44,7 +34,7 @@ goto Exit
echo CallBuildTool ERROR: The script is in invalid directory.
goto Exit
:Error_NoVisualStudioEnvironment
echo CallBuildTool ERROR: Missing Visual Studio 2015 or newer.
echo CallBuildTool ERROR: Missing Visual Studio 2022 or newer.
goto Exit
:Error_CompilationFailed
echo CallBuildTool ERROR: Failed to compile Flax.Build project.
+13 -53
View File
@@ -4,66 +4,26 @@ rem Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
set MSBUILD_PATH=
rem Look for MSBuild version 17.0 or later
if not exist "%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" goto VsWhereNotFound
for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
if exist "%%i\MSBuild\15.0\Bin\MSBuild.exe" (
set MSBUILD_PATH="%%i\MSBuild\15.0\Bin\MSBuild.exe"
goto End
)
)
for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -latest -prerelease -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
if exist "%%i\MSBuild\15.0\Bin\MSBuild.exe" (
set MSBUILD_PATH="%%i\MSBuild\15.0\Bin\MSBuild.exe"
goto End
)
for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -version 17.0 -latest -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
if exist "%%i\MSBuild\Current\Bin\MSBuild.exe" (
set MSBUILD_PATH="%%i\MSBuild\Current\Bin\MSBuild.exe"
goto End
)
)
:VsWhereNotFound
if exist "%ProgramFiles(x86)%\MSBuild\14.0\bin\MSBuild.exe" (
set MSBUILD_PATH="%ProgramFiles(x86)%\MSBuild\14.0\bin\MSBuild.exe"
goto End
rem Look for MSBuild version 17.0 or later in pre-release versions
for /f "delims=" %%i in ('"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere" -version 17.0 -latest -prerelease -products * -requires Microsoft.Component.MSBuild -property installationPath') do (
if exist "%%i\MSBuild\Current\Bin\MSBuild.exe" (
set MSBUILD_PATH="%%i\MSBuild\Current\Bin\MSBuild.exe"
goto End
)
)
call :GetInstallPath Microsoft\VisualStudio\SxS\VS7 15.0 MSBuild\15.0\bin\MSBuild.exe
if not errorlevel 1 goto End
call :GetInstallPath Microsoft\MSBuild\ToolsVersions\14.0 MSBuildToolsPath MSBuild.exe
if not errorlevel 1 goto End
call :GetInstallPath Microsoft\MSBuild\ToolsVersions\12.0 MSBuildToolsPath MSBuild.exe
if not errorlevel 1 goto End
call :GetInstallPath Microsoft\MSBuild\ToolsVersions\4.0 MSBuildToolsPath MSBuild.exe
if not errorlevel 1 goto End
echo GetMSBuildPath ERROR: Could not find MSBuild version 17.0 or later.
exit /B 1
:VsWhereNotFound
echo GetMSBuildPath ERROR: vswhere.exe was not found.
exit /B 1
:End
exit /B 0
:GetInstallPath
for /f "tokens=2,*" %%A in ('REG.exe query HKCU\SOFTWARE\%1 /v %2 2^>Nul') do (
if exist "%%B%%3" (
set MSBUILD_PATH="%%B%3"
exit /B 0
)
)
for /f "tokens=2,*" %%A in ('REG.exe query HKLM\SOFTWARE\%1 /v %2 2^>Nul') do (
if exist "%%B%3" (
set MSBUILD_PATH="%%B%3"
exit /B 0
)
)
for /f "tokens=2,*" %%A in ('REG.exe query HKCU\SOFTWARE\Wow6432Node\%1 /v %2 2^>Nul') do (
if exist "%%B%%3" (
set MSBUILD_PATH="%%B%3"
exit /B 0
)
)
for /f "tokens=2,*" %%A in ('REG.exe query HKLM\SOFTWARE\Wow6432Node\%1 /v %2 2^>Nul') do (
if exist "%%B%3" (
set MSBUILD_PATH="%%B%3"
exit /B 0
)
)
exit /B 1
exit /B 0
+5 -3
View File
@@ -2,8 +2,9 @@
"Name": "Flax",
"Version": {
"Major": 1,
"Minor": 5,
"Build": 6339
"Minor": 7,
"Revision": 1,
"Build": 6406
},
"Company": "Flax",
"Copyright": "Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.",
@@ -11,6 +12,7 @@
"EditorTarget": "FlaxEditor",
"Configuration": {
"UseCSharp": true,
"UseLargeWorlds": false
"UseLargeWorlds": false,
"UseDotNet": true
}
}
+12
View File
@@ -248,6 +248,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=bitangent/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=bitangents/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Bokeh/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=borderless/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=BRDF/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=coeff/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=colliders/@EntryIndexedValue">True</s:Boolean>
@@ -255,6 +256,8 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=comperand/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=coord/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=cubemap/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Deformer/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=deformers/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=defragmentation/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Delaunay/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Defocus/@EntryIndexedValue">True</s:Boolean>
@@ -278,6 +281,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=heightfield/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Heightmap/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=HLSL/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=HRTF/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Inlines/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Inscattering/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Interpolants/@EntryIndexedValue">True</s:Boolean>
@@ -289,6 +293,8 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=lightmaps/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Linearize/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=lods/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Marshallable/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=marshallers/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=mclass/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=memcpy/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=metalness/@EntryIndexedValue">True</s:Boolean>
@@ -305,6 +311,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=occluder/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=offseted/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=offsetted/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=opcode/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Perlin/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=phong/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=preload/@EntryIndexedValue">True</s:Boolean>
@@ -316,10 +323,14 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=raycast/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=raycasting/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=raycasts/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=reachability/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=readback/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Reimports/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=reimported/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=renderable/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=retarget/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=retargeting/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=retargets/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=reverb/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=rigidbodies/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=rigidbody/@EntryIndexedValue">True</s:Boolean>
@@ -334,6 +345,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=Skybox/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Skyboxes/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=slerp/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Spatialization/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=splatmap/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=splatmaps/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=SRGB/@EntryIndexedValue">True</s:Boolean>
+11 -4
View File
@@ -1,15 +1,22 @@
@echo off
rem Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
:: Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
setlocal
pushd
echo Generating Flax Engine project files...
rem Run Flax.Build to generate Visual Studio solution and project files (also pass the arguments)
call "Development\Scripts\Windows\CallBuildTool.bat" -genproject %*
:: Change the path to the script root
cd /D "%~dp0"
:: Run Flax.Build to generate Visual Studio solution and project files (also pass the arguments)
call "Development\Scripts\Windows\CallBuildTool.bat" -genproject %*
if errorlevel 1 goto BuildToolFailed
:: Build bindings for all editor configurations
echo Building C# bindings...
Binaries\Tools\Flax.Build.exe -build -BuildBindingsOnly -arch=x64 -platform=Windows --buildTargets=FlaxEditor
popd
echo Done!
exit /B 0
+5
View File
@@ -10,3 +10,8 @@ cd "`dirname "$0"`"
# Run Flax.Build to generate project files (also pass the arguments)
bash ./Development/Scripts/Mac/CallBuildTool.sh --genproject "$@"
# Build bindings for all editor configurations
echo Building C# bindings...
# TODO: Detect the correct architecture here
Binaries/Tools/Flax.Build -build -BuildBindingsOnly -arch=ARM64 -platform=Mac --buildTargets=FlaxEditor
+5
View File
@@ -10,3 +10,8 @@ cd "`dirname "$0"`"
# Run Flax.Build to generate project files (also pass the arguments)
bash ./Development/Scripts/Linux/CallBuildTool.sh --genproject "$@"
# Build bindings for all editor configurations
echo Building C# bindings...
# TODO: Detect the correct architecture here
Binaries/Tools/Flax.Build -build -BuildBindingsOnly -arch=x64 -platform=Linux --buildTargets=FlaxEditor
+1 -1
View File
@@ -7,7 +7,7 @@ pushd
echo Performing the full package...
rem Run the build tool.
call "Development\Scripts\Windows\CallBuildTool.bat" -deploy -deployEditor -deployPlatforms -verbose -log -logFile="Cache\Intermediate\PackageLog.txt" %*
call "Development\Scripts\Windows\CallBuildTool.bat" -deploy -deployEditor -deployPlatforms -dotnet=7 -verbose -log -logFile="Cache\Intermediate\PackageLog.txt" %*
if errorlevel 1 goto BuildToolFailed
popd
+1 -1
View File
@@ -7,7 +7,7 @@ pushd
echo Building and packaging Flax Editor...
rem Run the build tool.
call "Development\Scripts\Windows\CallBuildTool.bat" -deploy -deployEditor -verbose -log -logFile="Cache\Intermediate\PackageLog.txt" %*
call "Development\Scripts\Windows\CallBuildTool.bat" -deploy -deployEditor -dotnet=7 -verbose -log -logFile="Cache\Intermediate\PackageLog.txt" %*
if errorlevel 1 goto BuildToolFailed
popd
+1 -1
View File
@@ -9,4 +9,4 @@ echo Building and packaging Flax Editor...
cd "`dirname "$0"`"
# Run Flax.Build (also pass the arguments)
bash ./Development/Scripts/Mac/CallBuildTool.sh --deploy --deployEditor --verbose --log --logFile="Cache/Intermediate/PackageLog.txt" "$@"
bash ./Development/Scripts/Mac/CallBuildTool.sh --deploy --deployEditor --dotnet=7 --verbose --log --logFile="Cache/Intermediate/PackageLog.txt" "$@"
+1 -1
View File
@@ -9,4 +9,4 @@ echo Building and packaging Flax Editor...
cd "`dirname "$0"`"
# Run Flax.Build (also pass the arguments)
bash ./Development/Scripts/Linux/CallBuildTool.sh --deploy --deployEditor --verbose --log --logFile="Cache/Intermediate/PackageLog.txt" "$@"
bash ./Development/Scripts/Linux/CallBuildTool.sh --deploy --deployEditor --dotnet=7 --verbose --log --logFile="Cache/Intermediate/PackageLog.txt" "$@"
+1 -1
View File
@@ -7,7 +7,7 @@ pushd
echo Building and packaging platforms data...
rem Run the build tool.
call "Development\Scripts\Windows\CallBuildTool.bat" -deploy -deployPlatforms -verbose -log -logFile="Cache\Intermediate\PackageLog.txt" %*
call "Development\Scripts\Windows\CallBuildTool.bat" -deploy -deployPlatforms -dotnet=7 -verbose -log -logFile="Cache\Intermediate\PackageLog.txt" %*
if errorlevel 1 goto BuildToolFailed
popd
+1 -1
View File
@@ -9,4 +9,4 @@ echo Building and packaging platforms data...
cd "`dirname "$0"`"
# Run Flax.Build (also pass the arguments)
bash ./Development/Scripts/Mac/CallBuildTool.sh --deploy --deployPlatforms --verbose --log --logFile="Cache/Intermediate/PackageLog.txt" "$@"
bash ./Development/Scripts/Mac/CallBuildTool.sh --deploy --deployPlatforms --dotnet=7 --verbose --log --logFile="Cache/Intermediate/PackageLog.txt" "$@"
+1 -1
View File
@@ -9,4 +9,4 @@ echo Building and packaging platforms data...
cd "`dirname "$0"`"
# Run Flax.Build (also pass the arguments)
bash ./Development/Scripts/Linux/CallBuildTool.sh --deploy --deployPlatforms --verbose --log --logFile="Cache/Intermediate/PackageLog.txt" "$@"
bash ./Development/Scripts/Linux/CallBuildTool.sh --deploy --deployPlatforms --dotnet=7 --verbose --log --logFile="Cache/Intermediate/PackageLog.txt" "$@"
+27 -17
View File
@@ -4,7 +4,7 @@
<a href="https://flaxengine.com/discord"><img src="https://discordapp.com/api/guilds/437989205315158016/widget.png"/></a>
Flax Engine is a high quality modern 3D game engine written in C++ and C#.
From stunning graphics to powerful scripts - Flax can give everything for your games. Designed for fast workflow with many ready to use features waiting for you right now. To learn more see the website ([www.flaxengine.com](https://flaxengine.com)).
From stunning graphics to powerful scripts, it's designed for fast workflow with many ready-to-use features waiting for you right now. To learn more see the website ([www.flaxengine.com](https://flaxengine.com)).
This repository contains full source code of the Flax Engine (excluding NDA-protected platforms support). Anyone is welcome to contribute or use the modified source in Flax-based games.
@@ -26,34 +26,28 @@ This repository contains full source code of the Flax Engine (excluding NDA-prot
Follow the instructions below to compile and run the engine from source.
## Flax plugin for Visual Studio
Flax Visual Studio extension provides better programming workflow, C# scripts debugging functionality and allows to attach to running engine instance to debug C# source. This extension is available to download [here](https://marketplace.visualstudio.com/items?itemName=Flax.FlaxVS).
## Windows
* Install Visual Studio 2015 or newer
* Install Visual Studio 2022 or newer
* Install Windows 8.1 SDK or newer (via Visual Studio Installer)
* Install Microsoft Visual C++ 2015 v140 toolset or newer (via Visual Studio Installer)
* Install .Net Framework 4.5.2 SDK/Targeting Pack (via Visual Studio Installer)
* Install .NET 7 SDK for **Windows x64** (via Visual Studio Installer or [from web](https://dotnet.microsoft.com/en-us/download/dotnet/7.0))
* Install Git with LFS
* Clone repo (with LFS)
* Run **GenerateProjectFiles.bat**
* Open `Flax.sln` and set solution configuration to **Editor.Development** and solution platform to **Win64**
* Set Flax (C++) or FlaxEngine (C#) as startup project
* Compile Flax project (hit F7 or CTRL+Shift+B)
* Optionally set Debug Type to **Managed Only (.NET Core)** to debug C#-only, or **Mixed (.NET Core)** to debug both C++ and C#
* Run Flax (hit F5 key)
> When building on Windows to support Vulkan rendering, first install the Vulkan SDK then set an environment variable to provide the path to the SDK prior to running GenerateProjectFiles.bat: `set VULKAN_SDK=%sdk_path%`
## Linux
* Install Visual Studio Code
* Install Mono
* Ubuntu: see the instructions here: ([https://www.mono-project.com/download/stable](https://www.mono-project.com/download/stable))
* Arch: `sudo pacman -S mono`
* Install Vulkan SDK
* Ubuntu: see the instructions here: ([https://vulkan.lunarg.com/](https://vulkan.lunarg.com/))
* Install .NET 7 SDK ([https://dotnet.microsoft.com/en-us/download/dotnet/7.0](https://dotnet.microsoft.com/en-us/download/dotnet/7.0))
* Ubuntu: `sudo apt install dotnet-sdk-7.0`
* Install Vulkan SDK ([https://vulkan.lunarg.com/](https://vulkan.lunarg.com/))
* Ubuntu: `sudo apt install vulkan-sdk`
* Arch: `sudo pacman -S spirv-tools vulkan-headers vulkan-tools vulkan-validation-layers`
* Install Git with LFS
* Ubuntu: `sudo apt-get install git git-lfs`
@@ -73,13 +67,31 @@ Flax Visual Studio extension provides better programming workflow, C# scripts de
## Mac
* Install XCode
* Install Mono ([https://www.mono-project.com/download/stable](https://www.mono-project.com/download/stable))
* Install .NET 7 SDK ([https://dotnet.microsoft.com/en-us/download/dotnet/7.0](https://dotnet.microsoft.com/en-us/download/dotnet/7.0))
* Install Vulkan SDK ([https://vulkan.lunarg.com/](https://vulkan.lunarg.com/))
* Clone repo (with LFS)
* Run `GenerateProjectFiles.command`
* Open workspace with XCode or Visual Studio Code
* Build and run (configuration `Editor.Mac.Development`)
#### Troubleshooting
* `Could not execute because the specified command or file was not found.`
Restart PC - ensure DotNet is added to PATH for command line tools execution.
* `Microsoft.NET.TargetFrameworkInference.targets(141,5): error NETSDK1045: The current .NET SDK does not support targeting .NET 7.0. Either target .NET 5.0 or lower, or use a version of the .NET SDK that supports .NET 7.0`
Use Visual Studio 2022, older versions are not supported by .NET SDK 7.
* `Building for Windows without Vulkan rendering backend (Vulkan SDK is missing)`
Install the Vulkan SDK then set an environment variable to provide the path to the SDK prior to running GenerateProjectFiles.bat: `set VULKAN_SDK=%sdk_path%`.
* `The NuGetSdkResolver did not resolve this SDK`
Install `.NET SDK`, `NuGet package manager` and `NuGet targets and build tasks` in Visual Studio components.
## Workspace directory
- **Binaries/** - executable files
@@ -93,7 +105,6 @@ Flax Visual Studio extension provides better programming workflow, C# scripts de
- **Content/** - assets and binary files used by the engine and editor
- **Development/** - engine development files
- **Scripts/** - utility scripts
- **packages/** - NuGet packages cache location
- **Source/** - source code location
- **Editor/** - Flax Editor source code
- **Engine/** - Flax Engine source code
@@ -103,7 +114,6 @@ Flax Visual Studio extension provides better programming workflow, C# scripts de
- ***PlatformName*/** - per-platform files
- **Binaries/** - per-platform binaries
- **Game/** - Flax Game binaries
- **Mono/** - Mono runtime files and data
- **ThirdParty/** - prebuilt 3rd Party binaries
- **Shaders/** - shaders source code
- **ThirdParty/** - 3rd Party source code
+170 -168
View File
@@ -1,49 +1,103 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#include "EditorAnalytics.h"
#include "EditorAnalyticsController.h"
#include "Editor/Editor.h"
#include "Editor/ProjectInfo.h"
#include "Editor/Cooker/GameCooker.h"
#include "Engine/Threading/Task.h"
#include "Engine/Threading/Threading.h"
#include "Engine/Platform/FileSystem.h"
#include "Engine/Platform/MemoryStats.h"
#include "Engine/Core/Log.h"
#include "Engine/Core/Math/Vector2.h"
#include "Engine/Core/Types/DateTime.h"
#include "Engine/Core/Types/TimeSpan.h"
#include "Editor/Editor.h"
#include "Editor/ProjectInfo.h"
#include "Engine/Engine/EngineService.h"
#include "Engine/Engine/Globals.h"
#include "Engine/Graphics/GPUDevice.h"
#include "Engine/Utilities/StringConverter.h"
#include "Engine/Utilities/TextWriter.h"
#include "Engine/ShadowsOfMordor/Builder.h"
#include "Engine/Profiler/ProfilerCPU.h"
#include "FlaxEngine.Gen.h"
#include <ThirdParty/UniversalAnalytics/universal-analytics.h>
#include <ThirdParty/UniversalAnalytics/http.h>
#define FLAX_EDITOR_GOOGLE_ID "UA-88357703-3"
// Docs:
// https://developers.google.com/analytics/devguides/collection/ga4
// https://developers.google.com/analytics/devguides/collection/protocol/ga4
// Helper doc: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters
// [GA4] Flax Editor
#define GA_MEASUREMENT_ID "G-2SNY6RW6VX"
#define GA_API_SECRET "wFlau4khTPGFRnx-AIZ1zg"
#define GA_DEBUG 0
#if GA_DEBUG
#define GA_URL "https://www.google-analytics.com/debug/mp/collect"
#else
#define GA_URL "https://www.google-analytics.com/mp/collect"
#endif
namespace EditorAnalyticsImpl
namespace
{
UATracker Tracker = nullptr;
StringAnsi Url;
StringAnsi ClientId;
StringAnsi ProjectName;
StringAnsi ScreenResolution;
StringAnsi UserLanguage;
StringAnsi GPU;
DateTime SessionStartTime;
CriticalSection Locker;
bool IsSessionActive = false;
EditorAnalyticsController Controller;
Array<char> TmpBuffer;
TextWriterANSI JsonBuffer;
curl_slist* CurlHttpHeadersList = nullptr;
}
using namespace EditorAnalyticsImpl;
size_t curl_null_data_handler(char* ptr, size_t size, size_t nmemb, void* userdata)
{
return nmemb * size;
}
void RegisterGameCookingStart(GameCooker::EventType type)
{
if (type == GameCooker::EventType::BuildStarted)
{
auto& data = *GameCooker::GetCurrentData();
StringAnsi name = "Build " + StringAnsi(ToString(data.Platform));
const Pair<const char*, const char*> params[1] = { { "GameCooker", name.Get() } };
EditorAnalytics::SendEvent("Actions", ToSpan(params, ARRAY_COUNT(params)));
}
}
void RegisterLightmapsBuildingStart()
{
const Pair<const char*, const char*> params[1] = { { "ShadowsOfMordor", "Build" }, };
EditorAnalytics::SendEvent("Actions", ToSpan(params, ARRAY_COUNT(params)));
}
void RegisterError(LogType type, const StringView& msg)
{
if (type == LogType::Error && false)
{
StringAnsi value(msg);
const int32 MaxLength = 300;
if (msg.Length() > MaxLength)
value = value.Substring(0, MaxLength);
value.Replace('\n', ' ');
value.Replace('\r', ' ');
const Pair<const char*, const char*> params[1] = { { "Error", value.Get() }, };
EditorAnalytics::SendEvent("Errors", ToSpan(params, ARRAY_COUNT(params)));
}
else if (type == LogType::Fatal)
{
StringAnsi value(msg);
const int32 MaxLength = 300;
if (msg.Length() > MaxLength)
value = value.Substring(0, MaxLength);
value.Replace('\n', ' ');
value.Replace('\r', ' ');
const Pair<const char*, const char*> params[1] = { { "Fatal", value.Get() }, };
EditorAnalytics::SendEvent("Errors", ToSpan(params, ARRAY_COUNT(params)));
}
}
class EditorAnalyticsService : public EngineService
{
public:
EditorAnalyticsService()
: EngineService(TEXT("Editor Analytics"))
{
@@ -57,192 +111,141 @@ EditorAnalyticsService EditorAnalyticsServiceInstance;
bool EditorAnalytics::IsSessionActive()
{
return EditorAnalyticsImpl::IsSessionActive;
return ::IsSessionActive;
}
void EditorAnalytics::StartSession()
{
ScopeLock lock(Locker);
if (EditorAnalyticsImpl::IsSessionActive)
if (::IsSessionActive)
return;
PROFILE_CPU();
// Prepare client metadata
if (ClientId.IsEmpty())
{
ClientId = Platform::GetUniqueDeviceId().ToString(Guid::FormatType::N).ToStringAnsi();
}
if (ScreenResolution.IsEmpty())
{
const auto desktopSize = Platform::GetDesktopSize();
ScreenResolution = StringAnsi(StringUtils::ToString((int32)desktopSize.X)) + "x" + StringAnsi(StringUtils::ToString((int32)desktopSize.Y));
}
if (UserLanguage.IsEmpty())
{
UserLanguage = Platform::GetUserLocaleName().ToStringAnsi();
}
if (GPU.IsEmpty())
{
const auto gpu = GPUDevice::Instance;
if (gpu && gpu->GetState() == GPUDevice::DeviceState::Ready)
GPU = StringAsANSI<>(gpu->GetAdapter()->GetDescription().GetText()).Get();
}
if (ProjectName.IsEmpty())
{
ProjectName = Editor::Project->Name.ToStringAnsi();
}
ClientId = Platform::GetUniqueDeviceId().ToString(Guid::FormatType::N).ToStringAnsi();
StringAnsi ProjectName = Editor::Project->Name.ToStringAnsi();
const auto desktopSize = Platform::GetDesktopSize();
StringAnsi ScreenResolution = StringAnsi::Format("{0}x{1}", (int32)desktopSize.X, (int32)desktopSize.Y);
const auto memoryStats = Platform::GetMemoryStats();
StringAnsi Memory = StringAnsi::Format("{0} GB", (int32)(memoryStats.TotalPhysicalMemory / 1024 / 1024 / 1000));
StringAnsi UserLocale = Platform::GetUserLocaleName().ToStringAnsi();
StringAnsi GPU;
if (GPUDevice::Instance && GPUDevice::Instance->GetState() == GPUDevice::DeviceState::Ready)
GPU = StringAsANSI<>(GPUDevice::Instance->GetAdapter()->GetDescription().GetText()).Get();
SessionStartTime = DateTime::Now();
// Initialize the analytics tracker
Tracker = createTracker(FLAX_EDITOR_GOOGLE_ID, ClientId.Get(), nullptr);
Tracker->user_agent = "Flax Editor";
// Store these options permanently (for the lifetime of the tracker)
setTrackerOption(Tracker, UA_OPTION_QUEUE, 1);
UASettings GlobalSettings =
{
{
{ UA_DOCUMENT_PATH, 0, "Flax Editor" },
{ UA_DOCUMENT_TITLE, 0, "Flax Editor" },
StringAnsiView EngineVersion = FLAXENGINE_VERSION_TEXT;
#if PLATFORM_WINDOWS
{ UA_USER_AGENT, 0, "Windows " FLAXENGINE_VERSION_TEXT },
StringAnsiView PlatformName = "Windows";
#elif PLATFORM_LINUX
{ UA_USER_AGENT, 0, "Linux " FLAXENGINE_VERSION_TEXT },
StringAnsiView PlatformName = "Linux";
#elif PLATFORM_MAC
{ UA_USER_AGENT, 0, "Mac " FLAXENGINE_VERSION_TEXT },
StringAnsiView PlatformName = "Mac";
#else
#error "Unknown platform"
#endif
{ UA_ANONYMIZE_IP, 0, "0" },
{ UA_APP_ID, 0, "Flax Editor " FLAXENGINE_VERSION_TEXT },
{ UA_APP_INSTALLER_ID, 0, "Flax Editor" },
{ UA_APP_NAME, 0, "Flax Editor" },
{ UA_APP_VERSION, 0, FLAXENGINE_VERSION_TEXT },
{ UA_SCREEN_NAME, 0, "Flax Editor " FLAXENGINE_VERSION_TEXT },
{ UA_SCREEN_RESOLUTION, 0, ScreenResolution.Get() },
{ UA_USER_LANGUAGE, 0, UserLanguage.Get() },
}
};
setParameters(Tracker, &GlobalSettings);
// Send the initial session event
UAOptions sessionViewOptions =
// Initialize HTTP
Url = StringAnsi::Format("{0}?measurement_id={1}&api_secret={2}", GA_URL, GA_MEASUREMENT_ID, GA_API_SECRET);
curl_global_init(CURL_GLOBAL_ALL);
CurlHttpHeadersList = curl_slist_append(nullptr, "Content-Type: application/json");
::IsSessionActive = true;
// Start session
{
{
{ UA_EVENT_CATEGORY, 0, "Session" },
{ UA_EVENT_ACTION, 0, "Start Editor" },
{ UA_EVENT_LABEL, 0, "Start Editor" },
{ UA_SESSION_CONTROL, 0, "start" },
{ UA_DOCUMENT_TITLE, 0, ProjectName.Get() },
}
};
sendTracking(Tracker, UA_SCREENVIEW, &sessionViewOptions);
EditorAnalyticsImpl::IsSessionActive = true;
Controller.Init();
// Report GPU model
if (GPU.HasChars())
{
SendEvent("Telemetry", "GPU.Model", GPU.Get());
const Pair<const char*, const char*> params[1] = { { "Project", ProjectName.Get() }, };
SendEvent("Session", ToSpan(params, ARRAY_COUNT(params)));
}
// Report telemetry stats
#define SEND_TELEMETRY(name, value) \
if (value.HasChars()) \
{ \
const Pair<const char*, const char*> params[1] = { { name, value.Get() } }; \
SendEvent("Telemetry", ToSpan(params, ARRAY_COUNT(params))); \
}
SEND_TELEMETRY("Platform", PlatformName);
SEND_TELEMETRY("GPU", GPU);
SEND_TELEMETRY("Memory", Memory);
SEND_TELEMETRY("Locale", UserLocale);
SEND_TELEMETRY("Screen", ScreenResolution);
SEND_TELEMETRY("Version", EngineVersion);
#undef SEND_TELEMETRY
// Bind events
GameCooker::OnEvent.Bind<RegisterGameCookingStart>();
ShadowsOfMordor::Builder::Instance()->OnBuildStarted.Bind<RegisterLightmapsBuildingStart>();
Log::Logger::OnError.Bind<RegisterError>();
}
void EditorAnalytics::EndSession()
{
ScopeLock lock(Locker);
if (!EditorAnalyticsImpl::IsSessionActive)
if (!::IsSessionActive)
return;
PROFILE_CPU();
Controller.Cleanup();
// Unbind events
GameCooker::OnEvent.Unbind<RegisterGameCookingStart>();
ShadowsOfMordor::Builder::Instance()->OnBuildStarted.Unbind<RegisterLightmapsBuildingStart>();
Log::Logger::OnError.Unbind<RegisterError>();
StringAnsi sessionLength = StringAnsi::Format("{0}", (int32)(DateTime::Now() - SessionStartTime).GetTotalSeconds());
// Send the end session event
UAOptions sessionEventOptions =
// End session
{
StringAnsi sessionLength = StringAnsi::Format("{}", (int32)(DateTime::Now() - SessionStartTime).GetTotalSeconds());
const Pair<const char*, const char*> params[1] =
{
{ UA_EVENT_CATEGORY, 0, "Session" },
{ UA_EVENT_ACTION, 0, "Session Length" },
{ UA_EVENT_LABEL, 0, "Session Length" },
{ UA_EVENT_VALUE, 0, sessionLength.Get() },
{ UA_CUSTOM_DIMENSION, 1, "Session Length" },
{ UA_CUSTOM_METRIC, 1, sessionLength.Get() },
}
};
sendTracking(Tracker, UA_EVENT, &sessionEventOptions);
// Send the end session event
UAOptions sessionViewOptions =
{
{
{ UA_EVENT_CATEGORY, 0, "Session" },
{ UA_EVENT_ACTION, 0, "End Editor" },
{ UA_EVENT_LABEL, 0, "End Editor" },
{ UA_EVENT_VALUE, 0, sessionLength.Get() },
{ UA_SESSION_CONTROL, 0, "end" },
}
};
sendTracking(Tracker, UA_SCREENVIEW, &sessionViewOptions);
{ "Duration", sessionLength.Get() },
};
SendEvent("Session", ToSpan(params, ARRAY_COUNT(params)));
}
// Cleanup
removeTracker(Tracker);
Tracker = nullptr;
EditorAnalyticsImpl::IsSessionActive = false;
curl_slist_free_all(CurlHttpHeadersList);
CurlHttpHeadersList = nullptr;
curl_global_cleanup();
::IsSessionActive = false;
}
void EditorAnalytics::SendEvent(const char* category, const char* name, const char* label)
void EditorAnalytics::SendEvent(const char* name, Span<Pair<const char*, const char*>> parameters)
{
ScopeLock lock(Locker);
if (!EditorAnalyticsImpl::IsSessionActive)
if (!::IsSessionActive)
return;
PROFILE_CPU();
UAOptions opts =
// Create Json request contents
JsonBuffer.Clear();
JsonBuffer.Write("{ \"client_id\": \"");
JsonBuffer.Write(ClientId);
JsonBuffer.Write("\", \"events\": [ { \"name\": \"");
JsonBuffer.Write(name);
JsonBuffer.Write("\", \"params\": {");
for (int32 i = 0; i < parameters.Length(); i++)
{
{
{ UA_EVENT_CATEGORY, 0, (char*)category },
{ UA_EVENT_ACTION, 0, (char*)name },
{ UA_EVENT_LABEL, 0, (char*)label },
}
};
if (i != 0)
JsonBuffer.Write(",");
const auto& e = parameters[i];
JsonBuffer.Write("\"");
JsonBuffer.Write(e.First);
JsonBuffer.Write("\":\"");
JsonBuffer.Write(e.Second);
JsonBuffer.Write("\"");
}
JsonBuffer.Write("}}]}");
const StringAnsiView json((const char*)JsonBuffer.GetBuffer()->GetHandle(), (int32)JsonBuffer.GetBuffer()->GetPosition());
sendTracking(Tracker, UA_EVENT, &opts);
}
void EditorAnalytics::SendEvent(const char* category, const char* name, const StringView& label)
{
SendEvent(category, name, label.Get());
}
void EditorAnalytics::SendEvent(const char* category, const char* name, const Char* label)
{
ScopeLock lock(Locker);
if (!EditorAnalyticsImpl::IsSessionActive)
return;
ASSERT(category && name && label);
const int32 labelLength = StringUtils::Length(label);
TmpBuffer.Clear();
TmpBuffer.Resize(labelLength + 1);
StringUtils::ConvertUTF162ANSI(label, TmpBuffer.Get(), labelLength);
TmpBuffer[labelLength] = 0;
UAOptions opts =
{
{
{ UA_EVENT_CATEGORY, 0, (char*)category },
{ UA_EVENT_ACTION, 0, (char*)name },
{ UA_EVENT_LABEL, 0, (char*)TmpBuffer.Get() },
}
};
sendTracking(Tracker, UA_EVENT, &opts);
// Send HTTP request
CURL* curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_easy_setopt(curl, CURLOPT_URL, Url.Get());
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, CurlHttpHeadersList);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, json.Get());
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, json.Length());
curl_easy_setopt(curl, CURLOPT_USERAGENT, "Flax Editor");
curl_easy_setopt(curl, CURLOPT_WRITEDATA, curl);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_null_data_handler);
CURLcode res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
bool EditorAnalyticsService::Init()
@@ -265,8 +268,7 @@ bool EditorAnalyticsService::Init()
}
LOG(Info, "Editor analytics service is enabled. Curl version: {0}", TEXT(LIBCURL_VERSION));
EditorAnalytics::StartSession();
Task::StartNew(EditorAnalytics::StartSession);
return false;
}
+2 -21
View File
@@ -10,11 +10,9 @@
class EditorAnalytics
{
public:
/// <summary>
/// Determines whether analytics session is active.
/// </summary>
/// <returns><c>true</c> if there is active analytics session running; otherwise, <c>false</c>.</returns>
static bool IsSessionActive();
/// <summary>
@@ -30,24 +28,7 @@ public:
/// <summary>
/// Sends the custom event.
/// </summary>
/// <param name="category">The event category name.</param>
/// <param name="name">The event name.</param>
/// <param name="label">The event label.</param>
static void SendEvent(const char* category, const char* name, const char* label = nullptr);
/// <summary>
/// Sends the custom event.
/// </summary>
/// <param name="category">The event category name.</param>
/// <param name="name">The event name.</param>
/// <param name="label">The event label.</param>
static void SendEvent(const char* category, const char* name, const StringView& label);
/// <summary>
/// Sends the custom event.
/// </summary>
/// <param name="category">The event category name.</param>
/// <param name="name">The event name.</param>
/// <param name="label">The event label.</param>
static void SendEvent(const char* category, const char* name, const Char* label);
/// <param name="parameters">The event parameters (key and value pairs).</param>
static void SendEvent(const char* name, Span<Pair<const char*, const char*>> parameters);
};
@@ -1,69 +0,0 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#include "EditorAnalyticsController.h"
#include "Editor/Cooker/GameCooker.h"
#include "EditorAnalytics.h"
#include "Engine/ShadowsOfMordor/Builder.h"
void RegisterGameCookingStart(GameCooker::EventType type)
{
auto& data = *GameCooker::GetCurrentData();
auto platform = ToString(data.Platform);
if (type == GameCooker::EventType::BuildStarted)
{
EditorAnalytics::SendEvent("Actions", "GameCooker.Start", platform);
}
else if (type == GameCooker::EventType::BuildFailed)
{
EditorAnalytics::SendEvent("Actions", "GameCooker.Failed", platform);
}
else if (type == GameCooker::EventType::BuildDone)
{
EditorAnalytics::SendEvent("Actions", "GameCooker.End", platform);
}
}
void RegisterLightmapsBuildingStart()
{
EditorAnalytics::SendEvent("Actions", "ShadowsOfMordor.Build", "ShadowsOfMordor.Build");
}
void RegisterError(LogType type, const StringView& msg)
{
if (type == LogType::Error && false)
{
String value = msg.ToString();
const int32 MaxLength = 300;
if (msg.Length() > MaxLength)
value = value.Substring(0, MaxLength);
value.Replace('\n', ' ');
value.Replace('\r', ' ');
EditorAnalytics::SendEvent("Errors", "Log.Error", value);
}
else if (type == LogType::Fatal)
{
String value = msg.ToString();
const int32 MaxLength = 300;
if (msg.Length() > MaxLength)
value = value.Substring(0, MaxLength);
value.Replace('\n', ' ');
value.Replace('\r', ' ');
EditorAnalytics::SendEvent("Errors", "Log.Fatal", value);
}
}
void EditorAnalyticsController::Init()
{
GameCooker::OnEvent.Bind<RegisterGameCookingStart>();
ShadowsOfMordor::Builder::Instance()->OnBuildStarted.Bind<RegisterLightmapsBuildingStart>();
Log::Logger::OnError.Bind<RegisterError>();
}
void EditorAnalyticsController::Cleanup()
{
GameCooker::OnEvent.Unbind<RegisterGameCookingStart>();
ShadowsOfMordor::Builder::Instance()->OnBuildStarted.Unbind<RegisterLightmapsBuildingStart>();
Log::Logger::OnError.Unbind<RegisterError>();
}
@@ -1,21 +0,0 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
#pragma once
/// <summary>
/// The controller object for the tracking events for the editor analytics.
/// </summary>
class EditorAnalyticsController
{
public:
/// <summary>
/// Starts the service (registers to event handlers).
/// </summary>
void Init();
/// <summary>
/// Ends the service (unregisters to event handlers).
/// </summary>
void Cleanup();
};
@@ -0,0 +1,292 @@
using System;
using System.IO;
using FlaxEditor.Scripting;
using FlaxEngine;
using FlaxEngine.Utilities;
namespace FlaxEditor.Content;
/// <summary>
/// Manages and converts the selected content item to the appropriate types. Useful for drag operations.
/// </summary>
public class AssetPickerValidator : IContentItemOwner
{
private Asset _selected;
private ContentItem _selectedItem;
private ScriptType _type;
private string _fileExtension;
/// <summary>
/// Gets or sets the selected item.
/// </summary>
public ContentItem SelectedItem
{
get => _selectedItem;
set
{
if (_selectedItem == value)
return;
if (value == null)
{
if (_selected == null && _selectedItem is SceneItem)
{
// Deselect scene reference
_selectedItem.RemoveReference(this);
_selectedItem = null;
_selected = null;
OnSelectedItemChanged();
return;
}
// Deselect
_selectedItem?.RemoveReference(this);
_selectedItem = null;
_selected = null;
OnSelectedItemChanged();
}
else if (value is SceneItem item)
{
if (_selectedItem == item)
return;
if (!IsValid(item))
item = null;
// Change value to scene reference (cannot load asset because scene can be already loaded - duplicated ID issue)
_selectedItem?.RemoveReference(this);
_selectedItem = item;
_selected = null;
_selectedItem?.AddReference(this);
OnSelectedItemChanged();
}
else if (value is AssetItem assetItem)
{
SelectedAsset = FlaxEngine.Content.LoadAsync(assetItem.ID);
}
else
{
// Change value
_selectedItem?.RemoveReference(this);
_selectedItem = value;
_selected = null;
OnSelectedItemChanged();
}
}
}
/// <summary>
/// Gets or sets the selected asset identifier.
/// </summary>
public Guid SelectedID
{
get
{
if (_selected != null)
return _selected.ID;
if (_selectedItem is AssetItem assetItem)
return assetItem.ID;
return Guid.Empty;
}
set => SelectedItem = Editor.Instance.ContentDatabase.FindAsset(value);
}
/// <summary>
/// Gets or sets the selected content item path.
/// </summary>
public string SelectedPath
{
get
{
string path = _selectedItem?.Path ?? _selected?.Path;
if (path != null)
{
// Convert into path relative to the project (cross-platform)
var projectFolder = Globals.ProjectFolder;
if (path.StartsWith(projectFolder))
path = path.Substring(projectFolder.Length + 1);
}
return path;
}
set
{
if (string.IsNullOrEmpty(value))
{
SelectedItem = null;
}
else
{
var path = StringUtils.IsRelative(value) ? Path.Combine(Globals.ProjectFolder, value) : value;
SelectedItem = Editor.Instance.ContentDatabase.Find(path);
}
}
}
/// <summary>
/// Gets or sets the selected asset object.
/// </summary>
public Asset SelectedAsset
{
get => _selected;
set
{
// Check if value won't change
if (value == _selected)
return;
// Find item from content database and check it
var item = value ? Editor.Instance.ContentDatabase.FindAsset(value.ID) : null;
if (item != null && !IsValid(item))
item = null;
// Change value
_selectedItem?.RemoveReference(this);
_selectedItem = item;
_selected = value;
_selectedItem?.AddReference(this);
OnSelectedItemChanged();
}
}
/// <summary>
/// Gets or sets the assets types that this picker accepts (it supports types derived from the given type). Use <see cref="ScriptType.Null"/> for generic file picker.
/// </summary>
public ScriptType AssetType
{
get => _type;
set
{
if (_type != value)
{
_type = value;
// Auto deselect if the current value is invalid
if (_selectedItem != null && !IsValid(_selectedItem))
SelectedItem = null;
}
}
}
/// <summary>
/// Gets or sets the content items extensions filter. Null if unused.
/// </summary>
public string FileExtension
{
get => _fileExtension;
set
{
if (_fileExtension != value)
{
_fileExtension = value;
// Auto deselect if the current value is invalid
if (_selectedItem != null && !IsValid(_selectedItem))
SelectedItem = null;
}
}
}
/// <summary>
/// Occurs when selected item gets changed.
/// </summary>
public event Action SelectedItemChanged;
/// <summary>
/// The custom callback for assets validation. Cane be used to implement a rule for assets to pick.
/// </summary>
public Func<ContentItem, bool> CheckValid;
/// <summary>
/// Returns whether item is valid.
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public bool IsValid(ContentItem item)
{
if (_fileExtension != null && !item.Path.EndsWith(_fileExtension))
return false;
if (CheckValid != null && !CheckValid(item))
return false;
if (_type == ScriptType.Null)
return true;
if (item is AssetItem assetItem)
{
// Faster path for binary items (in-built)
if (assetItem is BinaryAssetItem binaryItem)
return _type.IsAssignableFrom(new ScriptType(binaryItem.Type));
// Type filter
var type = TypeUtils.GetType(assetItem.TypeName);
if (_type.IsAssignableFrom(type))
return true;
// Json assets can contain any type of the object defined by the C# type (data oriented design)
if (assetItem is JsonAssetItem && (_type.Type == typeof(JsonAsset) || _type.Type == typeof(Asset)))
return true;
// Special case for scene asset references
if (_type.Type == typeof(SceneReference) && assetItem is SceneItem)
return true;
}
return false;
}
/// <summary>
/// Initializes a new instance of the <see cref="AssetPickerValidator"/> class.
/// </summary>
public AssetPickerValidator()
: this(new ScriptType(typeof(Asset)))
{
}
/// <summary>
/// Initializes a new instance of the <see cref="AssetPickerValidator"/> class.
/// </summary>
/// <param name="assetType">The assets types that this picker accepts.</param>
public AssetPickerValidator(ScriptType assetType)
{
_type = assetType;
}
/// <summary>
/// Called when selected item gets changed.
/// </summary>
protected virtual void OnSelectedItemChanged()
{
SelectedItemChanged?.Invoke();
}
/// <inheritdoc />
public void OnItemDeleted(ContentItem item)
{
// Deselect item
SelectedItem = null;
}
/// <inheritdoc />
public void OnItemRenamed(ContentItem item)
{
}
/// <inheritdoc />
public void OnItemReimported(ContentItem item)
{
}
/// <inheritdoc />
public void OnItemDispose(ContentItem item)
{
// Deselect item
SelectedItem = null;
}
/// <summary>
/// Call to remove reference from the selected item.
/// </summary>
public void OnDestroy()
{
_selectedItem?.RemoveReference(this);
_selectedItem = null;
_selected = null;
}
}
@@ -0,0 +1,191 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using FlaxEditor.GUI;
using FlaxEditor.GUI.ContextMenu;
using FlaxEditor.GUI.Drag;
using FlaxEngine;
using FlaxEngine.GUI;
namespace FlaxEditor.Content.GUI
{
/// <summary>
/// A navigation button for <see cref="Windows.ContentWindow"/>.
/// </summary>
/// <seealso cref="FlaxEditor.GUI.NavigationButton" />
public class ContentNavigationButton : NavigationButton
{
private DragItems _dragOverItems;
/// <summary>
/// Gets the target node.
/// </summary>
public ContentTreeNode TargetNode { get; }
/// <summary>
/// Initializes a new instance of the <see cref="ContentNavigationButton"/> class.
/// </summary>
/// <param name="targetNode">The target node.</param>
/// <param name="x">The x position.</param>
/// <param name="y">The y position.</param>
/// <param name="height">The height.</param>
public ContentNavigationButton(ContentTreeNode targetNode, float x, float y, float height)
: base(x, y, height)
{
TargetNode = targetNode;
Text = targetNode.NavButtonLabel;
}
/// <inheritdoc />
protected override void OnClick()
{
// Navigate
Editor.Instance.Windows.ContentWin.Navigate(TargetNode);
base.OnClick();
}
private DragDropEffect GetDragEffect(DragData data)
{
if (data is DragDataFiles)
{
if (TargetNode.CanHaveAssets)
return DragDropEffect.Copy;
}
else
{
if (_dragOverItems.HasValidDrag)
return DragDropEffect.Move;
}
return DragDropEffect.None;
}
private bool ValidateDragItem(ContentItem item)
{
// Reject itself and any parent
return item != TargetNode.Folder && !item.Find(TargetNode.Folder) && !TargetNode.IsRoot;
}
/// <inheritdoc />
public override DragDropEffect OnDragEnter(ref Float2 location, DragData data)
{
base.OnDragEnter(ref location, data);
if (_dragOverItems == null)
_dragOverItems = new DragItems(ValidateDragItem);
_dragOverItems.OnDragEnter(data);
var result = GetDragEffect(data);
_validDragOver = result != DragDropEffect.None;
return result;
}
/// <inheritdoc />
public override DragDropEffect OnDragMove(ref Float2 location, DragData data)
{
base.OnDragMove(ref location, data);
return GetDragEffect(data);
}
/// <inheritdoc />
public override void OnDragLeave()
{
base.OnDragLeave();
_dragOverItems.OnDragLeave();
_validDragOver = false;
}
/// <inheritdoc />
public override DragDropEffect OnDragDrop(ref Float2 location, DragData data)
{
var result = DragDropEffect.None;
base.OnDragDrop(ref location, data);
// Check if drop element or files
if (data is DragDataFiles files)
{
// Import files
Editor.Instance.ContentImporting.Import(files.Files, TargetNode.Folder);
result = DragDropEffect.Copy;
}
else if (_dragOverItems.HasValidDrag)
{
// Move items
Editor.Instance.ContentDatabase.Move(_dragOverItems.Objects, TargetNode.Folder);
result = DragDropEffect.Move;
}
_dragOverItems.OnDragDrop();
_validDragOver = false;
return result;
}
}
sealed class ContentNavigationSeparator : ComboBox
{
public ContentNavigationButton Target;
public ContentNavigationSeparator(ContentNavigationButton target, float x, float y, float height)
{
Target = target;
Bounds = new Rectangle(x, y, 16, height);
Offsets = new Margin(Bounds.X, Bounds.Width, Bounds.Y, Bounds.Height);
UpdateTransform();
MaximumItemsInViewCount = 20;
var style = Style.Current;
BackgroundColor = style.BackgroundNormal;
BackgroundColorHighlighted = BackgroundColor;
BackgroundColorSelected = BackgroundColor;
}
protected override ContextMenu OnCreatePopup()
{
// Update items
ClearItems();
foreach (var child in Target.TargetNode.Children)
{
if (child is ContentTreeNode node)
{
if (node.Folder.VisibleInHierarchy) // Respect the filter set by ContentFilterConfig.Filter(...)
AddItem(node.Folder.ShortName);
}
}
return base.OnCreatePopup();
}
public override void Draw()
{
var style = Style.Current;
var rect = new Rectangle(Float2.Zero, Size);
var color = IsDragOver ? style.BackgroundSelected * 0.6f : (_mouseDown ? style.BackgroundSelected : (IsMouseOver ? style.BackgroundHighlighted : Color.Transparent));
Render2D.FillRectangle(rect, color);
Render2D.DrawSprite(Editor.Instance.Icons.ArrowRight12, new Rectangle(rect.Location.X, rect.Y + rect.Size.Y * 0.25f, rect.Size.X, rect.Size.X), EnabledInHierarchy ? style.Foreground : style.ForegroundDisabled);
}
protected override void OnLayoutMenuButton(ContextMenuButton button, int index, bool construct = false)
{
button.Icon = Editor.Instance.Icons.FolderClosed32;
if (_tooltips != null && _tooltips.Length > index)
button.TooltipText = _tooltips[index];
}
protected override void OnItemClicked(int index)
{
base.OnItemClicked(index);
var item = _items[index];
foreach (var child in Target.TargetNode.Children)
{
if (child is ContentTreeNode node && node.Folder.ShortName == item)
{
Editor.Instance.Windows.ContentWin.Navigate(node);
return;
}
}
}
}
}
@@ -1,125 +0,0 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using FlaxEditor.GUI;
using FlaxEditor.GUI.Drag;
using FlaxEngine;
using FlaxEngine.GUI;
namespace FlaxEditor.Content.GUI
{
/// <summary>
/// A navigation button for <see cref="Windows.ContentWindow"/>.
/// </summary>
/// <seealso cref="FlaxEditor.GUI.NavigationButton" />
public class ContentNavigationButton : NavigationButton
{
private DragItems _dragOverItems;
/// <summary>
/// Gets the target node.
/// </summary>
public ContentTreeNode TargetNode { get; }
/// <summary>
/// Initializes a new instance of the <see cref="ContentNavigationButton"/> class.
/// </summary>
/// <param name="targetNode">The target node.</param>
/// <param name="x">The x position.</param>
/// <param name="y">The y position.</param>
/// <param name="height">The height.</param>
public ContentNavigationButton(ContentTreeNode targetNode, float x, float y, float height)
: base(x, y, height)
{
TargetNode = targetNode;
Text = targetNode.NavButtonLabel + "/";
}
/// <inheritdoc />
protected override void OnClick()
{
// Navigate
Editor.Instance.Windows.ContentWin.Navigate(TargetNode);
base.OnClick();
}
private DragDropEffect GetDragEffect(DragData data)
{
if (data is DragDataFiles)
{
if (TargetNode.CanHaveAssets)
return DragDropEffect.Copy;
}
else
{
if (_dragOverItems.HasValidDrag)
return DragDropEffect.Move;
}
return DragDropEffect.None;
}
private bool ValidateDragItem(ContentItem item)
{
// Reject itself and any parent
return item != TargetNode.Folder && !item.Find(TargetNode.Folder) && !TargetNode.IsRoot;
}
/// <inheritdoc />
public override DragDropEffect OnDragEnter(ref Float2 location, DragData data)
{
base.OnDragEnter(ref location, data);
if (_dragOverItems == null)
_dragOverItems = new DragItems(ValidateDragItem);
_dragOverItems.OnDragEnter(data);
var result = GetDragEffect(data);
_validDragOver = result != DragDropEffect.None;
return result;
}
/// <inheritdoc />
public override DragDropEffect OnDragMove(ref Float2 location, DragData data)
{
base.OnDragMove(ref location, data);
return GetDragEffect(data);
}
/// <inheritdoc />
public override void OnDragLeave()
{
base.OnDragLeave();
_dragOverItems.OnDragLeave();
_validDragOver = false;
}
/// <inheritdoc />
public override DragDropEffect OnDragDrop(ref Float2 location, DragData data)
{
var result = DragDropEffect.None;
base.OnDragDrop(ref location, data);
// Check if drop element or files
if (data is DragDataFiles files)
{
// Import files
Editor.Instance.ContentImporting.Import(files.Files, TargetNode.Folder);
result = DragDropEffect.Copy;
}
else if (_dragOverItems.HasValidDrag)
{
// Move items
Editor.Instance.ContentDatabase.Move(_dragOverItems.Objects, TargetNode.Folder);
result = DragDropEffect.Move;
}
_dragOverItems.OnDragDrop();
_validDragOver = false;
return result;
}
}
}
@@ -45,8 +45,14 @@ namespace FlaxEditor.Content.GUI
private void ImportActors(DragActors actors, ContentFolder location)
{
// Use only the first actor
Editor.Instance.Prefabs.CreatePrefab(actors.Objects[0].Actor);
foreach (var actorNode in actors.Objects)
{
var actor = actorNode.Actor;
if (actors.Objects.Contains(actorNode.ParentNode as ActorNode))
continue;
Editor.Instance.Prefabs.CreatePrefab(actor, false);
}
}
/// <inheritdoc />
@@ -62,7 +68,7 @@ namespace FlaxEditor.Content.GUI
_validDragOver = true;
result = DragDropEffect.Copy;
}
else if (_dragActors.HasValidDrag)
else if (_dragActors != null && _dragActors.HasValidDrag)
{
_validDragOver = true;
result = DragDropEffect.Move;
@@ -88,7 +94,7 @@ namespace FlaxEditor.Content.GUI
result = DragDropEffect.Copy;
}
// Check if drop actor(s)
else if (_dragActors.HasValidDrag)
else if (_dragActors != null && _dragActors.HasValidDrag)
{
// Import actors
var currentFolder = Editor.Instance.Windows.ContentWin.CurrentViewFolder;
+27 -16
View File
@@ -220,8 +220,9 @@ namespace FlaxEditor.Content.GUI
// Remove references and unlink items
for (int i = 0; i < _items.Count; i++)
{
_items[i].Parent = null;
_items[i].RemoveReference(this);
var item = _items[i];
item.Parent = null;
item.RemoveReference(this);
}
_items.Clear();
@@ -261,11 +262,15 @@ namespace FlaxEditor.Content.GUI
ClearItems();
// Add references and link items
_items.AddRange(items);
for (int i = 0; i < items.Count; i++)
{
items[i].Parent = this;
items[i].AddReference(this);
var item = items[i];
if (item.Visible && !_items.Contains(item))
{
item.Parent = this;
item.AddReference(this);
_items.Add(item);
}
}
if (selection != null)
{
@@ -276,6 +281,8 @@ namespace FlaxEditor.Content.GUI
// Sort items depending on sortMethod parameter
_children.Sort(((control, control1) =>
{
if (control == null || control1 == null)
return 0;
if (sortType == SortType.AlphabeticReverse)
{
if (control.CompareTo(control1) > 0)
@@ -517,8 +524,8 @@ namespace FlaxEditor.Content.GUI
{
int min = _selection.Min(x => x.IndexInParent);
int max = _selection.Max(x => x.IndexInParent);
min = Mathf.Min(min, item.IndexInParent);
max = Mathf.Max(max, item.IndexInParent);
min = Mathf.Max(Mathf.Min(min, item.IndexInParent), 0);
max = Mathf.Min(Mathf.Max(max, item.IndexInParent), _children.Count - 1);
var selection = new List<ContentItem>(_selection);
for (int i = min; i <= max; i++)
{
@@ -692,10 +699,13 @@ namespace FlaxEditor.Content.GUI
c = char.ToLowerInvariant(c);
for (int i = 0; i < _items.Count; i++)
{
var name = _items[i].ShortName;
var item = _items[i];
var name = item.ShortName;
if (!string.IsNullOrEmpty(name) && char.ToLowerInvariant(name[0]) == c)
{
Select(_items[i]);
Select(item);
if (Parent is Panel panel)
panel.ScrollViewTo(item, true);
break;
}
}
@@ -708,7 +718,7 @@ namespace FlaxEditor.Content.GUI
protected override void PerformLayoutBeforeChildren()
{
float width = GetClientArea().Width;
float x = 0, y = 0;
float x = 0, y = 1;
float viewScale = _viewScale * 0.97f;
switch (ViewType)
@@ -719,21 +729,22 @@ namespace FlaxEditor.Content.GUI
int itemsToFit = Mathf.FloorToInt(width / defaultItemsWidth) - 1;
if (itemsToFit < 1)
itemsToFit = 1;
float itemsWidth = width / Mathf.Max(itemsToFit, 1);
int xSpace = 4;
float itemsWidth = width / Mathf.Max(itemsToFit, 1) - xSpace;
float itemsHeight = itemsWidth / defaultItemsWidth * (ContentItem.DefaultHeight * viewScale);
var flooredItemsWidth = Mathf.Floor(itemsWidth);
var flooredItemsHeight = Mathf.Floor(itemsHeight);
x = itemsToFit == 1 ? 0 : itemsWidth / itemsToFit;
x = itemsToFit == 1 ? 1 : itemsWidth / itemsToFit + xSpace;
for (int i = 0; i < _children.Count; i++)
{
var c = _children[i];
c.Bounds = new Rectangle(Mathf.Floor(x), Mathf.Floor(y), flooredItemsWidth, flooredItemsHeight);
x += itemsWidth + itemsWidth / itemsToFit;
x += (itemsWidth + xSpace) + (itemsWidth + xSpace) / itemsToFit;
if (x + itemsWidth > width)
{
x = itemsToFit == 1 ? 0 : itemsWidth / itemsToFit;
y += itemsHeight + 5;
x = itemsToFit == 1 ? 1 : itemsWidth / itemsToFit + xSpace;
y += itemsHeight + 7;
}
}
if (x > 0)
@@ -748,7 +759,7 @@ namespace FlaxEditor.Content.GUI
{
var c = _children[i];
c.Bounds = new Rectangle(x, y, width, itemsHeight);
y += itemsHeight + 5;
y += itemsHeight + 1;
}
y += 40.0f;
@@ -1,152 +1,61 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System.ComponentModel;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using FlaxEditor.CustomEditors.Editors;
using FlaxEditor.Scripting;
using FlaxEngine;
using FlaxEngine.Tools;
namespace FlaxEngine.Tools
{
partial class AudioTool
{
partial struct Options
{
private bool ShowBtiDepth => Format != AudioFormat.Vorbis;
}
}
}
namespace FlaxEditor.CustomEditors.Dedicated
{
/// <summary>
/// Custom editor for <see cref="FlaxEngine.Tools.AudioTool.Options"/>.
/// </summary>
[CustomEditor(typeof(FlaxEngine.Tools.AudioTool.Options)), DefaultEditor]
public class AudioToolOptionsEditor : GenericEditor
{
/// <inheritdoc />
protected override List<ItemInfo> GetItemsForType(ScriptType type)
{
// Show both fields and properties
return GetItemsForType(type, true, true);
}
}
}
namespace FlaxEditor.Content.Import
{
/// <summary>
/// Proxy object to present audio import settings in <see cref="ImportFilesDialog"/>.
/// </summary>
[HideInEditor]
public class AudioImportSettings
{
/// <summary>
/// A custom set of bit depth audio import sizes.
/// The settings data.
/// </summary>
public enum CustomBitDepth
{
/// <summary>
/// The 8.
/// </summary>
_8 = 8,
/// <summary>
/// The 16.
/// </summary>
_16 = 16,
/// <summary>
/// The 24.
/// </summary>
_24 = 24,
/// <summary>
/// The 32.
/// </summary>
_32 = 32,
}
/// <summary>
/// Converts the bit depth to enum.
/// </summary>
/// <param name="f">The bit depth.</param>
/// <returns>The converted enum.</returns>
public static CustomBitDepth ConvertBitDepth(int f)
{
FieldInfo[] fields = typeof(CustomBitDepth).GetFields();
for (int i = 0; i < fields.Length; i++)
{
var field = fields[i];
if (field.Name.Equals("value__"))
continue;
if (f == (int)field.GetRawConstantValue())
return (CustomBitDepth)f;
}
return CustomBitDepth._16;
}
/// <summary>
/// The audio data format to import the audio clip as.
/// </summary>
[EditorOrder(10), DefaultValue(AudioFormat.Vorbis), Tooltip("The audio data format to import the audio clip as.")]
public AudioFormat Format { get; set; } = AudioFormat.Vorbis;
/// <summary>
/// The audio data compression quality. Used only if target format is using compression. Value 0 means the smallest size, value 1 means the best quality.
/// </summary>
[EditorOrder(15), DefaultValue(0.4f), Limit(0, 1, 0.01f), Tooltip("The audio data compression quality. Used only if target format is using compression. Value 0 means the smallest size, value 1 means the best quality.")]
public float CompressionQuality { get; set; } = 0.4f;
/// <summary>
/// Disables dynamic audio streaming. The whole clip will be loaded into the memory. Useful for small clips (eg. gunfire sounds).
/// </summary>
[EditorOrder(20), DefaultValue(false), Tooltip("Disables dynamic audio streaming. The whole clip will be loaded into the memory. Useful for small clips (eg. gunfire sounds).")]
public bool DisableStreaming { get; set; } = false;
/// <summary>
/// Checks should the clip be played as spatial (3D) audio or as normal audio. 3D audio is stored in Mono format.
/// </summary>
[EditorOrder(30), DefaultValue(false), EditorDisplay(null, "Is 3D"), Tooltip("Checks should the clip be played as spatial (3D) audio or as normal audio. 3D audio is stored in Mono format.")]
public bool Is3D { get; set; } = false;
/// <summary>
/// The size of a single sample in bits. The clip will be converted to this bit depth on import.
/// </summary>
[EditorOrder(40), DefaultValue(CustomBitDepth._16), Tooltip("The size of a single sample in bits. The clip will be converted to this bit depth on import.")]
public CustomBitDepth BitDepth { get; set; } = CustomBitDepth._16;
[StructLayout(LayoutKind.Sequential)]
internal struct InternalOptions
{
public AudioFormat Format;
public byte DisableStreaming;
public byte Is3D;
public int BitDepth;
public float Quality;
}
internal void ToInternal(out InternalOptions options)
{
options = new InternalOptions
{
Format = Format,
DisableStreaming = (byte)(DisableStreaming ? 1 : 0),
Is3D = (byte)(Is3D ? 1 : 0),
Quality = CompressionQuality,
BitDepth = (int)BitDepth,
};
}
internal void FromInternal(ref InternalOptions options)
{
Format = options.Format;
DisableStreaming = options.DisableStreaming != 0;
Is3D = options.Is3D != 0;
CompressionQuality = options.Quality;
BitDepth = ConvertBitDepth(options.BitDepth);
}
/// <summary>
/// Tries the restore the asset import options from the target resource file.
/// </summary>
/// <param name="options">The options.</param>
/// <param name="assetPath">The asset path.</param>
/// <returns>True settings has been restored, otherwise false.</returns>
public static bool TryRestore(ref AudioImportSettings options, string assetPath)
{
if (AudioImportEntry.Internal_GetAudioImportOptions(assetPath, out var internalOptions))
{
// Restore settings
options.FromInternal(ref internalOptions);
return true;
}
return false;
}
[EditorDisplay(null, EditorDisplayAttribute.InlineStyle)]
public AudioTool.Options Settings = AudioTool.Options.Default;
}
/// <summary>
/// Audio asset import entry.
/// </summary>
/// <seealso cref="AssetImportEntry" />
public class AudioImportEntry : AssetImportEntry
public partial class AudioImportEntry : AssetImportEntry
{
private AudioImportSettings _settings = new AudioImportSettings();
private AudioImportSettings _settings = new();
/// <summary>
/// Initializes a new instance of the <see cref="AudioImportEntry"/> class.
@@ -156,7 +65,7 @@ namespace FlaxEditor.Content.Import
: base(ref request)
{
// Try to restore target asset Audio import options (useful for fast reimport)
AudioImportSettings.TryRestore(ref _settings, ResultUrl);
Editor.TryRestoreImportOptions(ref _settings.Settings, ResultUrl);
}
/// <inheritdoc />
@@ -165,26 +74,23 @@ namespace FlaxEditor.Content.Import
/// <inheritdoc />
public override bool TryOverrideSettings(object settings)
{
if (settings is AudioImportSettings o)
if (settings is AudioImportSettings s)
{
_settings = o;
_settings.Settings = s.Settings;
return true;
}
if (settings is AudioTool.Options o)
{
_settings.Settings = o;
return true;
}
return false;
}
/// <inheritdoc />
public override bool Import()
{
return Editor.Import(SourceUrl, ResultUrl, _settings);
return Editor.Import(SourceUrl, ResultUrl, _settings.Settings);
}
#region Internal Calls
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern bool Internal_GetAudioImportOptions(string path, out AudioImportSettings.InternalOptions result);
#endregion
}
}
@@ -139,7 +139,7 @@ namespace FlaxEditor.Content.Import
var menu = new ContextMenu();
menu.AddButton("Rename", OnRenameClicked);
menu.AddButton("Don't import", OnDontImportClicked);
menu.AddButton("Show in Explorer", OnShowInExplorerClicked);
menu.AddButton(Utilities.Constants.ShowInExplorer, OnShowInExplorerClicked);
menu.Tag = node;
menu.Show(node, location);
}
+51 -515
View File
@@ -1,88 +1,47 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using FlaxEditor.CustomEditors.Editors;
using FlaxEditor.Scripting;
using FlaxEngine;
using FlaxEngine.Tools;
namespace FlaxEngine.Tools
{
partial class ModelTool
{
partial struct Options
{
private bool ShowGeometry => Type == ModelTool.ModelType.Model || Type == ModelTool.ModelType.SkinnedModel;
private bool ShowModel => Type == ModelTool.ModelType.Model;
private bool ShowSkinnedModel => Type == ModelTool.ModelType.SkinnedModel;
private bool ShowAnimation => Type == ModelTool.ModelType.Animation;
private bool ShowSmoothingNormalsAngle => ShowGeometry && CalculateNormals;
private bool ShowSmoothingTangentsAngle => ShowGeometry && CalculateTangents;
private bool ShowFramesRange => ShowAnimation && Duration == ModelTool.AnimationDuration.Custom;
}
}
}
namespace FlaxEditor.CustomEditors.Dedicated
{
/// <summary>
/// Custom editor for <see cref="FlaxEngine.Tools.ModelTool.Options"/>.
/// </summary>
[CustomEditor(typeof(FlaxEngine.Tools.ModelTool.Options)), DefaultEditor]
public class ModelToolOptionsEditor : GenericEditor
{
/// <inheritdoc />
protected override List<ItemInfo> GetItemsForType(ScriptType type)
{
// Show both fields and properties
return GetItemsForType(type, true, true);
}
}
}
namespace FlaxEditor.Content.Import
{
/// <summary>
/// Importing model lightmap UVs source
/// </summary>
[HideInEditor]
public enum ModelLightmapUVsSource : int
{
/// <summary>
/// No lightmap UVs.
/// </summary>
Disable = 0,
/// <summary>
/// Generate lightmap UVs from model geometry.
/// </summary>
Generate = 1,
/// <summary>
/// The texcoords channel 0.
/// </summary>
Channel0 = 2,
/// <summary>
/// The texcoords channel 1.
/// </summary>
Channel1 = 3,
/// <summary>
/// The texcoords channel 2.
/// </summary>
Channel2 = 4,
/// <summary>
/// The texcoords channel 3.
/// </summary>
Channel3 = 5
}
/// <summary>
/// Declares the imported data type.
/// </summary>
[HideInEditor]
public enum ModelType : int
{
/// <summary>
/// The model asset.
/// </summary>
Model = 0,
/// <summary>
/// The skinned model asset.
/// </summary>
SkinnedModel = 1,
/// <summary>
/// The animation asset.
/// </summary>
Animation = 2,
}
/// <summary>
/// Declares the imported animation clip duration.
/// </summary>
[HideInEditor]
public enum AnimationDuration : int
{
/// <summary>
/// The imported duration.
/// </summary>
Imported = 0,
/// <summary>
/// The custom duration specified via keyframes range.
/// </summary>
Custom = 1,
}
/// <summary>
/// Proxy object to present model import settings in <see cref="ImportFilesDialog"/>.
/// </summary>
@@ -90,431 +49,10 @@ namespace FlaxEditor.Content.Import
public class ModelImportSettings
{
/// <summary>
/// Type of the imported asset.
/// The settings data.
/// </summary>
[EditorOrder(0)]
public ModelType Type { get; set; } = ModelType.Model;
/// <summary>
/// Enable model normal vectors recalculating.
/// </summary>
[EditorDisplay("Geometry"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(20), DefaultValue(false)]
public bool CalculateNormals { get; set; } = false;
/// <summary>
/// Specifies the maximum angle (in degrees) that may be between two face normals at the same vertex position that their are smoothed together. The default value is 175.
/// </summary>
[EditorDisplay("Geometry"), VisibleIf(nameof(ShowSmoothingNormalsAngle))]
[EditorOrder(30), DefaultValue(175.0f), Limit(0, 175, 0.1f)]
public float SmoothingNormalsAngle { get; set; } = 175.0f;
private bool ShowSmoothingNormalsAngle => ShowGeometry && CalculateNormals;
/// <summary>
/// If checked, the imported normal vectors of the mesh will be flipped (scaled by -1).
/// </summary>
[EditorDisplay("Geometry"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(35), DefaultValue(false)]
public bool FlipNormals { get; set; } = false;
/// <summary>
/// Enable model tangent vectors recalculating.
/// </summary>
[EditorDisplay("Geometry"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(40), DefaultValue(false)]
public bool CalculateTangents { get; set; } = false;
/// <summary>
/// Specifies the maximum angle (in degrees) that may be between two vertex tangents that their tangents and bi-tangents are smoothed. The default value is 45.
/// </summary>
[EditorDisplay("Geometry"), VisibleIf(nameof(ShowSmoothingTangentsAngle))]
[EditorOrder(45), DefaultValue(45.0f), Limit(0, 45, 0.1f)]
public float SmoothingTangentsAngle { get; set; } = 45.0f;
private bool ShowSmoothingTangentsAngle => ShowGeometry && CalculateTangents;
/// <summary>
/// Enable/disable meshes geometry optimization.
/// </summary>
[EditorDisplay("Geometry"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(50), DefaultValue(true)]
public bool OptimizeMeshes { get; set; } = true;
/// <summary>
/// Enable/disable geometry merge for meshes with the same materials.
/// </summary>
[EditorDisplay("Geometry"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(60), DefaultValue(true)]
public bool MergeMeshes { get; set; } = true;
/// <summary>
/// Enable/disable importing meshes Level of Details.
/// </summary>
[EditorDisplay("Geometry", "Import LODs"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(70), DefaultValue(true)]
public bool ImportLODs { get; set; } = true;
/// <summary>
/// Enable/disable importing vertex colors (channel 0 only).
/// </summary>
[EditorDisplay("Geometry"), VisibleIf(nameof(ShowModel))]
[EditorOrder(80), DefaultValue(true)]
public bool ImportVertexColors { get; set; } = true;
/// <summary>
/// Enable/disable importing blend shapes (morph targets).
/// </summary>
[EditorDisplay("Geometry"), VisibleIf(nameof(ShowSkinnedModel))]
[EditorOrder(85), DefaultValue(false)]
public bool ImportBlendShapes { get; set; } = false;
/// <summary>
/// The lightmap UVs source.
/// </summary>
[EditorDisplay("Geometry", "Lightmap UVs Source"), VisibleIf(nameof(ShowModel))]
[EditorOrder(90), DefaultValue(ModelLightmapUVsSource.Disable)]
public ModelLightmapUVsSource LightmapUVsSource { get; set; } = ModelLightmapUVsSource.Disable;
/// <summary>
/// If specified, all meshes which name starts with this prefix will be imported as a separate collision data (excluded used for rendering).
/// </summary>
[EditorDisplay("Geometry"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(100), DefaultValue("")]
public string CollisionMeshesPrefix { get; set; }
/// <summary>
/// Custom uniform import scale.
/// </summary>
[EditorOrder(500), DefaultValue(1.0f), EditorDisplay("Transform")]
public float Scale { get; set; } = 1.0f;
/// <summary>
/// Custom import geometry rotation.
/// </summary>
[DefaultValue(typeof(Quaternion), "0,0,0,1")]
[EditorOrder(510), EditorDisplay("Transform")]
public Quaternion Rotation { get; set; } = Quaternion.Identity;
/// <summary>
/// Custom import geometry offset.
/// </summary>
[DefaultValue(typeof(Float3), "0,0,0")]
[EditorOrder(520), EditorDisplay("Transform")]
public Float3 Translation { get; set; } = Float3.Zero;
/// <summary>
/// If checked, the imported geometry will be shifted to the center of mass.
/// </summary>
[EditorOrder(530), DefaultValue(false), EditorDisplay("Transform")]
public bool CenterGeometry { get; set; } = false;
/// <summary>
/// Imported animation duration mode. Can use the original value or overriden by settings.
/// </summary>
[EditorDisplay("Animation"), VisibleIf(nameof(ShowAnimation))]
[EditorOrder(1000), DefaultValue(AnimationDuration.Imported)]
public AnimationDuration Duration { get; set; } = AnimationDuration.Imported;
/// <summary>
/// Imported animation first frame index. Used only if Duration mode is set to Custom.
/// </summary>
[EditorDisplay("Animation"), VisibleIf(nameof(ShowFramesRange))]
[EditorOrder(1010), DefaultValue(0.0f), Limit(0)]
public float FramesRangeStart { get; set; } = 0;
/// <summary>
/// Imported animation last frame index. Used only if Duration mode is set to Custom.
/// </summary>
[EditorDisplay("Animation"), VisibleIf(nameof(ShowFramesRange))]
[EditorOrder(1020), DefaultValue(0.0f), Limit(0)]
public float FramesRangeEnd { get; set; } = 0;
private bool ShowFramesRange => ShowAnimation && Duration == AnimationDuration.Custom;
/// <summary>
/// The imported animation default frame rate. Can specify the default frames per second amount for imported animation. If value is 0 then the original animation frame rate will be used.
/// </summary>
[EditorDisplay("Animation"), VisibleIf(nameof(ShowAnimation))]
[EditorOrder(1025), DefaultValue(0.0f), Limit(0, 1000, 0.01f)]
public float DefaultFrameRate { get; set; } = 0.0f;
/// <summary>
/// The imported animation sampling rate. If value is 0 then the original animation speed will be used.
/// </summary>
[EditorDisplay("Animation"), VisibleIf(nameof(ShowAnimation))]
[EditorOrder(1030), DefaultValue(0.0f), Limit(0, 1000, 0.01f)]
public float SamplingRate { get; set; } = 0.0f;
/// <summary>
/// The imported animation will have removed tracks with no keyframes or unspecified data.
/// </summary>
[EditorDisplay("Animation"), VisibleIf(nameof(ShowAnimation))]
[EditorOrder(1040), DefaultValue(true)]
public bool SkipEmptyCurves { get; set; } = true;
/// <summary>
/// The imported animation channels will be optimized to remove redundant keyframes.
/// </summary>
[EditorDisplay("Animation"), VisibleIf(nameof(ShowAnimation))]
[EditorOrder(1050), DefaultValue(true)]
public bool OptimizeKeyframes { get; set; } = true;
/// <summary>
/// If checked, the importer will import scale animation tracks (otherwise scale animation will be ignored).
/// </summary>
[EditorDisplay("Animation"), VisibleIf(nameof(ShowAnimation))]
[EditorOrder(1055), DefaultValue(false)]
public bool ImportScaleTracks { get; set; } = false;
/// <summary>
/// Enables root motion extraction support from this animation.
/// </summary>
[EditorDisplay("Animation"), VisibleIf(nameof(ShowAnimation))]
[EditorOrder(1060), DefaultValue(false)]
public bool EnableRootMotion { get; set; } = false;
/// <summary>
/// The custom node name to be used as a root motion source. If not specified the actual root node will be used.
/// </summary>
[EditorDisplay("Animation"), VisibleIf(nameof(ShowAnimation))]
[EditorOrder(1070), DefaultValue(typeof(string), "")]
public string RootNodeName { get; set; }
/// <summary>
/// If checked, the importer will generate a sequence of LODs based on the base LOD index.
/// </summary>
[EditorDisplay("Level Of Detail", "Generate LODs"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(1100), DefaultValue(false)]
public bool GenerateLODs { get; set; } = false;
/// <summary>
/// The index of the LOD from the source model data to use as a reference for following LODs generation.
/// </summary>
[EditorDisplay("Level Of Detail", "Base LOD"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(1110), DefaultValue(0), Limit(0, Model.MaxLODs - 1)]
public int BaseLOD { get; set; } = 0;
/// <summary>
/// The amount of LODs to include in the model (all remaining ones starting from Base LOD will be generated).
/// </summary>
[EditorDisplay("Level Of Detail", "LOD Count"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(1120), DefaultValue(4), Limit(1, Model.MaxLODs)]
public int LODCount { get; set; } = 4;
/// <summary>
/// The target amount of triangles for the generated LOD (based on the higher LOD). Normalized to range 0-1. For instance 0.4 cuts the triangle count to 40%.
/// </summary>
[EditorDisplay("Level Of Detail"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(1130), DefaultValue(0.5f), Limit(0, 1, 0.001f)]
public float TriangleReduction { get; set; } = 0.5f;
/// <summary>
/// If checked, the importer will create materials for model meshes as specified in the file.
/// </summary>
[EditorDisplay("Materials"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(400), DefaultValue(true)]
public bool ImportMaterials { get; set; } = true;
/// <summary>
/// If checked, the importer will import texture files used by the model and any embedded texture resources.
/// </summary>
[EditorDisplay("Materials"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(410), DefaultValue(true)]
public bool ImportTextures { get; set; } = true;
/// <summary>
/// If checked, the importer will try to restore the model material slots.
/// </summary>
[EditorDisplay("Materials", "Restore Materials On Reimport"), VisibleIf(nameof(ShowGeometry))]
[EditorOrder(420), DefaultValue(true)]
public bool RestoreMaterialsOnReimport { get; set; } = true;
/// <summary>
/// If checked, enables generation of Signed Distance Field (SDF).
/// </summary>
[EditorDisplay("SDF"), VisibleIf(nameof(ShowModel))]
[EditorOrder(1500), DefaultValue(false)]
public bool GenerateSDF { get; set; } = false;
/// <summary>
/// Resolution scale for generated Signed Distance Field (SDF) texture. Higher values improve accuracy but increase memory usage and reduce performance.
/// </summary>
[EditorDisplay("SDF"), VisibleIf(nameof(ShowModel))]
[EditorOrder(1510), DefaultValue(1.0f), Limit(0.0001f, 100.0f)]
public float SDFResolution { get; set; } = 1.0f;
/// <summary>
/// If checked, the imported mesh/animations are splitted into separate assets. Used if ObjectIndex is set to -1.
/// </summary>
[EditorOrder(2000), DefaultValue(false), EditorDisplay("Splitting")]
public bool SplitObjects { get; set; } = false;
/// <summary>
/// The zero-based index for the mesh/animation clip to import. If the source file has more than one mesh/animation it can be used to pick a desire object. Default -1 imports all objects.
/// </summary>
[EditorOrder(2010), DefaultValue(-1), EditorDisplay("Splitting")]
public int ObjectIndex { get; set; } = -1;
private bool ShowGeometry => Type == ModelType.Model || Type == ModelType.SkinnedModel;
private bool ShowModel => Type == ModelType.Model;
private bool ShowSkinnedModel => Type == ModelType.SkinnedModel;
private bool ShowAnimation => Type == ModelType.Animation;
[StructLayout(LayoutKind.Sequential)]
internal struct InternalOptions
{
public ModelType Type;
// Geometry
public byte CalculateNormals;
public float SmoothingNormalsAngle;
public byte FlipNormals;
public float SmoothingTangentsAngle;
public byte CalculateTangents;
public byte OptimizeMeshes;
public byte MergeMeshes;
public byte ImportLODs;
public byte ImportVertexColors;
public byte ImportBlendShapes;
public ModelLightmapUVsSource LightmapUVsSource;
public string CollisionMeshesPrefix;
// Transform
public float Scale;
public Quaternion Rotation;
public Float3 Translation;
public byte CenterGeometry;
// Animation
public AnimationDuration Duration;
public float FramesRangeStart;
public float FramesRangeEnd;
public float DefaultFrameRate;
public float SamplingRate;
public byte SkipEmptyCurves;
public byte OptimizeKeyframes;
public byte ImportScaleTracks;
public byte EnableRootMotion;
public string RootNodeName;
// Level Of Detail
public byte GenerateLODs;
public int BaseLOD;
public int LODCount;
public float TriangleReduction;
// Misc
public byte ImportMaterials;
public byte ImportTextures;
public byte RestoreMaterialsOnReimport;
// SDF
public byte GenerateSDF;
public float SDFResolution;
// Splitting
public byte SplitObjects;
public int ObjectIndex;
}
internal void ToInternal(out InternalOptions options)
{
options = new InternalOptions
{
Type = Type,
CalculateNormals = (byte)(CalculateNormals ? 1 : 0),
SmoothingNormalsAngle = SmoothingNormalsAngle,
FlipNormals = (byte)(FlipNormals ? 1 : 0),
SmoothingTangentsAngle = SmoothingTangentsAngle,
CalculateTangents = (byte)(CalculateTangents ? 1 : 0),
OptimizeMeshes = (byte)(OptimizeMeshes ? 1 : 0),
MergeMeshes = (byte)(MergeMeshes ? 1 : 0),
ImportLODs = (byte)(ImportLODs ? 1 : 0),
ImportVertexColors = (byte)(ImportVertexColors ? 1 : 0),
ImportBlendShapes = (byte)(ImportBlendShapes ? 1 : 0),
LightmapUVsSource = LightmapUVsSource,
CollisionMeshesPrefix = CollisionMeshesPrefix,
Scale = Scale,
Rotation = Rotation,
Translation = Translation,
CenterGeometry = (byte)(CenterGeometry ? 1 : 0),
Duration = Duration,
FramesRangeStart = FramesRangeStart,
FramesRangeEnd = FramesRangeEnd,
DefaultFrameRate = DefaultFrameRate,
SamplingRate = SamplingRate,
SkipEmptyCurves = (byte)(SkipEmptyCurves ? 1 : 0),
OptimizeKeyframes = (byte)(OptimizeKeyframes ? 1 : 0),
ImportScaleTracks = (byte)(ImportScaleTracks ? 1 : 0),
EnableRootMotion = (byte)(EnableRootMotion ? 1 : 0),
RootNodeName = RootNodeName,
GenerateLODs = (byte)(GenerateLODs ? 1 : 0),
BaseLOD = BaseLOD,
LODCount = LODCount,
TriangleReduction = TriangleReduction,
ImportMaterials = (byte)(ImportMaterials ? 1 : 0),
ImportTextures = (byte)(ImportTextures ? 1 : 0),
RestoreMaterialsOnReimport = (byte)(RestoreMaterialsOnReimport ? 1 : 0),
GenerateSDF = (byte)(GenerateSDF ? 1 : 0),
SDFResolution = SDFResolution,
SplitObjects = (byte)(SplitObjects ? 1 : 0),
ObjectIndex = ObjectIndex,
};
}
internal void FromInternal(ref InternalOptions options)
{
Type = options.Type;
CalculateNormals = options.CalculateNormals != 0;
SmoothingNormalsAngle = options.SmoothingNormalsAngle;
FlipNormals = options.FlipNormals != 0;
SmoothingTangentsAngle = options.SmoothingTangentsAngle;
CalculateTangents = options.CalculateTangents != 0;
OptimizeMeshes = options.OptimizeMeshes != 0;
MergeMeshes = options.MergeMeshes != 0;
ImportLODs = options.ImportLODs != 0;
ImportVertexColors = options.ImportVertexColors != 0;
ImportBlendShapes = options.ImportBlendShapes != 0;
LightmapUVsSource = options.LightmapUVsSource;
CollisionMeshesPrefix = options.CollisionMeshesPrefix;
Scale = options.Scale;
Rotation = options.Rotation;
Translation = options.Translation;
CenterGeometry = options.CenterGeometry != 0;
FramesRangeStart = options.FramesRangeStart;
FramesRangeEnd = options.FramesRangeEnd;
DefaultFrameRate = options.DefaultFrameRate;
SamplingRate = options.SamplingRate;
SkipEmptyCurves = options.SkipEmptyCurves != 0;
OptimizeKeyframes = options.OptimizeKeyframes != 0;
ImportScaleTracks = options.ImportScaleTracks != 0;
EnableRootMotion = options.EnableRootMotion != 0;
RootNodeName = options.RootNodeName;
GenerateLODs = options.GenerateLODs != 0;
BaseLOD = options.BaseLOD;
LODCount = options.LODCount;
TriangleReduction = options.TriangleReduction;
ImportMaterials = options.ImportMaterials != 0;
ImportTextures = options.ImportTextures != 0;
RestoreMaterialsOnReimport = options.RestoreMaterialsOnReimport != 0;
GenerateSDF = options.GenerateSDF != 0;
SDFResolution = options.SDFResolution;
SplitObjects = options.SplitObjects != 0;
ObjectIndex = options.ObjectIndex;
}
/// <summary>
/// Tries the restore the asset import options from the target resource file. Applies the project default options too.
/// </summary>
/// <param name="options">The options.</param>
/// <param name="assetPath">The asset path.</param>
/// <returns>True settings has been restored, otherwise false.</returns>
public static void TryRestore(ref ModelImportSettings options, string assetPath)
{
ModelImportEntry.Internal_GetModelImportOptions(assetPath, out var internalOptions);
options.FromInternal(ref internalOptions);
}
[EditorDisplay(null, EditorDisplayAttribute.InlineStyle)]
public ModelTool.Options Settings = ModelTool.Options.Default;
}
/// <summary>
@@ -523,7 +61,7 @@ namespace FlaxEditor.Content.Import
/// <seealso cref="AssetImportEntry" />
public class ModelImportEntry : AssetImportEntry
{
private ModelImportSettings _settings = new ModelImportSettings();
private ModelImportSettings _settings = new();
/// <summary>
/// Initializes a new instance of the <see cref="ModelImportEntry"/> class.
@@ -533,7 +71,7 @@ namespace FlaxEditor.Content.Import
: base(ref request)
{
// Try to restore target asset model import options (useful for fast reimport)
ModelImportSettings.TryRestore(ref _settings, ResultUrl);
Editor.TryRestoreImportOptions(ref _settings.Settings, ResultUrl);
}
/// <inheritdoc />
@@ -542,9 +80,14 @@ namespace FlaxEditor.Content.Import
/// <inheritdoc />
public override bool TryOverrideSettings(object settings)
{
if (settings is ModelImportSettings o)
if (settings is ModelImportSettings s)
{
_settings = o;
_settings.Settings = s.Settings;
return true;
}
if (settings is ModelTool.Options o)
{
_settings.Settings = o;
return true;
}
return false;
@@ -553,14 +96,7 @@ namespace FlaxEditor.Content.Import
/// <inheritdoc />
public override bool Import()
{
return Editor.Import(SourceUrl, ResultUrl, _settings);
return Editor.Import(SourceUrl, ResultUrl, _settings.Settings);
}
#region Internal Calls
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern void Internal_GetModelImportOptions(string path, out ModelImportSettings.InternalOptions result);
#endregion
}
}
+108 -406
View File
@@ -3,56 +3,94 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using FlaxEditor.CustomEditors.Editors;
using FlaxEditor.Scripting;
using FlaxEngine;
using FlaxEngine.Tools;
// ReSharper disable InconsistentNaming
namespace FlaxEngine.Tools
{
partial class TextureTool
{
partial struct Options
{
#pragma warning disable CS1591
public enum CustomMaxSizes
{
_32 = 32,
_64 = 64,
_128 = 128,
_256 = 256,
_512 = 512,
_1024 = 1024,
_2048 = 2048,
_4096 = 4096,
_8192 = 8192,
_16384 = 16384,
}
#pragma warning restore CS1591
/// <summary>
/// The size of the imported texture. If Resize property is set to true then texture will be resized during the import to this value. Otherwise it will be ignored.
/// </summary>
[EditorOrder(110), VisibleIf(nameof(Resize)), DefaultValue(typeof(Int2), "1024,1024")]
public Int2 Size
{
get => new Int2(SizeX, SizeY);
set
{
SizeX = value.X;
SizeY = value.Y;
}
}
/// <summary>
/// Maximum size of the texture (for both width and height). Higher resolution textures will be resized during importing process.
/// </summary>
[EditorOrder(90), DefaultValue(CustomMaxSizes._8192), EditorDisplay(null, "Max Size")]
public CustomMaxSizes CustomMaxSize
{
get
{
var value = MaxSize;
if (!Mathf.IsPowerOfTwo(value))
value = Mathf.NextPowerOfTwo(value);
FieldInfo[] fields = typeof(CustomMaxSizes).GetFields();
for (int i = 0; i < fields.Length; i++)
{
var field = fields[i];
if (field.Name.Equals("value__"))
continue;
if (value == (int)field.GetRawConstantValue())
return (CustomMaxSizes)value;
}
return CustomMaxSizes._8192;
}
set => MaxSize = (int)value;
}
}
}
}
namespace FlaxEditor.CustomEditors.Dedicated
{
/// <summary>
/// Custom editor for <see cref="FlaxEngine.Tools.TextureTool.Options"/>.
/// </summary>
[CustomEditor(typeof(FlaxEngine.Tools.TextureTool.Options)), DefaultEditor]
public class TextureToolOptionsEditor : GenericEditor
{
/// <inheritdoc />
protected override List<ItemInfo> GetItemsForType(ScriptType type)
{
// Show both fields and properties
return GetItemsForType(type, true, true);
}
}
}
namespace FlaxEditor.Content.Import
{
/// <summary>
/// Texture format types.
/// </summary>
[HideInEditor]
public enum TextureFormatType : byte
{
/// <summary>
/// The unknown.
/// </summary>
Unknown = 0,
/// <summary>
/// The color with RGB channels.
/// </summary>
ColorRGB = 1,
/// <summary>
/// The color with RGBA channels.
/// </summary>
ColorRGBA = 2,
/// <summary>
/// The normal map (packed and compressed).
/// </summary>
NormalMap = 3,
/// <summary>
/// The gray scale (R channel).
/// </summary>
GrayScale = 4,
/// <summary>
/// The HDR color (RGBA channels).
/// </summary>
HdrRGBA = 5,
/// <summary>
/// The HDR color (RGB channels).
/// </summary>
HdrRGB = 6
}
/// <summary>
/// Proxy object to present texture import settings in <see cref="ImportFilesDialog"/>.
/// </summary>
@@ -60,346 +98,10 @@ namespace FlaxEditor.Content.Import
public class TextureImportSettings
{
/// <summary>
/// A custom version of <see cref="TextureFormatType"/> for GUI.
/// The settings data.
/// </summary>
public enum CustomTextureFormatType
{
/// <summary>
/// The color with RGB channels.
/// </summary>
ColorRGB = 1,
/// <summary>
/// The color with RGBA channels.
/// </summary>
ColorRGBA = 2,
/// <summary>
/// The normal map (packed and compressed).
/// </summary>
NormalMap = 3,
/// <summary>
/// The gray scale (R channel).
/// </summary>
GrayScale = 4,
/// <summary>
/// The HDR color (RGBA channels).
/// </summary>
HdrRGBA = 5,
/// <summary>
/// The HDR color (RGB channels).
/// </summary>
HdrRGB = 6
}
/// <summary>
/// A custom set of max texture import sizes.
/// </summary>
public enum CustomMaxSizeType
{
/// <summary>
/// The 32.
/// </summary>
_32 = 32,
/// <summary>
/// The 64.
/// </summary>
_64 = 64,
/// <summary>
/// The 128.
/// </summary>
_128 = 128,
/// <summary>
/// The 256.
/// </summary>
_256 = 256,
/// <summary>
/// The 512.
/// </summary>
_512 = 512,
/// <summary>
/// The 1024.
/// </summary>
_1024 = 1024,
/// <summary>
/// The 2048.
/// </summary>
_2048 = 2048,
/// <summary>
/// The 4096.
/// </summary>
_4096 = 4096,
/// <summary>
/// The 8192.
/// </summary>
_8192 = 8192,
}
/// <summary>
/// Converts the maximum size to enum.
/// </summary>
/// <param name="f">The max size.</param>
/// <returns>The converted enum.</returns>
public static CustomMaxSizeType ConvertMaxSize(int f)
{
if (!Mathf.IsPowerOfTwo(f))
f = Mathf.NextPowerOfTwo(f);
FieldInfo[] fields = typeof(CustomMaxSizeType).GetFields();
for (int i = 0; i < fields.Length; i++)
{
var field = fields[i];
if (field.Name.Equals("value__"))
continue;
if (f == (int)field.GetRawConstantValue())
return (CustomMaxSizeType)f;
}
return CustomMaxSizeType._8192;
}
/// <summary>
/// The sprite info.
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct SpriteInfo
{
/// <summary>
/// The sprite area.
/// </summary>
public Rectangle Area;
/// <summary>
/// The sprite name.
/// </summary>
public string Name;
/// <summary>
/// Initializes a new instance of the <see cref="SpriteInfo"/> struct.
/// </summary>
/// <param name="area">The area.</param>
/// <param name="name">The name.</param>
public SpriteInfo(Rectangle area, string name)
{
Area = area;
Name = name;
}
}
/// <summary>
/// Texture format type
/// </summary>
[EditorOrder(0), DefaultValue(CustomTextureFormatType.ColorRGB), Tooltip("Texture import format type")]
public CustomTextureFormatType Type { get; set; } = CustomTextureFormatType.ColorRGB;
/// <summary>
/// True if texture should be imported as a texture atlas resource
/// </summary>
[EditorOrder(10), DefaultValue(false), Tooltip("True if texture should be imported as a texture atlas (with sprites)")]
public bool IsAtlas { get; set; }
/// <summary>
/// True if disable dynamic texture streaming
/// </summary>
[EditorOrder(20), DefaultValue(false), Tooltip("True if disable dynamic texture streaming")]
public bool NeverStream { get; set; }
/// <summary>
/// Enables/disables texture data compression.
/// </summary>
[EditorOrder(30), DefaultValue(true), Tooltip("True if compress texture data")]
public bool Compress { get; set; } = true;
/// <summary>
/// True if texture channels have independent data
/// </summary>
[EditorOrder(40), DefaultValue(false), Tooltip("True if texture channels have independent data (for compression methods)")]
public bool IndependentChannels { get; set; }
/// <summary>
/// True if use sRGB format for texture data. Recommended for color maps and diffuse color textures.
/// </summary>
[EditorOrder(50), DefaultValue(false), EditorDisplay(null, "sRGB"), Tooltip("True if use sRGB format for texture data. Recommended for color maps and diffuse color textures.")]
public bool sRGB { get; set; }
/// <summary>
/// True if generate mip maps chain for the texture.
/// </summary>
[EditorOrder(60), DefaultValue(true), Tooltip("True if generate mip maps chain for the texture")]
public bool GenerateMipMaps { get; set; } = true;
/// <summary>
/// True if flip Y coordinate of the texture.
/// </summary>
[EditorOrder(65), DefaultValue(false), EditorDisplay(null, "Flip Y"), Tooltip("True if flip Y coordinate of the texture.")]
public bool FlipY { get; set; } = false;
/// <summary>
/// The import texture scale.
/// </summary>
[EditorOrder(70), DefaultValue(1.0f), Tooltip("Texture scale. Default is 1.")]
public float Scale { get; set; } = 1.0f;
/// <summary>
/// Maximum size of the texture (for both width and height).
/// Higher resolution textures will be resized during importing process.
/// </summary>
[EditorOrder(80), DefaultValue(CustomMaxSizeType._8192), Tooltip("Maximum texture size (will be resized if need to)")]
public CustomMaxSizeType MaxSize { get; set; } = CustomMaxSizeType._8192;
/// <summary>
/// True if resize texture on import. Use Size property to define texture width and height. Texture scale property will be ignored.
/// </summary>
[EditorOrder(90), DefaultValue(false), Tooltip("True if resize texture on import. Use Size property to define texture width and height. Texture scale property will be ignored.")]
public bool Resize { get; set; } = false;
/// <summary>
/// Gets or sets the size of the imported texture. If Resize property is set to true then texture will be resized during the import to this value. Otherwise it will be ignored.
/// </summary>
[EditorOrder(100), VisibleIf("Resize"), DefaultValue(typeof(Int2), "1024,1024"), Tooltip("The size of the imported texture. If Resize property is set to true then texture will be resized during the import to this value. Otherwise it will be ignored.")]
public Int2 Size { get; set; } = new Int2(1024, 1024);
/// <summary>
/// True if preserve alpha coverage in generated mips for alpha test reference. Scales mipmap alpha values to preserve alpha coverage based on an alpha test reference value.
/// </summary>
[EditorOrder(240), DefaultValue(false), Tooltip("Check to preserve alpha coverage in generated mips for alpha test reference. Scales mipmap alpha values to preserve alpha coverage based on an alpha test reference value.")]
public bool PreserveAlphaCoverage { get; set; } = false;
/// <summary>
/// The reference value for the alpha coverage preserving.
/// </summary>
[EditorOrder(250), VisibleIf("PreserveAlphaCoverage"), DefaultValue(0.5f), Tooltip("The reference value for the alpha coverage preserving.")]
public float PreserveAlphaCoverageReference { get; set; } = 0.5f;
/// <summary>
/// Texture group for streaming (negative if unused). See Streaming Settings.
/// </summary>
[CustomEditor(typeof(CustomEditors.Dedicated.TextureGroupEditor))]
[EditorOrder(300), Tooltip("Texture group for streaming (negative if unused). See Streaming Settings.")]
public int TextureGroup = -1;
/// <summary>
/// The sprites. Used to keep created sprites on sprite atlas reimport.
/// </summary>
[HideInEditor]
public List<SpriteInfo> Sprites = new List<SpriteInfo>();
[StructLayout(LayoutKind.Sequential)]
internal struct InternalOptions
{
public TextureFormatType Type;
public byte IsAtlas;
public byte NeverStream;
public byte Compress;
public byte IndependentChannels;
public byte sRGB;
public byte GenerateMipMaps;
public byte FlipY;
public byte Resize;
public byte PreserveAlphaCoverage;
public float PreserveAlphaCoverageReference;
public float Scale;
public int MaxSize;
public int TextureGroup;
public Int2 Size;
public Rectangle[] SpriteAreas;
public string[] SpriteNames;
}
internal void ToInternal(out InternalOptions options)
{
options = new InternalOptions
{
Type = (TextureFormatType)(int)Type,
IsAtlas = (byte)(IsAtlas ? 1 : 0),
NeverStream = (byte)(NeverStream ? 1 : 0),
Compress = (byte)(Compress ? 1 : 0),
IndependentChannels = (byte)(IndependentChannels ? 1 : 0),
sRGB = (byte)(sRGB ? 1 : 0),
GenerateMipMaps = (byte)(GenerateMipMaps ? 1 : 0),
FlipY = (byte)(FlipY ? 1 : 0),
Resize = (byte)(Resize ? 1 : 0),
PreserveAlphaCoverage = (byte)(PreserveAlphaCoverage ? 1 : 0),
PreserveAlphaCoverageReference = PreserveAlphaCoverageReference,
Scale = Scale,
Size = Size,
MaxSize = (int)MaxSize,
TextureGroup = TextureGroup,
};
if (Sprites != null && Sprites.Count > 0)
{
int count = Sprites.Count;
options.SpriteAreas = new Rectangle[count];
options.SpriteNames = new string[count];
for (int i = 0; i < count; i++)
{
options.SpriteAreas[i] = Sprites[i].Area;
options.SpriteNames[i] = Sprites[i].Name;
}
}
else
{
options.SpriteAreas = null;
options.SpriteNames = null;
}
}
internal void FromInternal(ref InternalOptions options)
{
Type = (CustomTextureFormatType)(int)options.Type;
IsAtlas = options.IsAtlas != 0;
NeverStream = options.NeverStream != 0;
Compress = options.Compress != 0;
IndependentChannels = options.IndependentChannels != 0;
sRGB = options.sRGB != 0;
GenerateMipMaps = options.GenerateMipMaps != 0;
FlipY = options.FlipY != 0;
Resize = options.Resize != 0;
PreserveAlphaCoverage = options.PreserveAlphaCoverage != 0;
PreserveAlphaCoverageReference = options.PreserveAlphaCoverageReference;
Scale = options.Scale;
MaxSize = ConvertMaxSize(options.MaxSize);
TextureGroup = options.TextureGroup;
Size = options.Size;
if (options.SpriteAreas != null)
{
int spritesCount = options.SpriteAreas.Length;
Sprites.Capacity = spritesCount;
for (int i = 0; i < spritesCount; i++)
{
Sprites.Add(new SpriteInfo(options.SpriteAreas[i], options.SpriteNames[i]));
}
}
}
/// <summary>
/// Tries the restore the asset import options from the target resource file.
/// </summary>
/// <param name="options">The options.</param>
/// <param name="assetPath">The asset path.</param>
/// <returns>True settings has been restored, otherwise false.</returns>
public static bool TryRestore(ref TextureImportSettings options, string assetPath)
{
if (TextureImportEntry.Internal_GetTextureImportOptions(assetPath, out var internalOptions))
{
// Restore settings
options.FromInternal(ref internalOptions);
return true;
}
return false;
}
[EditorDisplay(null, EditorDisplayAttribute.InlineStyle)]
public TextureTool.Options Settings = TextureTool.Options.Default;
}
/// <summary>
@@ -408,7 +110,7 @@ namespace FlaxEditor.Content.Import
/// <seealso cref="AssetImportEntry" />
public class TextureImportEntry : AssetImportEntry
{
private TextureImportSettings _settings = new TextureImportSettings();
private TextureImportSettings _settings = new();
/// <summary>
/// Initializes a new instance of the <see cref="TextureImportEntry"/> class.
@@ -423,15 +125,15 @@ namespace FlaxEditor.Content.Import
if (extension == ".raw")
{
// Raw image data in 16bit gray-scale, preserve the quality
_settings.Type = TextureImportSettings.CustomTextureFormatType.HdrRGBA;
_settings.Compress = false;
_settings.Settings.Type = TextureFormatType.HdrRGBA;
_settings.Settings.Compress = false;
}
else if (extension == ".hdr")
{
// HDR sky texture
_settings.Type = TextureImportSettings.CustomTextureFormatType.HdrRGB;
_settings.Settings.Type = TextureFormatType.HdrRGB;
}
else if (_settings.Type != TextureImportSettings.CustomTextureFormatType.ColorRGB)
else if (_settings.Settings.Type != TextureFormatType.ColorRGB)
{
// Skip checking
}
@@ -443,7 +145,7 @@ namespace FlaxEditor.Content.Import
|| snl.EndsWith("normals"))
{
// Normal map
_settings.Type = TextureImportSettings.CustomTextureFormatType.NormalMap;
_settings.Settings.Type = TextureFormatType.NormalMap;
}
else if (snl.EndsWith("_d")
|| snl.Contains("diffuse")
@@ -454,8 +156,8 @@ namespace FlaxEditor.Content.Import
|| snl.Contains("albedo"))
{
// Albedo or diffuse map
_settings.Type = TextureImportSettings.CustomTextureFormatType.ColorRGB;
_settings.sRGB = true;
_settings.Settings.Type = TextureFormatType.ColorRGB;
_settings.Settings.sRGB = true;
}
else if (snl.EndsWith("ao")
|| snl.EndsWith("ambientocclusion")
@@ -478,11 +180,11 @@ namespace FlaxEditor.Content.Import
|| snl.EndsWith("metallic"))
{
// Glossiness, metalness, ambient occlusion, displacement, height, cavity or specular
_settings.Type = TextureImportSettings.CustomTextureFormatType.GrayScale;
_settings.Settings.Type = TextureFormatType.GrayScale;
}
// Try to restore target asset texture import options (useful for fast reimport)
TextureImportSettings.TryRestore(ref _settings, ResultUrl);
Editor.TryRestoreImportOptions(ref _settings.Settings, ResultUrl);
}
/// <inheritdoc />
@@ -491,11 +193,18 @@ namespace FlaxEditor.Content.Import
/// <inheritdoc />
public override bool TryOverrideSettings(object settings)
{
if (settings is TextureImportSettings o)
if (settings is TextureImportSettings s)
{
var sprites = o.Sprites ?? _settings.Sprites; // Preserve sprites if not specified to override
_settings = o;
_settings.Sprites = sprites;
var sprites = s.Settings.Sprites ?? _settings.Settings.Sprites; // Preserve sprites if not specified to override
_settings.Settings = s.Settings;
_settings.Settings.Sprites = sprites;
return true;
}
if (settings is TextureTool.Options o)
{
var sprites = o.Sprites ?? _settings.Settings.Sprites; // Preserve sprites if not specified to override
_settings.Settings = o;
_settings.Settings.Sprites = sprites;
return true;
}
return false;
@@ -504,14 +213,7 @@ namespace FlaxEditor.Content.Import
/// <inheritdoc />
public override bool Import()
{
return Editor.Import(SourceUrl, ResultUrl, _settings);
return Editor.Import(SourceUrl, ResultUrl, _settings.Settings);
}
#region Internal Calls
[MethodImpl(MethodImplOptions.InternalCall)]
internal static extern bool Internal_GetTextureImportOptions(string path, out TextureImportSettings.InternalOptions result);
#endregion
}
}
+42 -21
View File
@@ -1,8 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using System.IO;
using System.Text;
using FlaxEngine;
using FlaxEngine.GUI;
@@ -25,6 +23,11 @@ namespace FlaxEditor.Content
/// </summary>
public string TypeName { get; }
/// <summary>
/// Returns true if asset is now loaded.
/// </summary>
public bool IsLoaded => FlaxEngine.Content.GetAsset(ID)?.IsLoaded ?? false;
/// <summary>
/// Initializes a new instance of the <see cref="AssetItem"/> class.
/// </summary>
@@ -38,14 +41,6 @@ namespace FlaxEditor.Content
ID = id;
}
/// <inheritdoc />
public override void UpdateTooltipText()
{
var sb = new StringBuilder();
OnBuildTooltipText(sb);
TooltipText = sb.ToString();
}
private sealed class TooltipDoubleClickHook : Control
{
public AssetItem Item;
@@ -74,20 +69,46 @@ namespace FlaxEditor.Content
hook.Item = this;
}
/// <summary>
/// Called when building tooltip text.
/// </summary>
/// <param name="sb">The String Builder.</param>
protected virtual void OnBuildTooltipText(StringBuilder sb)
{
sb.Append("Type: ").Append(TypeName).AppendLine();
sb.Append("Size: ").Append(Utilities.Utils.FormatBytesCount((int)new FileInfo(Path).Length)).AppendLine();
sb.Append("Path: ").Append(Path).AppendLine();
}
/// <inheritdoc />
public override ContentItemType ItemType => ContentItemType.Asset;
/// <inheritdoc />
public override string TypeDescription
{
get
{
// Translate asset type name
var typeName = TypeName;
string[] typeNamespaces = typeName.Split('.');
if (typeNamespaces.Length != 0 && typeNamespaces.Length != 0)
{
typeName = Utilities.Utils.GetPropertyNameUI(typeNamespaces[typeNamespaces.Length - 1]);
}
return typeName;
}
}
/// <summary>
/// Loads the asset.
/// </summary>
/// <returns>The asset object.</returns>
public Asset LoadAsync()
{
return FlaxEngine.Content.LoadAsync<Asset>(ID);
}
/// <summary>
/// Reloads the asset (if it's loaded).
/// </summary>
public void Reload()
{
var asset = FlaxEngine.Content.GetAsset(ID);
if (asset != null && asset.IsLoaded)
{
asset.Reload();
}
}
/// <summary>
/// Determines whether asset is of the specified type (included inheritance checks).
/// </summary>
@@ -19,6 +19,9 @@ namespace FlaxEditor.Content
{
}
/// <inheritdoc />
public override string TypeDescription => "C# Source Code";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.CSharpScript128;
}
+16 -3
View File
@@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using FlaxEditor.GUI.Drag;
using FlaxEngine;
using FlaxEngine.GUI;
@@ -112,7 +113,15 @@ namespace FlaxEditor.Content
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Other;
/// <inheritdoc />
public override bool CanRename => ParentFolder != null; // Deny rename action for root folders
public override bool CanRename
{
get
{
var hasParentFolder = ParentFolder != null;
var isContentFolder = Node is MainContentTreeNode;
return hasParentFolder && !isContentFolder;
}
}
/// <inheritdoc />
public override bool CanDrag => ParentFolder != null; // Deny rename action for root folders
@@ -120,6 +129,9 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool Exists => Directory.Exists(Path);
/// <inheritdoc />
public override string TypeDescription => "Folder";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Folder128;
@@ -135,9 +147,10 @@ namespace FlaxEditor.Content
}
/// <inheritdoc />
public override void UpdateTooltipText()
protected override void OnBuildTooltipText(StringBuilder sb)
{
TooltipText = Path;
sb.Append("Type: ").Append(TypeDescription).AppendLine();
sb.Append("Path: ").Append(Utilities.Utils.GetAssetNamePathWithExt(Path)).AppendLine();
}
/// <inheritdoc />
+111 -18
View File
@@ -2,6 +2,8 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using FlaxEditor.Content.GUI;
using FlaxEditor.GUI.Drag;
using FlaxEngine;
@@ -222,7 +224,7 @@ namespace FlaxEditor.Content
/// <summary>
/// Gets a value indicating whether this item can be dragged and dropped.
/// </summary>
public virtual bool CanDrag => true;
public virtual bool CanDrag => Root != null;
/// <summary>
/// Gets a value indicating whether this <see cref="ContentItem"/> exists on drive.
@@ -273,6 +275,11 @@ namespace FlaxEditor.Content
/// </summary>
public string NamePath => FlaxEditor.Utilities.Utils.GetAssetNamePath(Path);
/// <summary>
/// Gets the content item type description (for UI).
/// </summary>
public abstract string TypeDescription { get; }
/// <summary>
/// Gets the default name of the content item thumbnail. Returns null if not used.
/// </summary>
@@ -316,8 +323,6 @@ namespace FlaxEditor.Content
/// <param name="value">The new path.</param>
internal virtual void UpdatePath(string value)
{
Assert.AreNotEqual(Path, value);
// Set path
Path = StringUtils.NormalizePath(value);
FileName = System.IO.Path.GetFileName(value);
@@ -357,7 +362,29 @@ namespace FlaxEditor.Content
/// </summary>
public virtual void UpdateTooltipText()
{
TooltipText = "Path: " + Path;
var sb = new StringBuilder();
OnBuildTooltipText(sb);
if (sb.Length != 0 && sb[sb.Length - 1] == '\n')
{
// Remove new-line from end
int sub = 1;
if (sb.Length != 1 && sb[sb.Length - 2] == '\r')
sub = 2;
sb.Length -= sub;
}
TooltipText = sb.ToString();
}
/// <summary>
/// Called when building tooltip text.
/// </summary>
/// <param name="sb">The output string builder.</param>
protected virtual void OnBuildTooltipText(StringBuilder sb)
{
sb.Append("Type: ").Append(TypeDescription).AppendLine();
if (File.Exists(Path))
sb.Append("Size: ").Append(Utilities.Utils.FormatBytesCount((int)new FileInfo(Path).Length)).AppendLine();
sb.Append("Path: ").Append(Utilities.Utils.GetAssetNamePathWithExt(Path)).AppendLine();
}
/// <summary>
@@ -412,6 +439,9 @@ namespace FlaxEditor.Content
{
get
{
// Skip when hidden
if (!Visible)
return Rectangle.Empty;
var view = Parent as ContentView;
var size = Size;
switch (view?.ViewType ?? ContentViewType.Tiles)
@@ -455,6 +485,30 @@ namespace FlaxEditor.Content
Render2D.FillRectangle(rectangle, Color.Black);
}
/// <summary>
/// Draws the item thumbnail.
/// </summary>
/// <param name="rectangle">The thumbnail rectangle.</param>
/// /// <param name="shadow">Whether or not to draw the shadow. Overrides DrawShadow.</param>
public void DrawThumbnail(ref Rectangle rectangle, bool shadow)
{
// Draw shadow
if (shadow)
{
const float thumbnailInShadowSize = 50.0f;
var shadowRect = rectangle.MakeExpanded((DefaultThumbnailSize - thumbnailInShadowSize) * rectangle.Width / DefaultThumbnailSize * 1.3f);
if (!_shadowIcon.IsValid)
_shadowIcon = Editor.Instance.Icons.AssetShadow128;
Render2D.DrawSprite(_shadowIcon, shadowRect);
}
// Draw thumbnail
if (_thumbnail.IsValid)
Render2D.DrawSprite(_thumbnail, rectangle);
else
Render2D.FillRectangle(rectangle, Color.Black);
}
/// <summary>
/// Gets the amount of references to that item.
/// </summary>
@@ -613,7 +667,6 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override void Draw()
{
// Cache data
var size = Size;
var style = Style.Current;
var view = Parent as ContentView;
@@ -626,9 +679,51 @@ namespace FlaxEditor.Content
{
case ContentViewType.Tiles:
{
var thumbnailSize = size.X - 2 * DefaultMarginSize;
thumbnailRect = new Rectangle(DefaultMarginSize, DefaultMarginSize, thumbnailSize, thumbnailSize);
var thumbnailSize = size.X;
thumbnailRect = new Rectangle(0, 0, thumbnailSize, thumbnailSize);
nameAlignment = TextAlignment.Center;
if (this is ContentFolder)
{
// Small shadow
var shadowRect = new Rectangle(2, 2, clientRect.Width + 1, clientRect.Height + 1);
var color = Color.Black.AlphaMultiplied(0.2f);
Render2D.FillRectangle(shadowRect, color);
Render2D.FillRectangle(clientRect, style.Background.RGBMultiplied(1.25f));
if (isSelected)
Render2D.FillRectangle(clientRect, Parent.ContainsFocus ? style.BackgroundSelected : style.LightBackground);
else if (IsMouseOver)
Render2D.FillRectangle(clientRect, style.BackgroundHighlighted);
DrawThumbnail(ref thumbnailRect, false);
}
else
{
// Small shadow
var shadowRect = new Rectangle(2, 2, clientRect.Width + 1, clientRect.Height + 1);
var color = Color.Black.AlphaMultiplied(0.2f);
Render2D.FillRectangle(shadowRect, color);
Render2D.FillRectangle(clientRect, style.Background.RGBMultiplied(1.25f));
Render2D.FillRectangle(TextRectangle, style.LightBackground);
var accentHeight = 2 * view.ViewScale;
var barRect = new Rectangle(0, thumbnailRect.Height - accentHeight, clientRect.Width, accentHeight);
Render2D.FillRectangle(barRect, Color.DimGray);
DrawThumbnail(ref thumbnailRect, false);
if (isSelected)
{
Render2D.FillRectangle(textRect, Parent.ContainsFocus ? style.BackgroundSelected : style.LightBackground);
Render2D.DrawRectangle(clientRect, Parent.ContainsFocus ? style.BackgroundSelected : style.LightBackground);
}
else if (IsMouseOver)
{
Render2D.FillRectangle(textRect, style.BackgroundHighlighted);
Render2D.DrawRectangle(clientRect, style.BackgroundHighlighted);
}
}
break;
}
case ContentViewType.List:
@@ -636,23 +731,21 @@ namespace FlaxEditor.Content
var thumbnailSize = size.Y - 2 * DefaultMarginSize;
thumbnailRect = new Rectangle(DefaultMarginSize, DefaultMarginSize, thumbnailSize, thumbnailSize);
nameAlignment = TextAlignment.Near;
if (isSelected)
Render2D.FillRectangle(clientRect, Parent.ContainsFocus ? style.BackgroundSelected : style.LightBackground);
else if (IsMouseOver)
Render2D.FillRectangle(clientRect, style.BackgroundHighlighted);
DrawThumbnail(ref thumbnailRect);
break;
}
default: throw new ArgumentOutOfRangeException();
}
// Draw background
if (isSelected)
Render2D.FillRectangle(clientRect, Parent.ContainsFocus ? style.BackgroundSelected : style.LightBackground);
else if (IsMouseOver)
Render2D.FillRectangle(clientRect, style.BackgroundHighlighted);
// Draw preview
DrawThumbnail(ref thumbnailRect);
// Draw short name
Render2D.PushClip(ref textRect);
Render2D.DrawText(style.FontMedium, ShowFileExtension || view.ShowFileExtensions ? FileName : ShortName, textRect, style.Foreground, nameAlignment, TextAlignment.Center, TextWrapping.WrapWords, 0.75f, 0.95f);
Render2D.DrawText(style.FontMedium, ShowFileExtension || view.ShowFileExtensions ? FileName : ShortName, textRect, style.Foreground, nameAlignment, TextAlignment.Center, TextWrapping.WrapWords, 1f, 0.95f);
Render2D.PopClip();
}
@@ -690,7 +783,7 @@ namespace FlaxEditor.Content
public override bool OnMouseDoubleClick(Float2 location, MouseButton button)
{
Focus();
// Open
(Parent as ContentView).OnItemDoubleClick(this);
@@ -19,6 +19,9 @@ namespace FlaxEditor.Content
{
}
/// <inheritdoc />
public override string TypeDescription => Path.EndsWith(".h") ? "C++ Header File" : "C++ Source Code";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.CPPScript128;
}
+3
View File
@@ -25,6 +25,9 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Other;
/// <inheritdoc />
public override string TypeDescription => "File";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document128;
}
+10
View File
@@ -1,5 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System.Text;
using FlaxEngine;
namespace FlaxEditor.Content
@@ -39,10 +40,19 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Other;
/// <inheritdoc />
public override string TypeDescription => "New";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document128;
/// <inheritdoc />
protected override bool DrawShadow => true;
/// <inheritdoc />
public override void UpdateTooltipText()
{
TooltipText = null;
}
}
}
+3
View File
@@ -27,6 +27,9 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Scene;
/// <inheritdoc />
public override string TypeDescription => "Scene";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Scene128;
+1 -1
View File
@@ -30,7 +30,7 @@ namespace FlaxEditor.Content
ShowFileExtension = true;
}
private static string FilterScriptName(string input)
internal static string FilterScriptName(string input)
{
var length = input.Length;
var sb = new StringBuilder(length);
@@ -26,6 +26,9 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Shader;
/// <inheritdoc />
public override string TypeDescription => "Shader Source Code";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document128;
}
@@ -8,6 +8,7 @@ using System.Reflection;
using FlaxEditor.Scripting;
using FlaxEngine;
using FlaxEngine.Json;
using FlaxEngine.Utilities;
using Object = FlaxEngine.Object;
namespace FlaxEditor.Content
@@ -134,7 +135,7 @@ namespace FlaxEditor.Content
_index = index;
type.Asset.GetMethodSignature(index, out _name, out _flags, out var returnTypeName, out var paramNames, out var paramTypeNames, out var paramOuts);
_returnType = TypeUtils.GetType(returnTypeName);
if (paramNames.Length != 0)
if (paramNames != null && paramNames.Length != 0)
{
_parameters = new ScriptMemberInfo.Parameter[paramNames.Length];
for (int i = 0; i < _parameters.Length; i++)
@@ -310,7 +311,10 @@ namespace FlaxEditor.Content
internal void Dispose()
{
OnAssetReloading(_asset);
if (_parameters != null)
{
OnAssetReloading(_asset);
}
_asset = null;
}
@@ -0,0 +1,66 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using System.IO;
using FlaxEditor.Content.Thumbnails;
using FlaxEditor.Windows;
using FlaxEditor.Windows.Assets;
using FlaxEngine;
using FlaxEngine.GUI;
namespace FlaxEditor.Content
{
/// <summary>
/// A <see cref="BehaviorTree"/> asset proxy object.
/// </summary>
/// <seealso cref="FlaxEditor.Content.BinaryAssetProxy" />
[ContentContextMenu("New/AI/Behavior Tree")]
public class BehaviorTreeProxy : BinaryAssetProxy
{
/// <inheritdoc />
public override string Name => "Behavior Tree";
/// <inheritdoc />
public override bool CanReimport(ContentItem item)
{
return true;
}
/// <inheritdoc />
public override EditorWindow Open(Editor editor, ContentItem item)
{
return new BehaviorTreeWindow(editor, item as BinaryAssetItem);
}
/// <inheritdoc />
public override Color AccentColor => Color.FromRGB(0x3256A8);
/// <inheritdoc />
public override Type AssetType => typeof(BehaviorTree);
/// <inheritdoc />
public override bool CanCreate(ContentFolder targetLocation)
{
return targetLocation.CanHaveAssets;
}
/// <inheritdoc />
public override void Create(string outputPath, object arg)
{
if (Editor.CreateAsset(Editor.NewAssetType.BehaviorTree, outputPath))
throw new Exception("Failed to create new asset.");
}
/// <inheritdoc />
public override void OnThumbnailDrawBegin(ThumbnailRequest request, ContainerControl guiRoot, GPUContext context)
{
guiRoot.AddChild(new Label
{
Text = Path.GetFileNameWithoutExtension(request.Asset.Path),
Offsets = Margin.Zero,
AnchorPreset = AnchorPresets.StretchAll,
Wrapping = TextWrapping.WrapWords
});
}
}
}
@@ -2,6 +2,7 @@
using System;
using FlaxEngine;
using FlaxEngine.Utilities;
namespace FlaxEditor.Content
{
@@ -42,7 +43,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override AssetItem ConstructItem(string path, string typeName, ref Guid id)
{
var type = Scripting.TypeUtils.GetType(typeName).Type;
var type = TypeUtils.GetType(typeName).Type;
if (typeof(TextureBase).IsAssignableFrom(type))
return new TextureAssetItem(path, ref id, typeName, type);
@@ -80,7 +80,8 @@ namespace FlaxEditor.Content
/// </summary>
/// <param name="model">The associated model.</param>
/// <param name="created">The action to call once the collision data gets created (or reused from existing).</param>
public void CreateCollisionDataFromModel(Model model, Action<CollisionData> created = null)
/// <param name="withRenaming">True if start initial item renaming by user, or tru to skip it.</param>
public void CreateCollisionDataFromModel(Model model, Action<CollisionData> created = null, bool withRenaming = true)
{
// Check if there already is collision data for that model to reuse
var modelItem = (AssetItem)Editor.Instance.ContentDatabase.Find(model.ID);
@@ -140,7 +141,7 @@ namespace FlaxEditor.Content
});
};
var initialName = (modelItem?.ShortName ?? Path.GetFileNameWithoutExtension(model.Path)) + " Collision";
Editor.Instance.Windows.ContentWin.NewItem(this, null, create, initialName);
Editor.Instance.Windows.ContentWin.NewItem(this, null, create, initialName, withRenaming);
}
}
}
@@ -54,12 +54,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
if (!_preview.HasLoadedAssets)
return false;
// Check if all mip maps are streamed
var asset = (CubeTexture)request.Asset;
return asset.ResidentMipLevels >= Mathf.Max(1, (int)(asset.MipLevels * ThumbnailsModule.MinimumRequiredResourcesQuality));
return _preview.HasLoadedAssets && ThumbnailsModule.HasMinimumQuality((CubeTexture)request.Asset);
}
/// <inheritdoc />
@@ -22,7 +22,6 @@ namespace FlaxEditor.Content
/// Json assets proxy.
/// </summary>
/// <seealso cref="FlaxEditor.Content.JsonAssetBaseProxy" />
[ContentContextMenu("New/Json Asset")]
public abstract class JsonAssetProxy : JsonAssetBaseProxy
{
/// <summary>
@@ -127,6 +126,7 @@ namespace FlaxEditor.Content
/// Generic Json assets proxy (supports all json assets that don't have dedicated proxy).
/// </summary>
/// <seealso cref="FlaxEditor.Content.JsonAssetBaseProxy" />
[ContentContextMenu("New/Json Asset")]
public class GenericJsonAssetProxy : JsonAssetProxy
{
/// <inheritdoc />
@@ -62,7 +62,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
return _preview.HasLoadedAssets;
return _preview.HasLoadedAssets && ThumbnailsModule.HasMinimumQuality((MaterialInstance)request.Asset);
}
/// <inheritdoc />
+3 -5
View File
@@ -72,11 +72,9 @@ namespace FlaxEditor.Content
/// <param name="materialItem">The material item to use as a base material.</param>
public static void CreateMaterialInstance(BinaryAssetItem materialItem)
{
if (materialItem == null)
throw new ArgumentNullException();
var materialInstanceName = materialItem.ShortName + " Instance";
var materialInstanceProxy = Editor.Instance.ContentDatabase.GetProxy<MaterialInstance>();
Editor.Instance.Windows.ContentWin.NewItem(materialInstanceProxy, null, item => OnMaterialInstanceCreated(item, materialItem));
Editor.Instance.Windows.ContentWin.NewItem(materialInstanceProxy, null, item => OnMaterialInstanceCreated(item, materialItem), materialInstanceName);
}
private static void OnMaterialInstanceCreated(ContentItem item, BinaryAssetItem materialItem)
@@ -108,7 +106,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
return _preview.HasLoadedAssets;
return _preview.HasLoadedAssets && ThumbnailsModule.HasMinimumQuality((Material)request.Asset);
}
/// <inheritdoc />
+17 -8
View File
@@ -47,9 +47,23 @@ namespace FlaxEditor.Content
menu.AddButton("Create collision data", () =>
{
var model = FlaxEngine.Content.LoadAsync<Model>(((ModelItem)item).ID);
var collisionDataProxy = (CollisionDataProxy)Editor.Instance.ContentDatabase.GetProxy<CollisionData>();
collisionDataProxy.CreateCollisionDataFromModel(model);
var selection = Editor.Instance.Windows.ContentWin.View.Selection;
if (selection.Count > 1)
{
// Batch action
var items = selection.ToArray(); // Clone to prevent issue when iterating over and content window changes the selection
foreach (var contentItem in items)
{
if (contentItem is ModelItem modelItem)
collisionDataProxy.CreateCollisionDataFromModel(FlaxEngine.Content.LoadAsync<Model>(modelItem.ID), null, false);
}
}
else
{
var model = FlaxEngine.Content.LoadAsync<Model>(((ModelItem)item).ID);
collisionDataProxy.CreateCollisionDataFromModel(model);
}
});
}
@@ -68,12 +82,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
if (!_preview.HasLoadedAssets)
return false;
// Check if asset is streamed enough
var asset = (Model)request.Asset;
return asset.LoadedLODs >= Mathf.Max(1, (int)(asset.LODs.Length * ThumbnailsModule.MinimumRequiredResourcesQuality));
return _preview.HasLoadedAssets && ThumbnailsModule.HasMinimumQuality((Model)request.Asset);
}
/// <inheritdoc />
@@ -30,6 +30,12 @@ namespace FlaxEditor.Content
return item is SceneItem;
}
/// <inheritdoc />
public override bool AcceptsAsset(string typeName, string path)
{
return (typeName == Scene.AssetTypename || typeName == Scene.EditorPickerTypename) && path.EndsWith(FileExtension, StringComparison.OrdinalIgnoreCase);
}
/// <inheritdoc />
public override bool CanCreate(ContentFolder targetLocation)
{
+3 -1
View File
@@ -45,7 +45,7 @@ namespace FlaxEditor.Content
}
/// <inheritdoc />
public override string NewItemName => "Script";
public override string NewItemName => "MyScript";
/// <inheritdoc />
public override bool CanCreate(ContentFolder targetLocation)
@@ -72,6 +72,8 @@ namespace FlaxEditor.Content
// Scripts cannot start with digit.
if (Char.IsDigit(filename[0]))
return false;
if (filename.Equals("Script"))
return false;
return true;
}
+1 -1
View File
@@ -29,7 +29,7 @@ namespace FlaxEditor.Content
if (asset)
{
var source = Editor.GetShaderSourceCode(asset);
Utilities.Utils.ShowSourceCodeWindow(source, "Shader Source", item.RootWindow.Window);
Utilities.Utils.ShowSourceCodeWindow(source, "Shader Source", item.RootWindow?.Window);
}
return null;
}
@@ -54,12 +54,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
if (!_preview.HasLoadedAssets)
return false;
// Check if asset is streamed enough
var asset = (SkinnedModel)request.Asset;
return asset.LoadedLODs >= Mathf.Max(1, (int)(asset.LODs.Length * ThumbnailsModule.MinimumRequiredResourcesQuality));
return _preview.HasLoadedAssets && ThumbnailsModule.HasMinimumQuality((SkinnedModel)request.Asset);
}
/// <inheritdoc />
+1 -5
View File
@@ -57,11 +57,7 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool CanDrawThumbnail(ThumbnailRequest request)
{
// Check if asset is streamed enough
var asset = (Texture)request.Asset;
var mipLevels = asset.MipLevels;
var minMipLevels = Mathf.Min(mipLevels, 7);
return asset.ResidentMipLevels >= Mathf.Max(minMipLevels, (int)(mipLevels * ThumbnailsModule.MinimumRequiredResourcesQuality));
return ThumbnailsModule.HasMinimumQuality((Texture)request.Asset);
}
/// <inheritdoc />
@@ -8,6 +8,7 @@ using FlaxEditor.Windows;
using FlaxEditor.Windows.Assets;
using FlaxEngine;
using FlaxEngine.Json;
using FlaxEngine.Utilities;
namespace FlaxEditor.Content
{
@@ -125,6 +125,74 @@ namespace FlaxEditor.Content.Thumbnails
}
}
internal static bool HasMinimumQuality(TextureBase asset)
{
var mipLevels = asset.MipLevels;
var minMipLevels = Mathf.Min(mipLevels, 7);
return asset.IsLoaded && asset.ResidentMipLevels >= Mathf.Max(minMipLevels, (int)(mipLevels * MinimumRequiredResourcesQuality));
}
internal static bool HasMinimumQuality(Model asset)
{
if (!asset.IsLoaded)
return false;
var lods = asset.LODs.Length;
var slots = asset.MaterialSlots;
foreach (var slot in slots)
{
if (slot.Material && !HasMinimumQuality(slot.Material))
return false;
}
return asset.LoadedLODs >= Mathf.Max(1, (int)(lods * MinimumRequiredResourcesQuality));
}
internal static bool HasMinimumQuality(SkinnedModel asset)
{
var lods = asset.LODs.Length;
if (asset.IsLoaded && lods == 0)
return true; // Skeleton-only model
var slots = asset.MaterialSlots;
foreach (var slot in slots)
{
if (slot.Material && !HasMinimumQuality(slot.Material))
return false;
}
return asset.LoadedLODs >= Mathf.Max(1, (int)(lods * MinimumRequiredResourcesQuality));
}
internal static bool HasMinimumQuality(MaterialBase asset)
{
if (asset is MaterialInstance asInstance)
return HasMinimumQuality(asInstance);
return HasMinimumQualityInternal(asset);
}
internal static bool HasMinimumQuality(Material asset)
{
return HasMinimumQualityInternal(asset);
}
internal static bool HasMinimumQuality(MaterialInstance asset)
{
if (!HasMinimumQualityInternal(asset))
return false;
var baseMaterial = asset.BaseMaterial;
return baseMaterial == null || HasMinimumQualityInternal(baseMaterial);
}
private static bool HasMinimumQualityInternal(MaterialBase asset)
{
if (!asset.IsLoaded)
return false;
var parameters = asset.Parameters;
foreach (var parameter in parameters)
{
if (parameter.Value is TextureBase asTexture && !HasMinimumQuality(asTexture))
return false;
}
return true;
}
#region IContentItemOwner
/// <inheritdoc />
@@ -242,21 +310,36 @@ namespace FlaxEditor.Content.Thumbnails
if (!atlas.IsReady)
return;
// Setup
_guiRoot.RemoveChildren();
_guiRoot.AccentColor = request.Proxy.AccentColor;
try
{
// Setup
_guiRoot.RemoveChildren();
_guiRoot.AccentColor = request.Proxy.AccentColor;
// Call proxy to prepare for thumbnail rendering
request.Proxy.OnThumbnailDrawBegin(request, _guiRoot, context);
_guiRoot.UnlockChildrenRecursive();
// Call proxy to prepare for thumbnail rendering
request.Proxy.OnThumbnailDrawBegin(request, _guiRoot, context);
_guiRoot.UnlockChildrenRecursive();
// Draw preview
context.Clear(_output.View(), Color.Black);
Render2D.CallDrawing(_guiRoot, context, _output);
// Draw preview
context.Clear(_output.View(), Color.Black);
Render2D.CallDrawing(_guiRoot, context, _output);
// Call proxy and cleanup UI (delete create controls, shared controls should be unlinked during OnThumbnailDrawEnd event)
request.Proxy.OnThumbnailDrawEnd(request, _guiRoot);
_guiRoot.DisposeChildren();
// Call proxy and cleanup UI (delete create controls, shared controls should be unlinked during OnThumbnailDrawEnd event)
request.Proxy.OnThumbnailDrawEnd(request, _guiRoot);
}
catch (Exception ex)
{
// Handle internal errors gracefully (eg. when asset is corrupted and proxy fails)
Editor.LogError("Failed to render thumbnail icon for asset: " + request.Item);
Editor.LogWarning(ex);
request.FinishRender(ref SpriteHandle.Invalid);
RemoveRequest(request);
return;
}
finally
{
_guiRoot.DisposeChildren();
}
// Copy backbuffer with rendered preview into atlas
SpriteHandle icon = atlas.OccupySlot(_output, request.Item.ID);
@@ -323,18 +406,16 @@ namespace FlaxEditor.Content.Thumbnails
for (int i = 0; i < maxChecks; i++)
{
var request = _requests[i];
try
{
if (request.IsReady)
{
return request;
}
}
catch (Exception ex)
{
Editor.LogWarning(ex);
Editor.LogWarning($"Failed to prepare thumbnail rendering for {request.Item.ShortName}.");
Editor.LogWarning(ex);
_requests.RemoveAt(i--);
}
}
@@ -353,7 +434,6 @@ namespace FlaxEditor.Content.Thumbnails
// Create atlas
if (PreviewsCache.Create(path))
{
// Error
Editor.LogError("Failed to create thumbnails atlas.");
return null;
}
@@ -362,7 +442,6 @@ namespace FlaxEditor.Content.Thumbnails
var atlas = FlaxEngine.Content.LoadAsync<PreviewsCache>(path);
if (atlas == null)
{
// Error
Editor.LogError("Failed to load thumbnails atlas.");
return null;
}
@@ -434,7 +513,6 @@ namespace FlaxEditor.Content.Thumbnails
for (int i = 0; i < checks; i++)
{
var request = _requests[i];
try
{
if (request.IsReady)
@@ -448,8 +526,9 @@ namespace FlaxEditor.Content.Thumbnails
}
catch (Exception ex)
{
Editor.LogWarning(ex);
Editor.LogWarning($"Failed to prepare thumbnail rendering for {request.Item.ShortName}.");
Editor.LogWarning(ex);
_requests.RemoveAt(i--);
}
}
@@ -86,6 +86,7 @@ namespace FlaxEditor.Content
Folder.ParentFolder = parent.Folder;
Parent = parent;
}
IconColor = Style.Current.Foreground;
}
/// <summary>
@@ -29,7 +29,7 @@ namespace FlaxEditor.Content
//_watcher.Changed += OnEvent;
_watcher.Created += OnEvent;
_watcher.Deleted += OnEvent;
//_watcher.Renamed += OnEvent;
_watcher.Renamed += OnEvent;
}
private void OnEvent(object sender, FileSystemEventArgs e)
@@ -17,6 +17,6 @@ namespace FlaxEditor.Content
}
/// <inheritdoc />
public override string NavButtonLabel => string.Empty;
public override string NavButtonLabel => " /";
}
}
+60 -14
View File
@@ -12,6 +12,13 @@
class GameCooker;
class PlatformTools;
#if OFFICIAL_BUILD
// Use the fixed .NET SDK version in packaged builds for compatibility (FlaxGame is precompiled with it)
#define GAME_BUILD_DOTNET_VER TEXT("-dotnet=7")
#else
#define GAME_BUILD_DOTNET_VER TEXT("")
#endif
/// <summary>
/// Game building options. Used as flags.
/// </summary>
@@ -115,9 +122,19 @@ API_ENUM() enum class BuildPlatform
/// </summary>
API_ENUM(Attributes="EditorDisplay(null, \"Mac x64\")")
MacOSx64 = 12,
};
extern FLAXENGINE_API const Char* ToString(const BuildPlatform platform);
/// <summary>
/// MacOS (ARM64 Apple Silicon)
/// </summary>
API_ENUM(Attributes="EditorDisplay(null, \"Mac ARM64\")")
MacOSARM64 = 13,
/// <summary>
/// iOS (ARM64)
/// </summary>
API_ENUM(Attributes="EditorDisplay(null, \"iOS ARM64\")")
iOSARM64 = 14,
};
/// <summary>
/// Game build configuration modes.
@@ -140,7 +157,35 @@ API_ENUM() enum class BuildConfiguration
Release = 2,
};
/// <summary>
/// .NET Ahead of Time Compilation (AOT) modes.
/// </summary>
enum class DotNetAOTModes
{
/// <summary>
/// AOT is not used.
/// </summary>
None,
/// <summary>
/// Use .NET Native IL Compiler (shorten as ILC) to convert all C# assemblies in native platform executable binary.
/// </summary>
ILC,
/// <summary>
/// Use Mono AOT to cross-compile all used C# assemblies into native platform shared libraries.
/// </summary>
MonoAOTDynamic,
/// <summary>
/// Use Mono AOT to cross-compile all used C# assemblies into native platform static libraries which can be linked into a single shared library.
/// </summary>
MonoAOTStatic,
};
extern FLAXENGINE_API const Char* ToString(const BuildPlatform platform);
extern FLAXENGINE_API const Char* ToString(const BuildConfiguration configuration);
extern FLAXENGINE_API const Char* ToString(const DotNetAOTModes mode);
#define BUILD_STEP_CANCEL_CHECK if (GameCooker::IsCancelRequested()) return true
@@ -188,7 +233,7 @@ public:
API_FIELD(ReadOnly) String OriginalOutputPath;
/// <summary>
/// The output path for data files (Content, Mono, etc.).
/// The output path for data files (Content, Dotnet, Mono, etc.).
/// </summary>
API_FIELD(ReadOnly) String DataOutputPath;
@@ -300,15 +345,18 @@ public:
/// <summary>
/// Gets the absolute path to the Platform Data folder that contains the binary files used by the current build configuration.
/// </summary>
/// <returns>The platform data folder path.</returns>
String GetGameBinariesPath() const;
/// <summary>
/// Gets the absolute path to the platform folder that contains the dependency files used by the current build configuration.
/// </summary>
/// <returns>The platform deps folder path.</returns>
String GetPlatformBinariesRoot() const;
/// <summary>
/// Gets the name of the platform and architecture for the current BuildPlatform.
/// </summary>
void GetBuildPlatformName(const Char*& platform, const Char*& architecture) const;
public:
/// <summary>
@@ -368,17 +416,15 @@ public:
public:
void Error(const String& msg);
void Error(const StringView& msg);
void Error(const String& msg)
{
Error(StringView(msg));
}
void Error(const Char* msg)
{
Error(String(msg));
}
template<typename... Args>
void Error(const Char* format, const Args& ... args)
{
const String msg = String::Format(format, args...);
Error(msg);
Error(StringView(msg));
}
};
+133 -13
View File
@@ -3,9 +3,10 @@
#include "GameCooker.h"
#include "PlatformTools.h"
#include "FlaxEngine.Gen.h"
#include "Engine/Scripting/MainThreadManagedInvokeAction.h"
#include "Engine/Scripting/ManagedCLR/MTypes.h"
#include "Engine/Scripting/ManagedCLR/MClass.h"
#include "Engine/Scripting/ManagedCLR/MException.h"
#include "Engine/Scripting/Internal/MainThreadManagedInvokeAction.h"
#include "Engine/Scripting/Scripting.h"
#include "Engine/Scripting/ScriptingType.h"
#include "Engine/Scripting/BinaryModule.h"
@@ -23,12 +24,12 @@
#include "Steps/CookAssetsStep.h"
#include "Steps/PostProcessStep.h"
#include "Engine/Platform/ConditionVariable.h"
#include "Engine/Platform/CreateProcessSettings.h"
#include "Engine/Scripting/ManagedCLR/MDomain.h"
#include "Engine/Scripting/ManagedCLR/MCore.h"
#include "Engine/Scripting/ManagedCLR/MAssembly.h"
#include "Engine/Content/JsonAsset.h"
#include "Engine/Content/AssetReference.h"
#include "Engine/Scripting/MException.h"
#if PLATFORM_TOOLS_WINDOWS
#include "Platform/Windows/WindowsPlatformTools.h"
#include "Engine/Platform/Windows/WindowsPlatformSettings.h"
@@ -63,6 +64,10 @@
#include "Platform/Mac/MacPlatformTools.h"
#include "Engine/Platform/Mac/MacPlatformSettings.h"
#endif
#if PLATFORM_TOOLS_IOS
#include "Platform/iOS/iOSPlatformTools.h"
#include "Engine/Platform/iOS/iOSPlatformSettings.h"
#endif
namespace GameCookerImpl
{
@@ -139,8 +144,12 @@ const Char* ToString(const BuildPlatform platform)
return TEXT("PlayStation 5");
case BuildPlatform::MacOSx64:
return TEXT("Mac x64");
case BuildPlatform::MacOSARM64:
return TEXT("Mac ARM64");
case BuildPlatform::iOSARM64:
return TEXT("iOS ARM64");
default:
return TEXT("?");
return TEXT("");
}
}
@@ -155,10 +164,37 @@ const Char* ToString(const BuildConfiguration configuration)
case BuildConfiguration::Release:
return TEXT("Release");
default:
return TEXT("?");
return TEXT("");
}
}
const Char* ToString(const DotNetAOTModes mode)
{
switch (mode)
{
case DotNetAOTModes::None:
return TEXT("None");
case DotNetAOTModes::ILC:
return TEXT("ILC");
case DotNetAOTModes::MonoAOTDynamic:
return TEXT("MonoAOTDynamic");
case DotNetAOTModes::MonoAOTStatic:
return TEXT("MonoAOTStatic");
default:
return TEXT("");
}
}
bool PlatformTools::IsNativeCodeFile(CookingData& data, const String& file)
{
const String filename = StringUtils::GetFileName(file);
if (filename.Contains(TEXT(".CSharp")) ||
filename.Contains(TEXT("Newtonsoft.Json")))
return false;
// TODO: maybe use Mono.Cecil via Flax.Build to read assembly image metadata and check if it contains C#?
return true;
}
bool CookingData::AssetTypeStatistics::operator<(const AssetTypeStatistics& other) const
{
if (ContentSize != other.ContentSize)
@@ -211,6 +247,71 @@ String CookingData::GetPlatformBinariesRoot() const
return Globals::StartupFolder / TEXT("Source/Platforms") / Tools->GetName() / TEXT("Binaries");
}
void CookingData::GetBuildPlatformName(const Char*& platform, const Char*& architecture) const
{
switch (Platform)
{
case BuildPlatform::Windows32:
platform = TEXT("Windows");
architecture = TEXT("x86");
break;
case BuildPlatform::Windows64:
platform = TEXT("Windows");
architecture = TEXT("x64");
break;
case BuildPlatform::UWPx86:
platform = TEXT("UWP");
architecture = TEXT("x86");
break;
case BuildPlatform::UWPx64:
platform = TEXT("UWP");
architecture = TEXT("x64");
break;
case BuildPlatform::XboxOne:
platform = TEXT("XboxOne");
architecture = TEXT("x64");
break;
case BuildPlatform::LinuxX64:
platform = TEXT("Linux");
architecture = TEXT("x64");
break;
case BuildPlatform::PS4:
platform = TEXT("PS4");
architecture = TEXT("x64");
break;
case BuildPlatform::XboxScarlett:
platform = TEXT("XboxScarlett");
architecture = TEXT("x64");
break;
case BuildPlatform::AndroidARM64:
platform = TEXT("Android");
architecture = TEXT("ARM64");
break;
case BuildPlatform::Switch:
platform = TEXT("Switch");
architecture = TEXT("ARM64");
break;
case BuildPlatform::PS5:
platform = TEXT("PS5");
architecture = TEXT("x64");
break;
case BuildPlatform::MacOSx64:
platform = TEXT("Mac");
architecture = TEXT("x64");
break;
case BuildPlatform::MacOSARM64:
platform = TEXT("Mac");
architecture = TEXT("ARM64");
break;
case BuildPlatform::iOSARM64:
platform = TEXT("iOS");
architecture = TEXT("ARM64");
break;
default:
LOG(Fatal, "Unknown or unsupported build platform.");
}
}
void CookingData::StepProgress(const String& info, const float stepProgress) const
{
const float singleStepProgress = 1.0f / (StepsCount + 1);
@@ -242,7 +343,7 @@ void CookingData::AddRootEngineAsset(const String& internalPath)
}
}
void CookingData::Error(const String& msg)
void CookingData::Error(const StringView& msg)
{
LOG_STR(Error, msg);
}
@@ -340,6 +441,14 @@ PlatformTools* GameCooker::GetTools(BuildPlatform platform)
case BuildPlatform::MacOSx64:
result = New<MacPlatformTools>(ArchitectureType::x64);
break;
case BuildPlatform::MacOSARM64:
result = New<MacPlatformTools>(ArchitectureType::ARM64);
break;
#endif
#if PLATFORM_TOOLS_IOS
case BuildPlatform::iOSARM64:
result = New<iOSPlatformTools>();
break;
#endif
}
Tools.Add(platform, result);
@@ -470,7 +579,10 @@ void GameCooker::GetCurrentPlatform(PlatformType& platform, BuildPlatform& build
buildPlatform = BuildPlatform::PS5;
break;
case PlatformType::Mac:
buildPlatform = BuildPlatform::MacOSx64;
buildPlatform = PLATFORM_ARCH_ARM || PLATFORM_ARCH_ARM64 ? BuildPlatform::MacOSARM64 : BuildPlatform::MacOSx64;
break;
case PlatformType::iOS:
buildPlatform = BuildPlatform::iOSARM64;
break;
default: ;
}
@@ -511,9 +623,9 @@ void GameCookerImpl::OnCollectAssets(HashSet<Guid>& assets)
ASSERT(GameCookerImpl::Internal_OnCollectAssets);
}
MCore::AttachThread();
MCore::Thread::Attach();
MObject* exception = nullptr;
auto list = (MonoArray*)Internal_OnCollectAssets->Invoke(nullptr, nullptr, &exception);
auto list = (MArray*)Internal_OnCollectAssets->Invoke(nullptr, nullptr, &exception);
if (exception)
{
MException ex(exception);
@@ -547,13 +659,13 @@ bool GameCookerImpl::Build()
Steps.Add(New<PostProcessStep>());
}
MCore::AttachThread();
MCore::Thread::Attach();
// Build Started
CallEvent(GameCooker::EventType::BuildStarted);
data.Tools->OnBuildStarted(data);
for (int32 stepIndex = 0; stepIndex < Steps.Count(); stepIndex++)
Steps[stepIndex]->OnBuildStarted(data);
data.Tools->OnBuildStarted(data);
data.InitProgress(Steps.Count());
// Execute all steps in a sequence
@@ -602,7 +714,15 @@ bool GameCookerImpl::Build()
const String commandLine = commandLineFormat.HasChars() ? String::Format(*commandLineFormat, gameArgs) : gameArgs;
if (workingDir.IsEmpty())
workingDir = data.NativeCodeOutputPath;
Platform::StartProcess(executableFile, commandLine, workingDir);
CreateProcessSettings procSettings;
procSettings.FileName = executableFile;
procSettings.Arguments = commandLine;
procSettings.WorkingDirectory = workingDir;
procSettings.HiddenWindow = false;
procSettings.WaitForEnd = false;
procSettings.LogOutput = false;
procSettings.ShellExecute = true;
Platform::CreateProcess(procSettings);
}
else
{
@@ -612,9 +732,9 @@ bool GameCookerImpl::Build()
}
IsRunning = false;
CancelFlag = 0;
data.Tools->OnBuildEnded(data, failed);
for (int32 stepIndex = 0; stepIndex < Steps.Count(); stepIndex++)
Steps[stepIndex]->OnBuildEnded(data, failed);
data.Tools->OnBuildEnded(data, failed);
CallEvent(failed ? GameCooker::EventType::BuildFailed : GameCooker::EventType::BuildDone);
Delete(Data);
Data = nullptr;
@@ -667,7 +787,7 @@ void GameCookerService::Update()
}
MainThreadManagedInvokeAction::ParamsBuilder params;
params.AddParam(ProgressMsg, Scripting::GetScriptsDomain()->GetNative());
params.AddParam(ProgressMsg, Scripting::GetScriptsDomain());
params.AddParam(ProgressValue);
MainThreadManagedInvokeAction::Invoke(Internal_OnProgress, params);
GameCooker::OnProgress(ProgressMsg, ProgressValue);
+2
View File
@@ -103,7 +103,9 @@ namespace FlaxEditor
case BuildPlatform.AndroidARM64: return PlatformType.Android;
case BuildPlatform.XboxScarlett: return PlatformType.XboxScarlett;
case BuildPlatform.Switch: return PlatformType.Switch;
case BuildPlatform.MacOSARM64:
case BuildPlatform.MacOSx64: return PlatformType.Mac;
case BuildPlatform.iOSARM64: return PlatformType.iOS;
default: throw new ArgumentOutOfRangeException(nameof(buildPlatform), buildPlatform, null);
}
}
@@ -9,6 +9,7 @@
#include "Editor/Utilities/EditorUtilities.h"
#include "Engine/Platform/File.h"
#include "Engine/Platform/FileSystem.h"
#include "Engine/Platform/CreateProcessSettings.h"
#include "Engine/Platform/Android/AndroidPlatformSettings.h"
#include "Engine/Graphics/PixelFormatExtensions.h"
#include "Engine/Graphics/Textures/TextureData.h"
@@ -115,8 +116,6 @@ void AndroidPlatformTools::OnBuildStarted(CookingData& data)
data.DataOutputPath /= TEXT("app/assets");
data.NativeCodeOutputPath /= TEXT("app/assets");
data.ManagedCodeOutputPath /= TEXT("app/assets");
PlatformTools::OnBuildStarted(data);
}
bool AndroidPlatformTools::OnPostProcess(CookingData& data)
@@ -140,33 +139,8 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data)
// Setup package name (eg. com.company.project)
String packageName = platformSettings->PackageName;
{
String productName = gameSettings->ProductName;
productName.Replace(TEXT(" "), TEXT(""));
productName.Replace(TEXT("."), TEXT(""));
productName.Replace(TEXT("-"), TEXT(""));
String companyName = gameSettings->CompanyName;
companyName.Replace(TEXT(" "), TEXT(""));
companyName.Replace(TEXT("."), TEXT(""));
companyName.Replace(TEXT("-"), TEXT(""));
packageName.Replace(TEXT("${PROJECT_NAME}"), *productName, StringSearchCase::IgnoreCase);
packageName.Replace(TEXT("${COMPANY_NAME}"), *companyName, StringSearchCase::IgnoreCase);
packageName = packageName.ToLower();
for (int32 i = 0; i < packageName.Length(); i++)
{
const auto c = packageName[i];
if (c != '_' && c != '.' && !StringUtils::IsAlnum(c))
{
LOG(Error, "Android Package Name \'{0}\' contains invalid character. Only letters, numbers, dots and underscore characters are allowed.", packageName);
return true;
}
}
if (packageName.IsEmpty())
{
LOG(Error, "Android Package Name is empty.", packageName);
return true;
}
}
if (EditorUtilities::FormatAppPackageName(packageName))
return true;
// Setup Android application permissions
HashSet<String> permissionsList;
@@ -267,7 +241,7 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data)
}
}
// Generate Mono files hash id used to skip deploying Mono files if already extracted on device (Mono cannot access files packed into .apk via unix file access)
// Generate Dotnet files hash id used to skip deploying Dotnet files if already extracted on device (Dotnet cannot access files packed into .apk via unix file access)
File::WriteAllText(assetsPath / TEXT("hash.txt"), Guid::New().ToString(), Encoding::ANSI);
// TODO: expose event to inject custom gradle and manifest options or custom binaries into app
@@ -306,15 +280,25 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data)
const Char* gradlew = TEXT("gradlew");
#endif
#if PLATFORM_LINUX
Platform::RunProcess(String::Format(TEXT("chmod +x \"{0}/gradlew\""), data.OriginalOutputPath), data.OriginalOutputPath, Dictionary<String, String>(), true);
{
CreateProcessSettings procSettings;
procSettings.FileName = String::Format(TEXT("chmod +x \"{0}/gradlew\""), data.OriginalOutputPath);
procSettings.WorkingDirectory = data.OriginalOutputPath;
procSettings.HiddenWindow = true;
Platform::CreateProcess(procSettings);
}
#endif
const bool distributionPackage = buildSettings->ForDistribution;
const String gradleCommand = String::Format(TEXT("\"{0}\" {1}"), data.OriginalOutputPath / gradlew, distributionPackage ? TEXT("assemble") : TEXT("assembleDebug"));
const int32 result = Platform::RunProcess(gradleCommand, data.OriginalOutputPath, Dictionary<String, String>(), true);
if (result != 0)
{
data.Error(TEXT("Failed to build Gradle project into package (result code: {0}). See log for more info."), result);
return true;
CreateProcessSettings procSettings;
procSettings.FileName = String::Format(TEXT("\"{0}\" {1}"), data.OriginalOutputPath / gradlew, distributionPackage ? TEXT("assemble") : TEXT("assembleDebug"));
procSettings.WorkingDirectory = data.OriginalOutputPath;
const int32 result = Platform::CreateProcess(procSettings);
if (result != 0)
{
data.Error(String::Format(TEXT("Failed to build Gradle project into package (result code: {0}). See log for more info."), result));
return true;
}
}
// Copy result package

Some files were not shown because too many files have changed in this diff Show More