mafaca / UtinyRipper

GUI and API library to work with Engine assets, serialized and bundle files
MIT License
2.78k stars 426 forks source link

Index was out of range error on Realm of the mad god. #667

Closed VadimAlexeev0 closed 3 years ago

VadimAlexeev0 commented 4 years ago

Game name: Realm Of The Mad God Exalt Beta, able to be downloaded for free here once installed the game is located in Documents.

Engine version: Unknown Platform: Windows / PC Thanks.

Error message: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

Stack trace: at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) at System.SZArrayHelper.get_Item[T](Int32 index) at uTinyRipper.Converters.Sprites.MeshOutlineGenerator.GenerateOutlines() at uTinyRipper.Classes.Sprites.SpriteRenderData.VertexDataToOutline(List1 outlines, Vector3f[] vertices, SubMesh& submesh) at uTinyRipper.Classes.Sprites.SpriteRenderData.GenerateOutline(Version version) at uTinyRipper.Classes.Sprite.GenerateOutline(SpriteAtlas atlas, Rectf rect, Vector2f pivot) at uTinyRipper.Converters.SpriteConverter.GenerateSpriteMetaData(IExportContainer container, SpriteAtlas originAtlas, Sprite origin) at uTinyRipper.Project.TextureExportCollection.AddSpriteSheet(IExportContainer container, TextureImporter importer) at uTinyRipper.Project.TextureExportCollection.AddSprites(IExportContainer container, TextureImporter importer) at uTinyRipper.Project.TextureExportCollection.CreateImporter(IExportContainer container) at uTinyRipper.Project.AssetExportCollection.Export(ProjectAssetContainer container, String dirPath) at uTinyRipper.Converters.ProjectExporter.Export(String path, GameCollection fileCollection, IEnumerable1 files, ExportOptions options) at uTinyRipper.GameStructure.Export(String exportPath, Func`2 filter) at uTinyRipperGUI.MainWindow.ExportFiles(Object data)

VadimAlexeev0 commented 4 years ago

Seems like someone else is also having an issue with the same game in issue #660 although it's a different error.

mafaca commented 3 years ago

Maybe unity added new approach to work with sprites. There is 1 texture and only 1 sprite even tho texture actually contains 10000 sprites. There are 10000 physics shape outlines, but only 1 vertex data for renderer. And even if I try to restore renderer outline from this vertex data, it generate absurd vertex positions. Looks like this game uses custom package to generate and work with sprites, so I consider it as unsupported. If somebody can reproduce such weird vertex data for sprite in editor, let me know.