UltimateBotWConverter
UltimateBotWConverter copied to clipboard
BfresPlatformConverter array lower bound issue during conversion
Attempting to convert Linkle 3.0 mod produces the following result. Mod files work in WiiU format and verified as non-corrupt. Assuming the following may be edge conditions of the process. Re-attempted in single-threaded mode, no change.
2022-12-13 01:27:18,422 WARNING root content\Model\Armor_021.Tex1.sbfres could not be converted 2022-12-13 01:27:54,726 WARNING root content\Model\Armor_049.Tex1.sbfres could not be converted 2022-12-13 01:28:12,243 WARNING root content\Model\Armor_141.Tex1.sbfres could not be converted 2022-12-13 01:28:19,783 WARNING root content\Model\Armor_171.Tex1.sbfres could not be converted 2022-12-13 01:28:59,948 WARNING root content\Model\Armor_Default.Tex1.sbfres could not be converted 2022-12-13 01:28:59,953 WARNING root content\Model\Link.Tex1.sbfres could not be converted
Unhandled Exception: System.ArgumentOutOfRangeException: Number was less than the array's lower bound in the first dimension.
Parameter name: srcIndex
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length)
at Syroot.NintenTools.Bfres.Swizzling.GX2.Decode(GX2Surface tex, Int32 ArrayIndex, Int32 MipIndex, String DebugTextureName)
at Syroot.NintenTools.Bfres.WiiU.Texture.GetDeswizzledData(Int32 arrayLevel, Int32 mipLevel)
at Syroot.NintenTools.Bfres.Switch.SwitchTexture.FromWiiU(Texture textureU)
at Syroot.NintenTools.Bfres.PlatformConverters.TextureConverter.CreateBNTX(List`1 textureList)
at Syroot.NintenTools.Bfres.ResFile.ConvertTexturesToBntx(List`1 textures)
at Syroot.NintenTools.Bfres.ResFile.ChangePlatform(Boolean isSwitch, Int32 alignment, Byte versionA, Byte versionB, Byte versionC, Byte versionD, ConverterHandle handle)
at BfresPlatformConverter.Program.Main(String[] args)