1123 Commits

Author SHA1 Message Date
ds5678
3d8b19c3d5 Support new Unity versions
Resolves #1997
2025-11-04 22:10:35 -08:00
ds5678
976c73f845 Fix NuGetFixer from SharpCompress regression 2025-11-04 22:05:53 -08:00
ds5678
46261d2259 Handle highly compressed games better
Resolves #1953
2025-11-04 21:17:54 -08:00
ds5678
986042202c Fix IPA regression
Resolves #1989
2025-11-04 20:39:45 -08:00
ds5678
5ebaeb1d6f Shader extensions 2025-11-04 03:40:02 -08:00
ds5678
6183a71996 DirectX support for shader decompilation is Windows-only 2025-11-04 00:19:06 -08:00
ds5678
9887da8cf5 Fix UnloadedStructure failing to copy itself
Resolves #1992
2025-10-30 22:33:10 -07:00
ds5678
548aba4465 Update IsDirectX to exclude xboxone_d3d12 platform
The `IsDirectX` method in the `GPUPlatformExtensions` class was modified to remove `xboxone_d3d12` from the list of platforms considered as DirectX. The method now only returns `true` for `d3d9`, `d3d11`, and `d3d11_9x`, narrowing the platforms that qualify as DirectX.
2025-10-27 00:11:25 -07:00
ds5678
03393d0c22 Fix failure to load multi-file resource
Resolves #1971
2025-10-26 22:03:53 -07:00
dependabot[bot]
5763da212e Bump System.Text.Json from 9.0.9 to 9.0.10
---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-version: 9.0.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-26 20:18:30 -07:00
dependabot[bot]
17e3f3a482 Bump SharpCompress from 0.40.0 to 0.41.0
---
updated-dependencies:
- dependency-name: SharpCompress
  dependency-version: 0.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: SharpCompress
  dependency-version: 0.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: SharpCompress
  dependency-version: 0.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-26 16:47:52 -07:00
