184 Commits

Author SHA1 Message Date
ds5678
7b1c20c1f3 File scoped namespaces 2025-06-23 11:42:47 -07:00
ds5678
ff1f7377be Add unit test for UnityEngine.UI guid
* Resolves #1787
* Resolves #1813
2025-06-20 00:13:59 -07:00
dependabot[bot]
3ec12fad63
Bump NuGet references and support newer Unity versions (#1818)
* Bump AssetRipper.ICSharpCode.Decompiler and 9 others

Bumps AssetRipper.ICSharpCode.Decompiler to 9.1.0.8017
Bumps AssetRipper.SourceGenerated from 1.2.4 to 1.2.5
Bumps Microsoft.AspNetCore.OpenApi from 9.0.5 to 9.0.6
Bumps Microsoft.NET.Test.Sdk to 17.14.1
Bumps NUnit.Analyzers to 4.9.2
Bumps Samboy063.Cpp2IL.Core from 2022.1.0-development.1262 to 2022.1.0-pre-release.19
Bumps SharpCompress from 0.39.0 to 0.40.0
Bumps Swashbuckle.AspNetCore from 8.1.2 to 9.0.1
Bumps System.CommandLine to 2.0.0-beta5.25306.1
Bumps System.Text.Json from 9.0.5 to 9.0.6

---
updated-dependencies:
- dependency-name: AssetRipper.ICSharpCode.Decompiler
  dependency-version: 9.1.0.8017
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: AssetRipper.ICSharpCode.Decompiler
  dependency-version: 9.1.0.8017
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: AssetRipper.SourceGenerated
  dependency-version: 1.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Microsoft.AspNetCore.OpenApi
  dependency-version: 9.0.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: NUnit.Analyzers
  dependency-version: 4.9.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: NUnit.Analyzers
  dependency-version: 4.9.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: NUnit.Analyzers
  dependency-version: 4.9.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: NUnit.Analyzers
  dependency-version: 4.9.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: NUnit.Analyzers
  dependency-version: 4.9.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: NUnit.Analyzers
  dependency-version: 4.9.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: NUnit.Analyzers
  dependency-version: 4.9.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: Samboy063.Cpp2IL.Core
  dependency-version: 2022.1.0-pre-release.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: SharpCompress
  dependency-version: 0.40.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: Swashbuckle.AspNetCore
  dependency-version: 9.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: System.CommandLine
  dependency-version: 2.0.0-beta5.25306.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: System.CommandLine
  dependency-version: 2.0.0-beta5.25306.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: System.CommandLine
  dependency-version: 2.0.0-beta5.25306.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: System.Text.Json
  dependency-version: 9.0.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update Source/AssetRipper.Import/AssetRipper.Import.csproj

* Apply suggestions from code review

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jeremy Pritts <49847914+ds5678@users.noreply.github.com>
2025-06-20 00:07:13 -07:00
ds5678
477933b9ad Formatting 2025-06-18 12:42:22 -07:00
ds5678
a3803dd4f1 Suppress misleading shader errors from unity default resources
* Resolves #1800
2025-05-31 17:32:51 -07:00
ds5678
23c5c41b3c Enable version changing to change the output project version
* Resolves #1786
2025-05-21 23:05:35 -07:00
ds5678
09ed03b735 Detect SerializeReference in type tree MonoBehaviours 2025-05-09 23:24:28 -07:00
ds5678
581516099d Support exporting Unity extensions with correct guids
* Resolves #1741
2025-05-07 16:16:26 -07:00
ds5678
980484e374 Support new versions of Unity and update NuGet references 2025-05-07 14:34:42 -07:00
ds5678
2c7e91f535 Handle cyclic references in MonoBehaviour deserialization
* Resolves #1755
2025-04-30 22:12:14 -07:00
ds5678
4c6c28e88b Refactoring
* Use preview language version
* Apply various code fixers
* Remove TypeTreeHelper
* Remove unused properties from IExportContainer
2025-04-29 11:31:02 -07:00
ds5678
5ffc04cfa5 Update AssetRipper.Primitives to 3.2.0 2025-04-28 21:05:36 -07:00
ds5678
97459552e0 Safe Assembly Publicizing
* Resolves #653
2025-04-18 22:49:09 -07:00
ds5678
06b6ae8171 Support PrimitiveType.Char in TypeTreeNodeStruct 2025-04-08 00:25:40 -07:00
ds5678
df749a726e Improve decompilation of method overrides 2025-03-31 14:24:45 -07:00
ds5678
713ec2bf34 Fix pointer type detection in SerializableTreeType 2025-03-25 08:23:54 -07:00
ds5678
43632d563c Polyfill attributes needed by ILSpy 2025-03-23 20:23:38 -07:00
ds5678
89089aee2e Fix Il2Cpp fixed buffer fields in structs 2025-03-22 15:42:49 -07:00
ds5678
99144d5bf4 Generate forwarding assemblies for compiler types
* System.Runtime.CompilerServices.Unsafe
* System.Runtime.InteropServices
2025-03-18 18:03:41 -07:00
ds5678
9bdcb91038 Resolve TypeLoadException for generated assemblies
* Resolves #1683
2025-03-08 16:00:52 -08:00
ds5678
ed32e738d0 Use new web api for serving online dependencies
* Resolves #1675
* Resolves #1688
2025-03-08 11:18:34 -08:00
ds5678
431d69cd8c Update Cpp2IL.Core package version
Updated the `Samboy063.Cpp2IL.Core` package from version
`2022.1.0-development.1220` to `2022.1.0-development.1222`
in the `AssetRipper.Import.csproj` file.
2025-03-06 21:21:54 -08:00
ds5678
1f80c97d84 Changes for prefab outlining:
* Publicize some types
* MonoBehaviourExtensions::LoadStructure
* TypeTreeNodeStruct expansion
2025-03-03 02:12:07 -08:00
ds5678
7fe70ceecb Property handling for UnityEngine.PropertyName
* Resolves #1213
* Resolves #1667
* Closes #1698
2025-03-02 18:31:26 -08:00
ds5678
754dc11c0a Update Cpp2IL.Core package version
Updated the version of the `Samboy063.Cpp2IL.Core` package in the `AssetRipper.Import.csproj` file from `2022.1.0-development.1215` to `2022.1.0-development.1220`.
2025-03-02 11:46:00 -08:00
ds5678
89ab324f70 Export integer arrays as hexidecimal values
* This prevents a crash on some Unity versions
* Resolves #695
2025-02-28 00:32:26 -08:00
ds5678
2fe9ac59ec Improve performance of type tree deserialization 2025-02-26 14:51:20 -08:00
ds5678
2e532b9b05 Bump Tpk NuGet version 2025-02-24 16:15:57 -08:00
ds5678
b489c3d805 Improve recovery of Il2Cpp explicit interface overrides
* Resolves #1682
2025-02-24 16:12:22 -08:00
ds5678
5e7f98ed06 Some helpers for Prefab Outlining 2025-02-18 01:22:46 -08:00
ds5678
1a1767adca Refactor field access in Serializable classes
Updated `SerializableStructure` and `SerializableType` to use the `Fields` property instead of the `GetField` method for accessing field data. This change improves code readability and maintainability. Adjusted logic for determining engine pointers by consolidating checks into a single return statement. Added a debug assertion to verify that `etalon` has an `ArrayDepth` of zero in specific contexts. Overall, these modifications enhance code structure while preserving functionality.
2025-02-17 19:22:16 -08:00
dependabot[bot]
1fdf7c65aa Bump AssetRipper.Primitives from 3.1.4 to 3.1.5
Bumps [AssetRipper.Primitives](https://github.com/AssetRipper/AssetRipper.Primitives) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/AssetRipper/AssetRipper.Primitives/releases)
- [Commits](https://github.com/AssetRipper/AssetRipper.Primitives/compare/3.1.4...3.1.5)

---
updated-dependencies:
- dependency-name: AssetRipper.Primitives
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-15 02:26:33 -05:00
ds5678
89c4547979 Add support for Half data type in SerializableValue
This commit introduces the `Half` data type to the `SerializableValue` class in the `AssetRipper.Import.Structure.Assembly.Serializable` namespace. It adds properties for single values, arrays, and multi-dimensional arrays of `Half`. The changes also implement reading and writing functionality for `Half` values, and update the handling of `PrimitiveType` to include `Half`, ensuring proper management and serialization alongside existing types like `float`, `double`, and `ulong`.
2025-02-11 18:40:52 -08:00
ds5678
ea831ba383 Use new AssetRipper.SourceGenerated package version 2025-02-10 12:32:10 -08:00
ds5678
e0cf8a09a9 Implement IDeepCloneable interface and refactor methods
Introduced IDeepCloneable interface in AssetRipper.Assets namespace.
Implemented DeepClone method in SerializableStructure and UnloadedStructure.
Updated nested StatelessAsset class to implement IDeepCloneable.
Refactored UnloadedStructure methods using LoadStructureOrStatelessAsset.
Revised FetchDependencies to use an empty array instead of Enumerable.Empty.
Added methods to UnloadedStructure for better equality comparison and asset handling.
2025-02-10 10:54:36 -08:00
ds5678
2da18e2ece Save Selected Language Between Restarts
* Resolves #1237
2025-01-16 10:46:22 -08:00
dependabot[bot]
135916d5b4 Bump AsmResolver.DotNet from 6.0.0-beta.1 to 6.0.0-beta.2
Bumps [AsmResolver.DotNet](https://github.com/Washi1337/AsmResolver) from 6.0.0-beta.1 to 6.0.0-beta.2.
- [Release notes](https://github.com/Washi1337/AsmResolver/releases)
- [Commits](https://github.com/Washi1337/AsmResolver/compare/v6.0.0-beta.1...v6.0.0-beta.2)

---
updated-dependencies:
- dependency-name: AsmResolver.DotNet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 04:02:44 -05:00
ds5678
89bdb81b9d Script Content Level 3 2024-12-25 08:50:10 -08:00
dependabot[bot]
24ffe1bee4 Bump AssetRipper.Primitives from 3.1.3 to 3.1.4
Bumps [AssetRipper.Primitives](https://github.com/AssetRipper/AssetRipper.Primitives) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/AssetRipper/AssetRipper.Primitives/releases)
- [Commits](https://github.com/AssetRipper/AssetRipper.Primitives/compare/3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: AssetRipper.Primitives
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-21 23:01:48 -08:00
ds5678
c3fee7c7fd Serialize PlayerSettings as Json in the UI
* Resolves #1601

Related Work Items: #160, #1601
2024-12-17 22:00:01 -08:00
ds5678
6410f1e3bd Bump Cpp2IL to prerelease 19 2024-12-08 20:57:32 -08:00
ds5678
6dce1c375c Abstract File System Access During Export
* Resolves #665
2024-12-05 21:39:52 -08:00
ds5678
9cdc240858 Replace Path.Combine with Path.Join 2024-12-04 09:47:56 -08:00
ds5678
539e8f8173 Prevent overflow exceptions in EndianSpanReaderExtensions 2024-11-24 13:51:35 -08:00
ds5678
c7454528ae Support recent versions of Unity 2024-11-10 22:39:36 -08:00
ds5678
e79cede02e Resolve #1527 2024-11-03 13:48:10 -08:00
ds5678
a9d2a43357 Prevent infinite recursion when constructing MonoType 2024-09-19 22:35:07 -07:00
dependabot[bot]
ff5af5c6bd Bump Samboy063.Cpp2IL.Core
Bumps [Samboy063.Cpp2IL.Core](https://github.com/SamboyCoding/Cpp2IL) from 2022.1.0-pre-release.15 to 2022.1.0-pre-release.18.
- [Release notes](https://github.com/SamboyCoding/Cpp2IL/releases)
- [Changelog](https://github.com/SamboyCoding/Cpp2IL/blob/development/do-release.ps1)
- [Commits](https://github.com/SamboyCoding/Cpp2IL/compare/2022.1.0-pre-release.15...2022.1.0-pre-release.18)

---
updated-dependencies:
- dependency-name: Samboy063.Cpp2IL.Core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-01 23:21:13 -07:00
dependabot[bot]
70cf04d202 Bump AssetRipper.Mining.PredefinedAssets from 1.3.2 to 1.4.0
Bumps [AssetRipper.Mining.PredefinedAssets](https://github.com/AssetRipper/AssetRipper.Mining) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/AssetRipper/AssetRipper.Mining/releases)
- [Commits](https://github.com/AssetRipper/AssetRipper.Mining/compare/1.3.2...1.4.0)

---
updated-dependencies:
- dependency-name: AssetRipper.Mining.PredefinedAssets
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-31 13:10:21 -07:00
ds5678
0fb760c7d6 Fix UnityVersion deserialization
* Resolves #1468
2024-08-27 20:16:35 -07:00