Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross-platform editor rewrite - prototype #2034

Draft
wants to merge 256 commits into
base: xplat-editor
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
256 commits
Select commit Hold shift + click to select a range
0f6f4ee
Update dependencies (#2046)
Kryptos-FR Jan 11, 2024
45e5fca
[Build] Fix VSPackage build (#2102)
Kryptos-FR Jan 11, 2024
be7126f
[Build] Require VC++ 2019 redist minimum (#2100)
Kryptos-FR Jan 11, 2024
fc2fe12
[Samples] Fix ResourceFolders reference in package file (#2109)
Kryptos-FR Jan 17, 2024
a93b3b0
Make Stride.Core.Presentation cross-platform (#2082)
Kryptos-FR Jan 17, 2024
ddc7423
Enable to run Stride.Core.Tasks program on any desktop OS (#2042)
Jklawreszuk Jan 19, 2024
9ce2451
Remove binary DataMemberMode (#2094)
IXLLEGACYIXL Jan 20, 2024
6e8e532
Implement "Enable Metrics" setting (#1816)
NicusorN5 Jan 20, 2024
b3f6b96
[Upgrader] Skip specific package prefixed with Stride from auto-upgra…
Doprez Jan 21, 2024
80693e7
[Serialization] More useful throw when missing parameterless ctor (#2…
Eideren Jan 22, 2024
d72aef5
[OpenXR] Fixes crashes when no device is present (#2121)
azeno Jan 26, 2024
022296f
[Window] Added option to add a parent reference for SDL window (#2111)
Doprez Jan 26, 2024
0cf6078
[OpenXR] Fixes build on graphics APIs other than D3D11
azeno Jan 28, 2024
5bf5eee
Update samples to Stride 4.2 (#2132)
Kryptos-FR Jan 28, 2024
ec74cd9
[Tests] Fixes random test failures (#2133)
azeno Jan 29, 2024
26c3696
Repair projectwatcher (#2106)
IXLLEGACYIXL Feb 1, 2024
5513952
[OpenVR] Adds a minimal API to request and control Passthrough (suppo…
azeno Feb 5, 2024
ea94936
[OpenXR] Makes device construction internal and improves exception me…
azeno Feb 7, 2024
a84a474
[Launcher] Update Avalonia to 11.0.8
Kryptos-FR Feb 8, 2024
6d820ef
docs: update README.md [skip ci]
allcontributors[bot] Feb 8, 2024
afaa487
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Feb 8, 2024
9ad0610
docs: update README.md [skip ci]
allcontributors[bot] Feb 8, 2024
1a6518c
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Feb 8, 2024
3e6b091
docs: update README.md [skip ci]
allcontributors[bot] Feb 8, 2024
79d2805
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Feb 8, 2024
16a5bd2
docs: update README.md [skip ci]
allcontributors[bot] Feb 8, 2024
8eb8e01
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Feb 8, 2024
9e76ee1
docs: update README.md [skip ci]
allcontributors[bot] Feb 8, 2024
1c6af24
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Feb 8, 2024
1863184
docs: update README.md [skip ci]
allcontributors[bot] Feb 8, 2024
0ec8a19
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] Feb 8, 2024
a859796
[Launcher] Update Avalonia to 11.0.9
Kryptos-FR Feb 9, 2024
d1bd63a
Merge branch 'master' of https://github.com/stride3d/stride into remo…
Aggror Feb 10, 2024
f650051
Merge pull request #2036 from Aggror/remove-docs-folder
Aggror Feb 11, 2024
2a8b04c
[Assets] Prevent crash of the assets compiler when an assembly cannot…
Kryptos-FR Feb 23, 2024
733d2d2
Merge pull request #2141 from vvvv/openxr-passthrough
manio143 Feb 26, 2024
a9c53b5
[Build] Remove stylecop (#2105)
IXLLEGACYIXL Feb 28, 2024
b756813
[Presentation] Rework AssetViewModelAttribute
Kryptos-FR Jan 22, 2024
ca51580
[Editor] Cleanup
Kryptos-FR Jan 22, 2024
48901e8
[Assets] Mark Editor as obsolete on AssetViewModel
Kryptos-FR Feb 10, 2024
52a52c5
[Editor] Make Asset property public on all editors
Kryptos-FR Feb 10, 2024
3a58bf1
[Editor] Make IAssetEditorsManager a service
Kryptos-FR Jan 24, 2024
700e540
[Editor] Keep track of asset/editor association in AssetEditorsManager
Kryptos-FR Jan 25, 2024
e5fd0d5
[Editor] Add a method to find an opened editor
Kryptos-FR Feb 2, 2024
45233cd
[Editor] Change binding logic in editor views
Kryptos-FR Jan 25, 2024
2c7e676
[Editor] Update sprite editor bindings
Kryptos-FR Feb 10, 2024
bbb9331
[Editor] Update UI editor bindings
Kryptos-FR Jan 25, 2024
2f50594
[Editor] Update entity hierarchy editor bindings
Kryptos-FR Feb 2, 2024
ae42500
[Editor] Update script editor bindings
Kryptos-FR Feb 29, 2024
edb1247
[Editor] Update graphics compositor editor bindings
Kryptos-FR Feb 29, 2024
a72ce9f
[Editor] Removed pointless constraint on column width
Kryptos-FR Feb 10, 2024
0dbb007
[Editor] Remove editor-related properties from AssetViewModel
Kryptos-FR Feb 27, 2024
b0c25e7
[Editor] Rework AssetEditorViewModelAttribute
Kryptos-FR Feb 27, 2024
076f32f
[Editor] Make AssetEditorViewModel.Asset property virtual
Kryptos-FR Feb 29, 2024
c98c72e
[Editor] Rework plugins initialization
Kryptos-FR Feb 29, 2024
9cc2e6b
[Editor] Rework AssetPreviewViewModelAttribute & AssetPreviewAttribute
Kryptos-FR Feb 29, 2024
43364b8
[Editor] Fix initialization of SpriteSheetEditorViewModel returning f…
Kryptos-FR Mar 2, 2024
b389a6f
[Editor] Make Stride.Core.Presentation.Quantum cross-platform
Kryptos-FR Mar 1, 2024
685eae8
[Editor] Make Stride.Core.Assets.Quantum cross-platform
Kryptos-FR Mar 1, 2024
e558a3e
[Editor] Do not load StrideDefaultAssetsPlugin from module.
Kryptos-FR Mar 2, 2024
e8ddbd5
feat: Release.yml added for PR categorisation (#2137)
VaclavElias Mar 3, 2024
96683d2
[Editor] Fix scene editor loading screen
Kryptos-FR Mar 3, 2024
f9f1af7
Merge pull request #2167 from Color-Rise/feature/xplat/assets-editor
Kryptos-FR Mar 4, 2024
8689798
[VR] feat: Add haptic support to OpenVR and Oculus runtimes (#2169)
ComputerSmoke Mar 5, 2024
0152a6f
[Audio] Audio emitter multiple references to same asset bugfix (#2176)
ComputerSmoke Mar 6, 2024
d455c82
Use correct destination path in asset import overwrite dialog
timconner Mar 10, 2024
ec3a6e8
Use GetFullPath to correct directory seperator for display
timconner Mar 10, 2024
7c10993
fix: File GraphicsResourceMap.cs without references removed (#2181)
VaclavElias Mar 12, 2024
5c847ee
feat: Update samples/template to top-level statements (#2187)
Jklawreszuk Mar 15, 2024
e641b57
Update README.md (prerequisites)
xen2 Mar 17, 2024
10ace2e
Update README.md (VSIX prerequisites)
xen2 Mar 17, 2024
feea912
[VSPackage] Revert a few package upgrades so that VSIX builds properly
xen2 Mar 17, 2024
4a263c4
[Presentation] Fix issue with binding quantum nodes when associated n…
Kryptos-FR Mar 23, 2024
0e053a3
fix: [Asset] Unified 3D asset importer (on behalf of Noa7/Noah7071) (…
Eideren Apr 4, 2024
dc9ceb4
fix: Xml Comments - Update 4 (#2170)
VaclavElias Apr 10, 2024
f21ae82
Update Stride.Core.targets (#2220)
MeharDT Apr 21, 2024
d7a47a2
#2214 Vulkan uses gl_InstanceIndex and gl_VertexIndex instead of gl_I…
johang88 Apr 21, 2024
82888c2
fix: Update README.md (#2188)
Jklawreszuk Apr 21, 2024
3a9ed13
fix: Add possibility to add ScriptComponent before running game (#2230)
Jklawreszuk Apr 21, 2024
3540261
remove unused class (#2128)
IXLLEGACYIXL Apr 21, 2024
f101389
PublishSingleFile Launch Crash (#2225)
MeharDT Apr 23, 2024
314ee07
feat: Enable to build native libs on Linux (#2112)
Jklawreszuk Apr 23, 2024
cd8e17f
fix: Continuation of PR #2112 (Enable to build native libs on Linux)
Jklawreszuk Apr 23, 2024
7726ca8
[Launcher] Update Avalonia to 11.0.10
Kryptos-FR May 11, 2024
62019e2
Merge branch 'feature/xplat/launcher' into feature/xplat/editor
Kryptos-FR May 11, 2024
a3b7262
Merge branch 'master' into feature/xplat/editor
Kryptos-FR May 11, 2024
ad8496f
Revert "fix: Add possibility to add ScriptComponent before running ga…
Eideren May 14, 2024
c4336f2
fix opentk link (#2248)
Doprez May 18, 2024
f2a97be
[Graphics] Fix shadow map shader implicit truncation of vector type w…
Basewq May 18, 2024
a1d1784
Use OperatingSystem.IsXyz instead of Runtime.IsOSPlatform (#2247)
Jklawreszuk May 18, 2024
b3e3c74
fix: Regression of new FBX importer on behalf of Noah (#2246)
Doprez May 18, 2024
e728af2
fix: Update Texture reload to prevent crash due to wrong type. (#2251)
Doprez May 18, 2024
55bd952
GitHub docs improvements (#2254)
VaclavElias May 19, 2024
761107a
README.md updates (#2264)
VaclavElias May 22, 2024
aa4811e
fix: Adjust ToolLocator for all platforms (#2142) (#2250)
Jklawreszuk May 22, 2024
f27f534
Revert "Add ToOSPath() for msdfgen executable" to fix compilation err…
NicusorN5 May 22, 2024
f33bcde
feat: Enable to build engine and modeling related project on any plat…
Jklawreszuk May 22, 2024
da1d50c
[Physics] Adding margins to convex hull colliders (Issue1577) (#2257)
dloe May 22, 2024
081bafb
[Assets] Reworded asset loading exception message (#2256)
Doprez May 22, 2024
449ca3e
Add Reload test to TestContentManager (#2272)
wrshield May 25, 2024
b6ccdfe
[Tests] Added new Test Case for ContentManager (#2273)
dloe May 25, 2024
f78587d
Fix: VS component check should only be performed for Win OS (#2270)
Jklawreszuk May 25, 2024
a45bc49
[Build] Rollback OperatingSystem.IsXYZ for net472 project (#2277)
Eideren May 25, 2024
229e30e
fix: Use CompilerApp crossplatform binary instead of exe (#2279)
Jklawreszuk May 25, 2024
1fc0d51
docs: [Docs] Simplify PR template (#2276)
Eideren May 25, 2024
c2c25f2
created a basic class to test points (#2280)
soorMSWE May 26, 2024
59ec859
fix: Get correct PackageCompiler.SdkDirectory for all platforms (#2271)
Jklawreszuk May 26, 2024
ef025e2
feat: New areas added (#2285)
VaclavElias May 26, 2024
5813b9b
Added IsPressed, IsDown, & IsReleased for virtual buttons to Inputman…
MechWarrior99 May 26, 2024
d3dc846
added simple descriptions to null exceptions (#2286)
Doprez May 26, 2024
5d5f91d
feat: Add linux VHACD shared library (#2293)
Jklawreszuk May 28, 2024
ba1f0d4
fix: Adjust coping exe to nuget package lib folder (#2290)
Jklawreszuk May 28, 2024
2b97ac9
tests: Disable TestBlockingWindow, our Teamcity agent does not suppor…
Eideren May 29, 2024
4e6a456
feat: ModelComponent bounds gizmos (#2294)
kristian15959 May 29, 2024
3f0c3ce
fix: Repair Projectwatcher on Projects referencing each other (#2288)
IXLLEGACYIXL May 29, 2024
817da70
[Graphics] Fix light component API (#2215)
Eideren May 29, 2024
f449a87
Nullable and Modernization for Stride.Core.Serialization (#2266)
IXLLEGACYIXL May 29, 2024
190da51
feat: [SystemFontProvider] - Implement GetFontPath for Linux (#2295)
Jklawreszuk May 29, 2024
4cf0d08
feat: Roslyn Diagnostics Analyzer for empty constructor (#2104)
IXLLEGACYIXL May 30, 2024
9a643ce
fix: use tryadd instead of containskey guard clause (#2299)
IXLLEGACYIXL May 30, 2024
419b964
test: Fix inconsistent FileVersion test (#2297)
Eideren May 31, 2024
e1b9c47
Fix for Issue #1021 - PhysicsProcessor ParentScene may be initialized…
wrshield May 31, 2024
0001a17
Merge branch 'master' into feature/xplat/editor
Kryptos-FR May 31, 2024
6913e70
[Editor] Create projects from Avalonia template
Kryptos-FR Oct 8, 2023
f048ccc
Add TODO document
Kryptos-FR Oct 10, 2023
faa6ba7
[Editor] Add basic UI
Kryptos-FR Oct 8, 2023
7fded32
[Editor] Add placeholders
Kryptos-FR Oct 9, 2023
ce7daad
[Editor] Basic grid layout
Kryptos-FR Oct 12, 2023
2cad5c0
[Editor] Initialize service provider and basic services
Kryptos-FR May 12, 2024
9032925
[Editor] Add Stride.Core.Assets.Editor.Avalonia project
Kryptos-FR May 12, 2024
1f0d2e4
[Editor] Load a session
Kryptos-FR May 12, 2024
3482034
[Presentation] Add Stride.Core.Assets.Presentation project
Kryptos-FR May 12, 2024
ec4d776
[Presentation] Add a bunch of view models
Kryptos-FR May 12, 2024
7ac150c
[Editor] Display the first level of the solution in the solution expl…
Kryptos-FR Oct 14, 2023
0b2c7f2
[Presentation] More package or project related view models
Kryptos-FR Oct 20, 2023
68e8a6c
[Editor] Implement data templates for the solution exlorer items
Kryptos-FR Oct 14, 2023
759f7c4
[Editor] Attempt to load assets
Kryptos-FR Oct 19, 2023
d3e8fbe
[Editor] Rename projects that have WPF dependencies
Kryptos-FR May 12, 2024
46868ff
[Editor] Move files from renamed projects
Kryptos-FR May 12, 2024
27ec0ab
[Editor] Fixup references
Kryptos-FR May 12, 2024
71b3a7d
[Build] Update Microsoft.CodeAnalysis version to 3.8.0
Kryptos-FR May 31, 2024
3fdb140
[Presentation] Add Stride.Assets.Presentation project
Kryptos-FR Oct 15, 2023
5ddd756
[Build] Can't use Avalonia.Diagnostics until RoslynPad is updated
Kryptos-FR May 31, 2024
0e08dfd
fix: fullscreen and game exit windowing crashes (#2274)
Doprez Jun 1, 2024
988cb09
Fix: Fixed a NullReferenceException if printing null text (#2311)
NicusorN5 Jun 6, 2024
b67eab4
Rollback one of the TryAdd introduced through #2299, VS Package is st…
Eideren Jun 7, 2024
c1b36e1
Fix UI overridden margin in derived controls being reset (#2310)
Basewq Jun 7, 2024
8b07e0b
fix: strdiag001 on file scoped classes (#2309)
IXLLEGACYIXL Jun 7, 2024
414faef
Fixes assembly load failure when building Stride based project on cle…
azeno Jun 8, 2024
086d952
Revert "Fixes assembly load failure when building Stride based projec…
Eideren Jun 8, 2024
47375e3
[Android] Fix and reimplement user input in EditText control (#2302)
Basewq Jun 8, 2024
ab954ea
Make FastList Obsolete (#2332)
Doprez Jun 17, 2024
a19caf6
Fix a couple of .NET 6 reference we missed (#2330)
Doprez Jun 18, 2024
45dcf49
Fixes assembly load failure when building Stride based project on cle…
azeno Jun 18, 2024
e678fd2
[Graphics] Remove signed blend indices due to dropping OpenGL ES 2 su…
Basewq Jun 18, 2024
5558558
[GameStudio] Prevents a null IMemberNode to update (#2307)
YerkoAndrei Jun 18, 2024
15d7dc3
feat: Adjust freeimage to all platforms (#2303)
Jklawreszuk Jun 18, 2024
c024035
fix: AssImp orientation, imported material color fallback, and set de…
Doprez Jun 18, 2024
f1bbc4e
[Editor] Disable ModelComponent Gizmos by default (#2321)
Eideren Jun 18, 2024
f23ce73
feat: Adjust DirectTex for all platforms (#2314)
Jklawreszuk Jun 18, 2024
a6c42cb
feat: FlexibleProcessing as alternative to EntityComponentProcessor f…
Eideren Jun 19, 2024
2556707
Revert "feat: Adjust DirectTex for all platforms (#2314)" (#2337)
Eideren Jun 19, 2024
10babd2
feat: Adjust DirectTex to all platforms 2 (#2338)
Jklawreszuk Jun 20, 2024
dbb125e
[Editor] Fix displaying & editing project User Settings (#2350)
Basewq Jun 24, 2024
9c15228
fix: Update Stride.Core.Assets.CompilerApp.targets file (#2360)
Jklawreszuk Jun 27, 2024
d5cc14d
fix: Enable to run broken TextureConverter Tests (#2343)
Jklawreszuk Jun 27, 2024
60d53fa
Update guillotine packer documentation link (#2339)
tymokvo Jun 27, 2024
53f4c1c
Fix Compile Warning in OpenXR (#2357)
Arc-huangjingtong Jun 27, 2024
904371f
[Core] Fix getting application executable path when using PublishSing…
Basewq Jun 27, 2024
87608ec
fix importing effects to the existing EffectCompileLog (#2362)
Basewq Jun 30, 2024
90ebbe5
[Font] Update SharpFont library for additional fixes (#2318)
Basewq Jul 1, 2024
6c467df
Update : geometric primitive.cylinder to avoid GC (#2369)
Arc-huangjingtong Jul 6, 2024
b5213c2
Update : GeometricPrimitive.Torus.cs (#2368)
Arc-huangjingtong Jul 6, 2024
93e8d3d
fix: [DirectoryWatcher] - Folders are case sensitive on Linux (#2363)
Jklawreszuk Jul 6, 2024
e41fb06
Update launcher brand icons (#2345)
minktusk Jul 6, 2024
6993d9c
feat: Modernize PVRTexLib dependency (#2342)
Jklawreszuk Jul 6, 2024
c5bc5a2
Fixed a bug with pooling ChannelMicroThreadAwaiter. (#2373)
timcassell Jul 6, 2024
d49ca78
fix: Replace ToWindowsPath with ToOSPath (#2371)
Jklawreszuk Jul 6, 2024
3797e5d
Fixes depth calculation for MipMap views of 3D textures (#2375)
tebjan Jul 8, 2024
9d5600f
fix: Build folder cleanup (#2383)
Jklawreszuk Jul 13, 2024
bc6965c
[Font] Fix glyph bitmap alignment from SDF fonts, dump generated SDF …
Basewq Jul 13, 2024
b40ad46
feat: Hide default font name for SystemFontProvider (#2385)
Jklawreszuk Jul 15, 2024
fd54194
fix: Typo in VRSandboxApp (#2396)
Jklawreszuk Jul 21, 2024
237e860
feat: Save Asset View Options Settings (#147) (#2320)
dloe Jul 21, 2024
9240d87
fix: Bump samples version (#2398)
Kryptos-FR Jul 24, 2024
8dd9a99
feat: Expose and cleanup editor gizmos (#2127)
Eideren Jul 26, 2024
8e4e0cd
fix: Remove unused data (#2389)
Jklawreszuk Aug 11, 2024
05901e0
fix: Change the error to a warning when searching for font path (#2403)
Jklawreszuk Aug 11, 2024
32679aa
Fix shader bool generics to appear in the editor (#2405)
Basewq Aug 11, 2024
dad92aa
fix: Add back Windows specific CompilerApp to fix libraries with WPF …
Basewq Aug 17, 2024
4928115
Merge branch 'master' into feature/xplat/avalonia-studio
Kryptos-FR Aug 24, 2024
e3e1ff0
[Build] Add filtered solution
Kryptos-FR Aug 24, 2024
43cb071
[Presentation] Add asset viewmodels
Kryptos-FR Oct 15, 2023
64b6bf6
[Editor] Basic plugin infrastructure
Kryptos-FR Oct 15, 2023
cb26314
[Editor] Register default plugins and services
Kryptos-FR Oct 20, 2023
bbb4ec1
[Editor] Display assets from selected location in asset explorer
Kryptos-FR Oct 16, 2023
03f35d3
[Editor] Add a README for each project
Kryptos-FR Oct 18, 2023
83b6095
[Editor] Move Stride.Core.Assets.Editor
Kryptos-FR Oct 18, 2023
68af210
[Presentation] Make sure exceptions in AnonymousCommand are not silen…
Kryptos-FR Oct 18, 2023
e83f979
[Editor] Add base classes for asset editors
Kryptos-FR Oct 18, 2023
a1e92d7
[Editor] Add Stride.Assets.Editor project
Kryptos-FR Oct 20, 2023
16fdaa0
[Editor] Add asset editor view models
Kryptos-FR Oct 20, 2023
4b09ea4
[Presentation] Initialize the property graph when creating asset view…
Kryptos-FR Oct 21, 2023
023a2d0
[Editor] Add Stride.Assets.Editor.Avalonia project
Kryptos-FR Oct 21, 2023
854c565
[Editor] Add asset editor views
Kryptos-FR Oct 22, 2023
1f139e4
[Plugin] Register asset editors and views
Kryptos-FR Oct 22, 2023
45824c9
[Editor] Open asset editor by double-click
Kryptos-FR Oct 22, 2023
cdf19fd
[Plugin] Register plugins through the module initializers
Kryptos-FR Oct 22, 2023
a0ab185
[Presentation] Copy from existing libraries
Kryptos-FR Oct 22, 2023
88b37fd
[Presentation] Entity name binding
Kryptos-FR Oct 22, 2023
d04a874
[Presentation] Register UndoRedoService
Kryptos-FR Oct 22, 2023
89e7d34
[Editor] Handle selection in EntityHierarchyEditor
Kryptos-FR Oct 23, 2023
a1043f0
[Editor] Display asset and entity properties in the property grid
Kryptos-FR Oct 23, 2023
55d3d87
[Editor] Add Stride.Editor project
Kryptos-FR Oct 26, 2023
94232e5
[Editor] Add Stride.Editor.Avalonia project
Kryptos-FR Oct 27, 2023
56e800a
[Editor] Thumbnails
Kryptos-FR Oct 28, 2023
b100a91
[Plugin] Initialize session and register preview types
Kryptos-FR Oct 29, 2023
58fd6ac
[Editor] Previews
Kryptos-FR Oct 29, 2023
8310a87
[Editor] Debug service and window
Kryptos-FR Oct 30, 2023
b8eb96c
[Presentation] Add package categories
Kryptos-FR Nov 1, 2023
9c231a6
[GameStudio] Crash report
Kryptos-FR Nov 1, 2023
61fd6a7
[GameStudio] Update About content
Kryptos-FR Nov 1, 2023
4fa5c1b
[Editor] Only use ISessionViewModel interface where the concrete impl…
Kryptos-FR Nov 5, 2023
a65f33e
[Editor] Add CopyPasteService
Kryptos-FR Nov 6, 2023
c6a7686
[Editor] Add node presenters
Kryptos-FR Nov 5, 2023
82847ae
[Editor] Progress window
Kryptos-FR Nov 8, 2023
50dab59
[GameStudio] Cleanly restart when closing the session and/or opening …
Kryptos-FR Nov 9, 2023
2eeb199
[Editor] Add SelectionService
Kryptos-FR Nov 11, 2023
0ba74cb
[Editor] Support selection service in a scene or prefab editor
Kryptos-FR Nov 11, 2023
854d292
[Editor] Asset logs
Kryptos-FR Nov 12, 2023
c45672c
[Editor] Status bar
Kryptos-FR Nov 12, 2023
37fc289
[Presentation] Use a struct to group AssetViewModel constructor args
Kryptos-FR Nov 13, 2023
0befe40
[Editor] Add asset source tracking
Kryptos-FR Nov 13, 2023
55965a9
[Editor] Initialize GameStudioPreviewService
Kryptos-FR Nov 14, 2023
205ee76
[Editor] Add documentation about asset attributes
Kryptos-FR Nov 14, 2023
b9d07d2
[Editor] Add documentation about services
Kryptos-FR Nov 17, 2023
b77ef97
[Build] Add build tasks for Avalonia
Kryptos-FR Nov 19, 2023
c7519cd
feat: No Physics Shapes On The CharacterComponent Causes Unhandled Ex…
dloe Aug 28, 2024
c424213
Fix sample projects, remove unused properties (#2205)
Jklawreszuk Aug 28, 2024
32e341c
fix: PhysicsComponent created with GetOrCreate<T> is unusable (#2422)
dloe Aug 30, 2024
1cc9c24
fix: Xml comments fix 5 (#2419)
VaclavElias Sep 1, 2024
ba36a7e
docs: Enhance Entity class comment with detailed description. (#2423)
VaclavElias Sep 1, 2024
4ebbf54
[NuGet] Fix setting platform version on the target framework moniker …
Basewq Sep 6, 2024
0cfc464
fix: [TextureConverter] Restore LoadWICFile for Windows due to incomp…
Basewq Sep 8, 2024
2277c33
bug: Unable to Change CharacterComponent's collider shape properties …
dloe Sep 9, 2024
26954a5
docs: Added xml comment, and placed the namespace to correct position…
VaclavElias Sep 12, 2024
c21272c
[Importer] Fix extracting embedded texture files for materials, eg. f…
Basewq Sep 12, 2024
37bbf0c
[Importer] Fix Assimp skeleton/animation importer to link to the corr…
Basewq Sep 15, 2024
beb2972
[Build] Switch to new .NET Foundation code signing tool
xen2 Sep 18, 2024
aeec587
Merge branch 'master' into xplat-editor
Kryptos-FR Sep 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat: Adjust DirectTex to all platforms 2 (#2338)
Jklawreszuk authored Jun 20, 2024
commit 10babd2291c5dccb5ff16eae5b7e7cfc16b005df
3 changes: 3 additions & 0 deletions deps/TextureWrappers/Release/linux-x64/DxtWrapper.so
Git LFS file not shown
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
project(DxtWrapper)
cmake_minimum_required(VERSION 3.10)
file(GLOB SRCS *.cpp *.h)

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ../../../../../deps/TextureWrappers/Release/linux-x64)

find_package(directxtex CONFIG REQUIRED)

add_library(${PROJECT_NAME} SHARED ${SRCS} )
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")

target_link_libraries(${PROJECT_NAME} PRIVATE Microsoft::DirectXTex)
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Make sure to install package required packages : vcpkg install directxtex

param (
[string]$vcpkg_dir
)

if(!$vcpkg_dir)
{
Write-Error "Please provide vpckg directory path"
return;
}

cmake -B "build" -S . -DCMAKE_TOOLCHAIN_FILE="$vcpkg_dir/scripts/buildsystems/vcpkg.cmake";
cd build;
make;
cd ..;
Original file line number Diff line number Diff line change
@@ -1,34 +1,46 @@
// Copyright (c) .NET Foundation and Contributors (https://dotnetfoundation.org/ & https://stride3d.net) and Silicon Studio Corp. (https://www.siliconstudio.co.jp)
// Distributed under the MIT license. See the LICENSE.md file in the project root for more information.
#include "dxt_wrapper.h"
#include <string>

// Utilities functions
void dxtComputePitch( DXGI_FORMAT fmt, int width, int height, int& rowPitch, int& slicePitch, int flags = DirectX::CP_FLAGS_NONE )
void dxtComputePitch( DXGI_FORMAT fmt, int width, int height, int& rowPitch, int& slicePitch, DirectX::CP_FLAGS flags = DirectX::CP_FLAGS_NONE )
{
size_t rowPitchT, slicePitchT;
DirectX::ComputePitch(fmt, width, height, rowPitchT, slicePitchT, flags);
rowPitch = rowPitchT;
slicePitch = slicePitchT;
}

// For handling different encodings
const wchar_t* narrowToWideString(const char* szFile)
{
std::string nstr(szFile);
std::wstring wstr = std::wstring(nstr.begin(), nstr.end());
wchar_t* filePath = new wchar_t[wstr.size() + 1];
std::copy(wstr.begin(), wstr.end(), filePath);
filePath[wstr.size()] = L'\0'; // Null-terminate the wide string
return filePath;
}

bool dxtIsCompressed(DXGI_FORMAT fmt) { return DirectX::IsCompressed(fmt); }

HRESULT dxtConvert( const DirectX::Image& srcImage, DXGI_FORMAT format, int filter, float threshold, DirectX::ScratchImage& cImage )
HRESULT dxtConvert( const DirectX::Image& srcImage, DXGI_FORMAT format, DirectX::TEX_FILTER_FLAGS filter, float threshold, DirectX::ScratchImage& cImage )
{
return DirectX::Convert(srcImage, format, filter, threshold, cImage);
}

HRESULT dxtConvertArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, int filter, float threshold, DirectX::ScratchImage& cImage )
HRESULT dxtConvertArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::TEX_FILTER_FLAGS filter, float threshold, DirectX::ScratchImage& cImage )
{
return DirectX::Convert(srcImages, nimages, metadata, format, filter, threshold, cImage);
}

HRESULT dxtCompress( const DirectX::Image& srcImage, DXGI_FORMAT format, int compress, float alphaRef, DirectX::ScratchImage& cImage )
HRESULT dxtCompress( const DirectX::Image& srcImage, DXGI_FORMAT format, DirectX::TEX_COMPRESS_FLAGS compress, float alphaRef, DirectX::ScratchImage& cImage )
{
return DirectX::Compress(srcImage, format, compress, alphaRef, cImage);
}

HRESULT dxtCompressArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, int compress, float alphaRef, DirectX::ScratchImage& cImages )
HRESULT dxtCompressArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::TEX_COMPRESS_FLAGS compress, float alphaRef, DirectX::ScratchImage& cImages )
{
return DirectX::Compress(srcImages, nimages, metadata, format, compress, alphaRef, cImages);
}
@@ -43,66 +55,74 @@ HRESULT dxtDecompressArray( const DirectX::Image* cImages, int nimages, const Di
return DirectX::Decompress(cImages, nimages, metadata, format, images);
}

HRESULT dxtGenerateMipMaps( const DirectX::Image& baseImage, int filter, int levels, DirectX::ScratchImage& mipChain, bool allow1D = false)
HRESULT dxtGenerateMipMaps( const DirectX::Image& baseImage, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain, bool allow1D = false)
{
return DirectX::GenerateMipMaps(baseImage, filter, levels, mipChain, allow1D);
}

HRESULT dxtGenerateMipMapsArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int filter, int levels, DirectX::ScratchImage& mipChain )
HRESULT dxtGenerateMipMapsArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain )
{
return DirectX::GenerateMipMaps(srcImages, nimages, metadata, filter, levels, mipChain);
}

HRESULT dxtGenerateMipMaps3D( const DirectX::Image* baseImages, int depth, int filter, int levels, DirectX::ScratchImage& mipChain )
HRESULT dxtGenerateMipMaps3D( const DirectX::Image* baseImages, int depth, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain )
{
return DirectX::GenerateMipMaps3D(baseImages, depth, filter, levels, mipChain);
}

HRESULT dxtGenerateMipMaps3DArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int filter, int levels, DirectX::ScratchImage& mipChain )
HRESULT dxtGenerateMipMaps3DArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain )
{
return DirectX::GenerateMipMaps3D(srcImages, nimages, metadata, filter, levels, mipChain);
}

HRESULT dxtResize(const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int width, int height, int filter, DirectX::ScratchImage& result )
HRESULT dxtResize( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int width, int height, DirectX::TEX_FILTER_FLAGS filter, DirectX::ScratchImage& result )
{
return DirectX::Resize(srcImages, nimages, metadata, width, height, filter, result);
}

HRESULT dxtComputeNormalMap( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int flags, float amplitude, DXGI_FORMAT format, DirectX::ScratchImage& normalMaps )
HRESULT dxtComputeNormalMap( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::CNMAP_FLAGS flags, float amplitude, DXGI_FORMAT format, DirectX::ScratchImage& normalMaps )
{
return DirectX::ComputeNormalMap(srcImages, nimages, metadata, flags, amplitude, format, normalMaps);
}

HRESULT dxtPremultiplyAlpha( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int flags, DirectX::ScratchImage& result )
HRESULT dxtPremultiplyAlpha( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_PMALPHA_FLAGS flags, DirectX::ScratchImage& result )
{
return DirectX::PremultiplyAlpha(srcImages, nimages, metadata, flags, result);
}


// I/O functions
HRESULT dxtLoadDDSFile(LPCWSTR szFile, int flags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image)
HRESULT dxtLoadDDSFile( const char* szFile, DirectX::DDS_FLAGS flags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image)
{
return DirectX::LoadFromDDSFile(szFile, flags, metadata, image);
const wchar_t* filePath = narrowToWideString(szFile);
auto result = DirectX::LoadFromDDSFile(filePath, flags, metadata, image);
delete[] filePath;
return result;
}

HRESULT dxtLoadTGAFile(LPCWSTR szFile, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image)
{
return DirectX::LoadFromTGAFile(szFile, metadata, image);
}

HRESULT dxtLoadWICFile(LPCWSTR szFile, int flags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image)
HRESULT dxtLoadTGAFile( const char* szFile, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image)
{
return DirectX::LoadFromWICFile(szFile, flags, metadata, image);
const wchar_t* filePath = narrowToWideString(szFile);
auto result = DirectX::LoadFromTGAFile(filePath, metadata, image);
delete[] filePath;
return result;
}

HRESULT dxtSaveToDDSFile( const DirectX::Image& image, int flags, LPCWSTR szFile )
HRESULT dxtSaveToDDSFile( const DirectX::Image& image, DirectX::DDS_FLAGS flags, const char* szFile )
{
return DirectX::SaveToDDSFile(image, flags, szFile);
const wchar_t* filePath = narrowToWideString(szFile);
auto result = DirectX::SaveToDDSFile(image, flags, filePath);
delete[] filePath;
return result;
}

HRESULT dxtSaveToDDSFileArray( const DirectX::Image* images, int nimages, const DirectX::TexMetadata& metadata, int flags, LPCWSTR szFile )
HRESULT dxtSaveToDDSFileArray( const DirectX::Image* images, int nimages, const DirectX::TexMetadata& metadata, DirectX::DDS_FLAGS flags, const char* szFile )
{
return DirectX::SaveToDDSFile(images, nimages, metadata, flags, szFile);
const wchar_t* filePath = narrowToWideString(szFile);
auto result = DirectX::SaveToDDSFile(images, nimages, metadata, flags, filePath);
delete[] filePath;
return result;
}

// Scratch Image
Original file line number Diff line number Diff line change
@@ -3,35 +3,43 @@
#ifndef DXT_WRAPPER_H
#define DXT_WRAPPER_H

#ifdef _MSC_VER
#define DXT_API __declspec(dllexport)
#else
#if __GNUC__ >= 4
#define DXT_API __attribute__ ((visibility("default")))
#else
#define DXT_API
#endif
#endif

#include "DirectXTex.h"
#include <string>

extern "C" {

// Utilities functions
DXT_API void dxtComputePitch( DXGI_FORMAT fmt, int width, int height, int& rowPitch, int& slicePitch, int flags );
DXT_API void dxtComputePitch( DXGI_FORMAT fmt, int width, int height, int& rowPitch, int& slicePitch, DirectX::CP_FLAGS flags );
DXT_API bool dxtIsCompressed(DXGI_FORMAT fmt);
DXT_API HRESULT dxtConvert( const DirectX::Image& srcImage, DXGI_FORMAT format, int filter, float threshold, DirectX::ScratchImage& cImage );
DXT_API HRESULT dxtConvertArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, int filter, float threshold, DirectX::ScratchImage& cImage );
DXT_API HRESULT dxtCompress( const DirectX::Image& srcImage, DXGI_FORMAT format, int compress, float alphaRef, DirectX::ScratchImage& cImage );
DXT_API HRESULT dxtCompressArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, int compress, float alphaRef, DirectX::ScratchImage& cImages );
DXT_API HRESULT dxtDecompress( const DirectX::Image& cImage, DXGI_FORMAT format, DirectX::ScratchImage& image );
DXT_API HRESULT dxtConvert( const DirectX::Image& srcImage, DXGI_FORMAT format, DirectX::TEX_FILTER_FLAGS filter, float threshold, DirectX::ScratchImage& cImage );
DXT_API HRESULT dxtConvertArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::TEX_FILTER_FLAGS filter, float threshold, DirectX::ScratchImage& cImage );
DXT_API HRESULT dxtCompress( const DirectX::Image& srcImage, DXGI_FORMAT format, DirectX::TEX_COMPRESS_FLAGS compress, float alphaRef, DirectX::ScratchImage& cImage );
DXT_API HRESULT dxtCompressArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::TEX_COMPRESS_FLAGS compress, float alphaRef, DirectX::ScratchImage& cImages );
DXT_API HRESULT dxtDecompress( const DirectX::Image& cImage, DXGI_FORMAT format, DirectX::ScratchImage& image );
DXT_API HRESULT dxtDecompressArray( const DirectX::Image* cImages, int nimages, const DirectX::TexMetadata& metadata, DXGI_FORMAT format, DirectX::ScratchImage& images );
DXT_API HRESULT dxtGenerateMipMaps( const DirectX::Image& baseImage, int filter, int levels, DirectX::ScratchImage& mipChain, bool allow1D);
DXT_API HRESULT dxtGenerateMipMapsArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int filter, int levels, DirectX::ScratchImage& mipChain );
DXT_API HRESULT dxtGenerateMipMaps3D( const DirectX::Image* baseImages, int depth, int filter, int levels, DirectX::ScratchImage& mipChain );
DXT_API HRESULT dxtGenerateMipMaps3DArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int filter, int levels, DirectX::ScratchImage& mipChain );
DXT_API HRESULT dxtResize(const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int width, int height, int filter, DirectX::ScratchImage& result );
DXT_API HRESULT dxtComputeNormalMap( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int flags, float amplitude, DXGI_FORMAT format, DirectX::ScratchImage& normalMaps );
DXT_API HRESULT dxtPremultiplyAlpha( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int flags, DirectX::ScratchImage& result );
DXT_API HRESULT dxtGenerateMipMaps( const DirectX::Image& baseImage, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain, bool allow1D);
DXT_API HRESULT dxtGenerateMipMapsArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain );
DXT_API HRESULT dxtGenerateMipMaps3D( const DirectX::Image* baseImages, int depth, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain );
DXT_API HRESULT dxtGenerateMipMaps3DArray( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_FILTER_FLAGS filter, int levels, DirectX::ScratchImage& mipChain );
DXT_API HRESULT dxtResize(const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, int width, int height, DirectX::TEX_FILTER_FLAGS filter, DirectX::ScratchImage& result );
DXT_API HRESULT dxtComputeNormalMap( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::CNMAP_FLAGS flags, float amplitude, DXGI_FORMAT format, DirectX::ScratchImage& normalMaps );
DXT_API HRESULT dxtPremultiplyAlpha( const DirectX::Image* srcImages, int nimages, const DirectX::TexMetadata& metadata, DirectX::TEX_PMALPHA_FLAGS flags, DirectX::ScratchImage& result );

// I/O functions
DXT_API HRESULT dxtLoadTGAFile(LPCWSTR szFile, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image);
DXT_API HRESULT dxtLoadWICFile(LPCWSTR szFile, int wicflags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image);
DXT_API HRESULT dxtLoadDDSFile(LPCWSTR szFile, int ddsflags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image);
DXT_API HRESULT dxtSaveToDDSFile( const DirectX::Image& image, int flags, LPCWSTR szFile );
DXT_API HRESULT dxtSaveToDDSFileArray( const DirectX::Image* images, int nimages, const DirectX::TexMetadata& metadata, int flags, LPCWSTR szFile );
DXT_API HRESULT dxtLoadTGAFile(const char* szFile, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image);
DXT_API HRESULT dxtLoadDDSFile(const char* szFile, DirectX::DDS_FLAGS flags, DirectX::TexMetadata* metadata, DirectX::ScratchImage& image);
DXT_API HRESULT dxtSaveToDDSFile( const DirectX::Image& image, DirectX::DDS_FLAGS flags, const char* szFile );
DXT_API HRESULT dxtSaveToDDSFileArray( const DirectX::Image* images, int nimages, const DirectX::TexMetadata& metadata, DirectX::DDS_FLAGS flags, const char* szFile );

// Scratch Image
DXT_API DirectX::ScratchImage * dxtCreateScratchImage();
Original file line number Diff line number Diff line change
@@ -516,13 +516,10 @@ internal class Utilities
private extern static void dxtComputePitch(DXGI_FORMAT fmt, int width, int height, out int rowPitch, out int slicePitch, CP_FLAGS flags);

[DllImport("DxtWrapper", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
private extern static uint dxtLoadDDSFile(String filePath, DDS_FLAGS flags, out TexMetadata metadata, IntPtr image);
private extern static uint dxtLoadDDSFile(string filePath, DDS_FLAGS flags, out TexMetadata metadata, IntPtr image);

[DllImport("DxtWrapper", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
private extern static uint dxtLoadTGAFile(String filePath, out TexMetadata metadata, IntPtr image);

[DllImport("DxtWrapper", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
private extern static uint dxtLoadWICFile(String filePath, WIC_FLAGS flags, out TexMetadata metadata, IntPtr image);
private extern static uint dxtLoadTGAFile(string filePath, out TexMetadata metadata, IntPtr image);

[DllImport("DxtWrapper", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode), SuppressUnmanagedCodeSecurity]
private extern static bool dxtIsCompressed(DXGI_FORMAT fmt);
@@ -577,21 +574,16 @@ public static void ComputePitch(DXGI_FORMAT fmt, int width, int height, out int
dxtComputePitch(fmt, width, height, out rowPitch, out slicePitch, flags);
}

public static HRESULT LoadDDSFile(String filePath, DDS_FLAGS flags, out TexMetadata metadata, ScratchImage image)
public static HRESULT LoadDDSFile(string filePath, DDS_FLAGS flags, out TexMetadata metadata, ScratchImage image)
{
return HandleHRESULT(dxtLoadDDSFile(filePath, flags, out metadata, image.ptr));
}

public static HRESULT LoadTGAFile(String filePath, out TexMetadata metadata, ScratchImage image)
public static HRESULT LoadTGAFile(string filePath, out TexMetadata metadata, ScratchImage image)
{
return HandleHRESULT(dxtLoadTGAFile(filePath, out metadata, image.ptr));
}

public static HRESULT LoadWICFile(String filePath, WIC_FLAGS flags, out TexMetadata metadata, ScratchImage image)
{
return HandleHRESULT(dxtLoadWICFile(filePath, flags, out metadata, image.ptr));
}

public static HRESULT SaveToDDSFile(ref DxtImage dxtImage, DDS_FLAGS flags, string szFile)
{
return HandleHRESULT(dxtSaveToDDSFile(ref dxtImage, flags, szFile));
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@
<StrideNativeLib Include="$(MSBuildThisFileDirectory)..\..\..\deps\FreeImage\Release\**\*.dll">
<Link>runtimes\%(RecursiveDir)native\%(Filename)%(Extension)</Link>
</StrideNativeLib>
<StrideNativeLib Include="$(MSBuildThisFileDirectory)..\..\..\deps\TextureWrappers\Release\**\*.dll">
<StrideNativeLib Include="$(MSBuildThisFileDirectory)..\..\..\deps\TextureWrappers\Release\**\*.dll;$(MSBuildThisFileDirectory)..\..\..\deps\TextureWrappers\Release\**\*.so">
<Link>runtimes\%(RecursiveDir)native\%(Filename)%(Extension)</Link>
</StrideNativeLib>
<StrideNativeLib Include="$(MSBuildThisFileDirectory)..\..\..\deps\PVRTT\**\*.dll">