ds5678
f4ccec71ea Use WithUnityVersion in ProjectYamlWalker 2025-10-26 16:47:04 -07:00
ds5678
9ab4f12833 Fix dictionary serialization
Resolves #1869
Resolves #1782
Resolves #821
Closes #1701
2025-10-26 16:38:53 -07:00
ds5678
1ef2519ea3 Add a UI page to check for premium feature support 2025-10-25 17:55:50 -07:00
ds5678
2f43a7abe5 Use FileSystem for zip extraction
Resolves #1943
2025-10-25 15:33:06 -07:00
ds5678
07d415a794 Fix issue with writing BMP images 2025-10-19 13:07:13 -07:00
ds5678
09221814d6 Remove legacy shader decompilation
Closes #1968
Closes #1815
Closes #1803
Closes #1668
Closes #1229
Closes #1131
Closes #1109
Closes #810
Closes #727
Closes #726
Closes #714
Closes #605
Closes #524
Closes #9
2025-10-18 19:23:41 -07:00
ds5678
41d464112b Primary Content Extraction should respect export settings
Resolves #1942
2025-10-18 13:51:27 -07:00
ds5678
43fea56266 Bump version to 1.3.5 2025-10-12 22:11:00 -07:00
ds5678
98c4813d35 Fix IndexOutOfRangeException during AnimatorController recovery
Resolves #1909
Resolves #1919
Resolves #1963
2025-10-12 21:53:36 -07:00
ds5678
a29aa565a9 Reenable RandomAccessStream
Related: #1954
2025-10-12 21:29:58 -07:00
ds5678
fce679c54f Duplicate shared state behaviours
Resolves #1940
2025-10-12 16:18:13 -07:00
ds5678
c95aaf089d Support recent versions of Unity
Also, change CopyValues methods to support self copying
2025-10-12 16:11:42 -07:00
ds5678
e4b741316d Use unbound generics in nameof 2025-10-12 13:03:53 -07:00
ds5678
45e0c72fac Handle scene paths in the package cache
Resolves #1964
2025-10-11 22:01:26 -07:00
ds5678
680e53c41c Prevent SkipExportCollection from spamming the log 2025-10-10 11:46:10 -07:00
ds5678
19653bcb80 Update common string for new Unity versions
Resolves #1961
2025-10-10 10:59:22 -07:00
ds5678
ff48885da1 Create a SpriteConverter class for converting sprites to bitmaps 2025-10-10 01:46:36 -07:00
ds5678
fca21ad09c Add crop functionality to DirectBitmap 2025-10-10 01:45:01 -07:00
ds5678
3124e0599a Fix an exception when calling GetPacking
This also refactors classes to use extension properties for ISpriteAtlasData and ISpriteRenderData
2025-10-10 01:41:19 -07:00
ds5678
1362f35200 Fix an issue with UV dimension being ignored
Resolves #1930
Resolves #1512
2025-10-09 21:28:40 -07:00
ds5678
5cf6fbad22 Disable changes from #1954 2025-10-09 18:06:10 -07:00
ds5678
b328be9ec6 Use BinaryPrimitives instead of BitConverter 2025-10-09 16:45:07 -07:00
ds5678
e70e206184 Texture3D decoding support
Resolves #1886
2025-10-06 23:43:24 -07:00
ds5678
39f9ea7592 Improve texture export performance 2025-10-06 02:59:42 -07:00
ds5678
58d0496f3c Save button for audio assets
Resolves #1950
2025-10-05 20:12:53 -07:00
ds5678
ff19979be9 Assume Unity version is stripped if it can't be parsed instead of throwing an exception
Resolves #1947
2025-10-05 13:10:16 -07:00
Jason McNew
cf22d78101
Avoid copying uncompressed file data to large byte[] arrays (#1954)
* Avoid copying uncompressed bundle files to large byte[].

* Move dependency check logic to SmartStream, and copy if not compatible.

Style cleanups per feedback.

* Tie the original FileStream lifecycle to any surviving partials.

* Ensure FileStream isn't finalized while we're calling Dispose() on it.

* Hold a ref to FIleStream and let the finalizer close it.

Co-authored-by: Jeremy Pritts <49847914+ds5678@users.noreply.github.com>

* Cache FileStream.SafeFileHandle getter to avoid unnecessary Seek().

See OSFileStreamStrategy.cs.

---------

Co-authored-by: Jeremy Pritts <49847914+ds5678@users.noreply.github.com>
2025-10-05 03:49:57 -07:00
ds5678
506c4e3cf7 Fix InvalidCastException during ILSpy decompilation
Resolves #1958
2025-10-05 03:06:25 -07:00
ds5678
6b429fa7d8 Add message box confirming that a user consents to folder deletion
Resolves #1283
2025-10-04 15:29:03 -07:00
ds5678
7a728e3479 Dictionary improvements 2025-10-03 12:11:59 -07:00
Dawi Alotaibi
a22b511abb
Add a class filter for the assets (#1949)
* added a class filter for the assets

* addressing PR commets

* fix formatting

* fix formatting

* address comments

* add Localization for "All"
2025-10-01 10:06:20 -07:00
Raytwo
4cccff3d5a
Implement texture unswizzling for Switch platform (#1948)
* Experimental unswizzling port

* Remove unused helper

* Fix wrong field usage

* Remove unused methods

* Properly check for swizzling

* Update Source/AssetRipper.SourceGenerated.Extensions/SwitchSwizzle.cs

Co-authored-by: Jeremy Pritts <49847914+ds5678@users.noreply.github.com>

* Update Source/AssetRipper.SourceGenerated.Extensions/SwitchSwizzle.cs

Co-authored-by: Jeremy Pritts <49847914+ds5678@users.noreply.github.com>

* Inline IsSwitchSwizzled

* Rename boolean for clarity

* Turn SwitchSwizzle into a static class

* Return on unsupported format

* Fix nullable accesses

* Apply recommended change

* Update Source/AssetRipper.SourceGenerated.Extensions/SwitchSwizzle.cs

Co-authored-by: Jeremy Pritts <49847914+ds5678@users.noreply.github.com>

---------

Co-authored-by: Jeremy Pritts <49847914+ds5678@users.noreply.github.com>
2025-09-30 16:03:07 -07:00
ds5678
9e60805e1a Bump project version to 1.3.4
Updated the `<Version>` property in `Directory.Build.props`
from `1.3.3` to `1.3.4`. This version increment prepares
the project for a new release, ensuring the updated version
is reflected in the build and associated outputs.
2025-09-21 21:57:58 -07:00
ds5678
65afadabb3 Fix the face count and level count issues in the new crunch decoder 2025-09-21 21:48:45 -07:00
ds5678
61da5e9348 Refactor tests and improve code quality
- Updated test dependencies: replaced `coverlet.collector` with `NUnit.Analyzers` for enhanced test analysis.
- Refactored `TypeSignatureNameTests` to use instance setup and improved assertions with `Is.EqualTo`.
- Simplified `AssetEqualityTests` by directly using `AssetEqualityComparer` in assertions.
- Made `FileStreamTests` static and removed unused setup code.
- Improved `RangeTests` by grouping assertions and using `Assert.EnterMultipleScope`.
- Standardized random data generation with `TestContext.CurrentContext.Random`.
- Removed unused `RandomStructEnumerable` class.
- Refactored `DefaultJsonWalkerTests` and `DefaultYamlWalkerTests` for better readability and performance.
- Removed redundant code in `VertexDataBlobTests` and simplified equivalence assertions.
- General cleanup: removed unused namespaces, improved formatting, and aligned with modern C# conventions.
2025-09-21 15:33:59 -07:00
ds5678
6ec94c23bb Remove InternalsVisibleTo from AssetRipper.Yaml 2025-09-21 14:20:12 -07:00
ds5678
fe32ffbbab Replace references to SharpZipLib with SharpCompress 2025-09-21 01:56:37 -07:00
ds5678
d8a5557478 Convert FileSystem::GetUniqueName into an instance method
Related: #1581
2025-09-21 00:19:04 -07:00
ds5678
9793a943a6 Redirect references from TemporaryFileStorage to LocalFileSystem
Related: #1581
2025-09-21 00:06:50 -07:00