mirror of
https://github.com/AssetRipper/AssetRipper.git
synced 2025-12-11 20:15:29 +01:00
[skip ci] update documentation
This commit is contained in:
parent
c1a67f1551
commit
d544e23b5d
12
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
12
.github/ISSUE_TEMPLATE/bug_report.yaml
vendored
@ -6,7 +6,7 @@ body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for submitting a bug report, please fill out as much detail as possible.
|
||||
Thank you for submitting a bug report; please fill in with as much detail as possible.
|
||||
- type: dropdown
|
||||
id: assetripper_version
|
||||
attributes:
|
||||
@ -16,7 +16,7 @@ body:
|
||||
- No, I need to download a newer version and try again.
|
||||
- Yes, I'm on the latest release of AssetRipper.
|
||||
- Yes, I'm on the latest pre-release of AssetRipper.
|
||||
- Yes, I'm on the latest alpha-build of AssetRipper.
|
||||
- Yes, I'm on the latest nightly build of AssetRipper.
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
@ -51,12 +51,12 @@ body:
|
||||
- type: dropdown
|
||||
id: game_backend
|
||||
attributes:
|
||||
label: Is the game Mono or IL2Cpp?
|
||||
description: Desktop IL2Cpp games have a GameAssembly.dll in the same directory as the game executable file. Android IL2Cpp games have a libil2cpp.so file in the lib directory (or one of its subdirectories).
|
||||
label: Is the game Mono or Il2Cpp?
|
||||
description: Desktop Il2Cpp games have a GameAssembly.dll in the same directory as the game executable file. Android Il2Cpp games have a libil2cpp.so file in the lib directory (or one of its subdirectories).
|
||||
options:
|
||||
- Unknown
|
||||
- Mono
|
||||
- IL2Cpp
|
||||
- Il2Cpp
|
||||
- Not Applicable
|
||||
validations:
|
||||
required: true
|
||||
@ -73,6 +73,6 @@ body:
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: |
|
||||
Please drag and drop your relevant `AssetRipper.log` here. It is located in the same folder as the `exe` file. A screenshot is not normally sufficient because it is often hard to read and search.
|
||||
Please drag and drop your relevant `AssetRipper.log` here. It is located in the same folder as the `exe` file. A screenshot is not normally sufficient because they are often hard to read and search.
|
||||
validations:
|
||||
required: false
|
||||
2
.github/ISSUE_TEMPLATE/enhancement.yaml
vendored
2
.github/ISSUE_TEMPLATE/enhancement.yaml
vendored
@ -6,7 +6,7 @@ body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to discuss AssetRipper, please provide as much detail as possible.
|
||||
Thank you for taking the time to discuss AssetRipper; please provide as much detail as possible.
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
|
||||
@ -16,7 +16,16 @@ namespace AssetRipper.Processing.Assemblies;
|
||||
/// </remarks>
|
||||
public sealed class AttributePolyfillGenerator : IAssetProcessor
|
||||
{
|
||||
/// <summary>
|
||||
/// Injects generated attribute polyfills into the loaded game data.
|
||||
/// </summary>
|
||||
/// <param name="gameData">The loaded game data.</param>
|
||||
public void Process(GameData gameData) => Process(gameData.AssemblyManager);
|
||||
|
||||
/// <summary>
|
||||
/// Generates attribute polyfills for the given assembly manager.
|
||||
/// </summary>
|
||||
/// <param name="manager">The assembly manager to modify.</param>
|
||||
private static void Process(IAssemblyManager manager)
|
||||
{
|
||||
ModuleDefinition? mscorlib = manager.Mscorlib?.ManifestModule;
|
||||
@ -39,12 +48,20 @@ public sealed class AttributePolyfillGenerator : IAssetProcessor
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Custom reference importer for cloning. It handles redirects references from the source module to the target module.
|
||||
/// </summary>
|
||||
private sealed class CustomCloneReferenceImporter : CloneContextAwareReferenceImporter
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="CustomCloneReferenceImporter"/> class.
|
||||
/// </summary>
|
||||
/// <param name="context">The cloning context.</param>
|
||||
public CustomCloneReferenceImporter(MemberCloneContext context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ITypeDefOrRef ImportType(TypeDefinition type)
|
||||
{
|
||||
if (type.DeclaringType is null && TargetModule.TryGetTopLevelType(type.Namespace, type.Name, out TypeDefinition? typeDefinition))
|
||||
@ -54,6 +71,7 @@ public sealed class AttributePolyfillGenerator : IAssetProcessor
|
||||
return base.ImportType(type);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
protected override ITypeDefOrRef ImportType(TypeReference type)
|
||||
{
|
||||
if (SignatureComparer.Default.Equals(type.Scope, TargetModule) &&
|
||||
|
||||
@ -2,8 +2,15 @@
|
||||
|
||||
namespace AssetRipper.Processing.Assemblies;
|
||||
|
||||
/// <summary>
|
||||
/// This class provides the polyfill module used in the <see cref="AttributePolyfillGenerator"/>.
|
||||
/// </summary>
|
||||
internal static partial class EmbeddedAssembly
|
||||
{
|
||||
/// <summary>
|
||||
/// Loads a module definition from the embedded byte array.
|
||||
/// </summary>
|
||||
/// <returns>The loaded module definition.</returns>
|
||||
public static ModuleDefinition Load()
|
||||
{
|
||||
return ModuleDefinition.FromBytes(Bytes);
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
using AssetRipper.Import.Logging;
|
||||
using AssetRipper.IO.Files;
|
||||
using AssetRipper.Primitives;
|
||||
|
||||
namespace AssetRipper.Processing.AudioMixers;
|
||||
|
||||
|
||||
@ -15,6 +15,6 @@ All the MonoBehaviours have a standard fileID, ie 114 followed by 15 random digi
|
||||
|
||||
Without the `VisualEffectResource`, errors are thrown when adding a visual effect to a scene.
|
||||
|
||||
```
|
||||
```text
|
||||
NullReferenceException: VFX resource does not exist for this asset at path:
|
||||
```
|
||||
```
|
||||
|
||||
@ -22,7 +22,7 @@ If it didn't work, there will be this line:
|
||||
Import : Files use the 'Unknown' scripting backend.
|
||||
```
|
||||
|
||||
For IL2Cpp games, use [Cpp2IL](https://github.com/SamboyCoding/Cpp2IL) to generate assemblies. [Unhollowed assemblies](https://github.com/knah/Il2CppAssemblyUnhollower) used in modding will not work.
|
||||
For IL2Cpp games, use [Cpp2IL](https://github.com/SamboyCoding/Cpp2IL) to generate assemblies. [Il2CppInterop assemblies](https://github.com/BepInEx/Il2CppInterop) used in modding will not work.
|
||||
|
||||
## Duplicate Assemblies
|
||||
|
||||
@ -34,7 +34,7 @@ It is almost always caused by having two assemblies with the same name in the Ma
|
||||
|
||||
## Modified Assemblies
|
||||
|
||||
> This can include publicized assemblies and/or unhollowed assemblies.
|
||||
> This can include publicized assemblies and/or Il2CppInterop assemblies.
|
||||
|
||||
Modified assemblies almost always cause read errors when used in AssetRipper. Here are some common changes that are known to cause lots of problems:
|
||||
* Publicizing an assembly changes field deserialization on Monobehaviours.
|
||||
|
||||
@ -21,9 +21,9 @@ Pre-releases showcase experimental features and are available in the [releases s
|
||||
|
||||
⚠️ These versions may be unstable and are recommended for testing purposes only.
|
||||
|
||||
## Alpha Builds [](https://nightly.link/AssetRipper/AssetRipper/workflows/publish/master)
|
||||
## Nightly Builds [](https://nightly.link/AssetRipper/AssetRipper/workflows/publish/master)
|
||||
|
||||
For advanced users, every commit triggers an automatic alpha build via Github Actions:
|
||||
For advanced users, every commit triggers an automatic nightly build via Github Actions:
|
||||
|
||||
| Platform | Download Link |
|
||||
|---------------|-------------------------------------------------------------------------------------------------------------|
|
||||
|
||||
@ -7,7 +7,7 @@ To build AssetRipper from source, you'll need:
|
||||
### Essential Software
|
||||
- [.NET 9 SDK](https://dotnet.microsoft.com/download/dotnet/9.0)
|
||||
|
||||
### Compatible IDEs/Editors (with C# 13 support)
|
||||
### Compatible IDEs/Editors (with C# 14 support)
|
||||
Choose one of the following:
|
||||
- [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) (Community edition is free for open-source development)
|
||||
- [Visual Studio Code](https://code.visualstudio.com/Download) with C# extension
|
||||
@ -22,3 +22,7 @@ if you want to run binary files, you need to install:
|
||||
- ⚠️ Important: Your Unity editor version should be:
|
||||
- At least as recent as the game version you're working with
|
||||
- Ideally, use the exact same version as the target game for best compatibility
|
||||
|
||||
### libwebkit2gtk
|
||||
|
||||
On Linux, `libwebkit2gtk` 4.1 or later is required.
|
||||
|
||||
@ -21,7 +21,6 @@
|
||||
|
||||
### 1.4 Remove Native Dependencies
|
||||
- Replace crunch with managed code
|
||||
- Implement support for decoding Bc textures with managed code for non-multiples of 4
|
||||
|
||||
---
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user