nesrak1 / UABEA

c# uabe for newer versions of unity
MIT License
1.1k stars 143 forks source link

New features have been added to the Assets Info, Batch import, mainWindow, and MessageBox windows #231

Closed avan06 closed 1 year ago

avan06 commented 1 year ago

New features have been added to the Assets Info, Batch import, mainWindow, and MessageBox windows, as follows:

  1. In the Assets Info window, a "Filter by" field (filterByTextBox) and dropdown selection boxes for "Name, Container, Type, FileID, PathID" (filterByComboBox) have been added, allowing users to customize the display conditions of assets based on their needs. AssetsInfo

  2. In the Batch import window, a "Custom matching syntax" field (matchByTextBox) has been added, allowing users to input their own matching syntax for greater flexibility in handling file name formats when importing data in batches. Custom matching syntax, default is "-{File}-{PathID}", {Description}: assetName, {File}: assetFile, {PathID}: pathId BatchImport

  3. In the mainWindow, features have been added to pre-fill file names when saving modified assets or bundle files with the string "-MOD", when compressing files with the string "-compressed", and when decompressing files with the string "-decompressed". These features make it more convenient and efficient for users to perform these operations.

  4. In the MessageBox window, the window height will now automatically adjust based on the length of the message, with a height range between 90 and 300, in order to improve the user's experience.

  5. Since version 11 of the Avalonia framework has marked the FileSystemDialog as obsolete and recommends using the Window.StorageProvider API instead, all of the following APIs have been modified according to the official recommendations: OpenFileDialog => StorageProvider.OpenFilePickerAsync + FilePickerOpen Options OpenFolderDialog => StorageProvider.OpenFolderPickerAsync + FolderPickerOpenOptions SaveFileDialog => StorageProvider.SaveFilePickerAsync + FilePickerSaveOptions

nesrak1 commented 1 year ago

Quite a bit of features in one PR but they're mostly related...

(1) Looks and works fine, would maybe suggest making the splitter width a little bigger so it's easier to grab.

(2) It's a little weird that custom formats are only supported on import but not export, but people exporting with UnityPy will find it useful with only asset names for the filename will complain that batch import doesn't work. I can see this being useful for those people, although I think there should be a checkbox rather than asking the user every import for the format. Obviously there are issues with assets that share the same name, but there are some problems with the EndsWith checking such as two assets ending with the same string:

UABEAvalonia_gG58lgvwX9

In this case, all of the cybercorn images tried to select ecybercorn.png. I'd say leave this one out of the PR for now.

(3) Decompression works fine for bundles, but when saving a modified assets file, I don't get the mod file name.

(4) and (5) are fine.