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

Applying EMIP to compressed bundle #262

Open
ibaios opened this issue Jul 12, 2023 · 4 comments
Open

Applying EMIP to compressed bundle #262

ibaios opened this issue Jul 12, 2023 · 4 comments
Labels
feature New feature or request

Comments

@ibaios
Copy link

ibaios commented Jul 12, 2023

Hi,
I have used emip files to replace text assets in *.assets files many times thanks to UABEA.
But now I have a data.unity3d bundle file that is compressed, and even if I create the EMIP file without problems (or at least without errors), when I try to apply the EMIP, I get an error like this:

uabea crash exception (please report this crash with uabeacrash.log)
System.IO.IOException: Not a directory : '/home/deck/.steam/steam/steamapps/common/SIGNALIS/SIGNALIS_Data/data.unity3d/resources.assets'
at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func2 errorRewriter) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode) at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize) at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize) at UABEAvalonia.CommandLineHandler.ApplyEmip(String[] args) in /home/runner/work/UABEA/UABEA/UABEAvalonia/CommandLineHandler.cs:line 318 at UABEAvalonia.CommandLineHandler.CLHMain(String[] args) in /home/runner/work/UABEA/UABEA/UABEAvalonia/CommandLineHandler.cs:line 369 at UABEAvalonia.Program.Main(String[] args) in /home/runner/work/UABEA/UABEA/UABEAvalonia/Program.cs:line 47 Unhandled exception. System.IO.IOException: Not a directory : '/home/deck/.steam/steam/steamapps/common/SIGNALIS/SIGNALIS_Data/data.unity3d/resources.assets' at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func2 errorRewriter)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at UABEAvalonia.CommandLineHandler.ApplyEmip(String[] args) in /home/runner/work/UABEA/UABEA/UABEAvalonia/CommandLineHandler.cs:line 318
at UABEAvalonia.CommandLineHandler.CLHMain(String[] args) in /home/runner/work/UABEA/UABEA/UABEAvalonia/CommandLineHandler.cs:line 369
at UABEAvalonia.Program.Main(String[] args) in /home/runner/work/UABEA/UABEA/UABEAvalonia/Program.cs:line 47
Aborted (core dumped)

It seems that it treats the bundle file as if it was a directory. I have tried with an uncompressed bundle too, but I get the same result.

Am I doing something wrong? Is it possible to apply EMIP files to *.unity3d bundles?

I am using the sixth release for Ubuntu.

Thank you in advance,

@nesrak1
Copy link
Owner

nesrak1 commented Jul 13, 2023

Bundle emips aren't supported. I never finished support for emip because I'm planning on making a different format that's more resilient to game updates.

@nesrak1 nesrak1 added the feature New feature or request label Jul 13, 2023
@ibaios
Copy link
Author

ibaios commented Jul 13, 2023

Thank you for the quick reply!
While the new format is created, is there any way to uncompress/compress bundles and extract/import assets to the bundle without user interaction? Can it be done using a terminal command or maybe with a small program? Is there any documentation about this?

Thank you a lot!

@nesrak1
Copy link
Owner

nesrak1 commented Jul 13, 2023

For the time being, you can write a program to patch the bundle with AssetsTools.NET which is what UABEA uses or UnityPy which is a Python library that can do similar to patch the bundle.

@ibaios
Copy link
Author

ibaios commented Jul 13, 2023

Great! Thanks for the help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants