Kagamia / WzComparerR2

Maplestory online Extractor
MIT License
423 stars 136 forks source link

Certain Limbo Boss Maps Give System.AggregateException #266

Open PirateIzzy opened 4 months ago

PirateIzzy commented 4 months ago

When attempting to load Limbo Phase 2 maps, an error appears. (Map ID 410009300, 410009400, and 410009500) image

[2024-07-11 12:41:28][Error][MapRender] Coroutine Error: System.AggregateException: One or more errors occurred. ---> SharpDX.SharpDXException: HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: The parameter is incorrect.

   at SharpDX.Result.CheckError()
   at SharpDX.Direct3D11.Device.CreateTexture2D(Texture2DDescription& descRef, DataBox[] initialDataRef, Texture2D texture2DOut)
   at Microsoft.Xna.Framework.Graphics.Texture2D.CreateTexture()
   at Microsoft.Xna.Framework.Graphics.Texture2D.PlatformSetData[T](Int32 level, Int32 arraySlice, Rectangle rect, T[] data, Int32 startIndex, Int32 elementCount)
   at WzComparerR2.Rendering.MonogameUtils.ToTexture(Bitmap bitmap, Texture2D texture, Point origin)
   at WzComparerR2.Rendering.WzLibExtension.ToTexture(Wz_Png png, Texture2D texture, Point origin)
   at WzComparerR2.Rendering.WzLibExtension.ToTexture(Wz_Png png, GraphicsDevice graphicsDevice)
   at WzComparerR2.MapRender.ResourceLoader.InnerLoad(Wz_Node node, Type assetType)
   at WzComparerR2.MapRender.ResourceLoader.Load[T](Wz_Node node, String assetName)
   at WzComparerR2.MapRender.ResourceLoader.Load[T](Wz_Node node)
   at WzComparerR2.MapRender.ResourceLoader.SpineTextureLoader.TryLoadTexture(String path, Texture2D& texture)
   at WzComparerR2.MapRender.ResourceLoader.SpineTextureLoader.Load(AtlasPage page, String path)
   at Spine.Atlas..ctor(TextReader reader, String imagesDir, TextureLoader textureLoader)
   at WzComparerR2.Common.SpineLoader.LoadSkeletonV4(SpineDetectionResult detectionResult, TextureLoader textureLoader)
   at WzComparerR2.Animation.SpineAnimationDataV4.Create(SpineDetectionResult detectionResult, TextureLoader textureLoader)
   at WzComparerR2.MapRender.ResourceLoader.LoadSpineAnimationData(SpineDetectionResult detectionResult)
   at WzComparerR2.MapRender.ResourceLoader.InnerLoadAnimationData(Wz_Node node)
   at WzComparerR2.MapRender.ResourceLoader.LoadAnimationData(Wz_Node node)
   at WzComparerR2.MapRender.MapData.PreloadResource(ResourceLoader resLoader, BackItem back)
   at WzComparerR2.MapRender.MapData.<>c__DisplayClass84_0.<PreloadResource>b__0(SceneNode node)
   at WzComparerR2.MapRender.MapData.<>c__DisplayClass84_0.<PreloadResource>b__0(SceneNode node)
   at WzComparerR2.MapRender.MapData.PreloadResource(ResourceLoader resLoader)
   at WzComparerR2.MapRender.FrmMapRender2.<LoadMap>d__74.MoveNext()
   --- End of inner exception stack trace ---
---> (Inner Exception #0) SharpDX.SharpDXException: HRESULT: [0x80070057], Module: [General], ApiCode: [E_INVALIDARG/Invalid Arguments], Message: The parameter is incorrect.

   at SharpDX.Result.CheckError()
   at SharpDX.Direct3D11.Device.CreateTexture2D(Texture2DDescription& descRef, DataBox[] initialDataRef, Texture2D texture2DOut)
   at Microsoft.Xna.Framework.Graphics.Texture2D.CreateTexture()
   at Microsoft.Xna.Framework.Graphics.Texture2D.PlatformSetData[T](Int32 level, Int32 arraySlice, Rectangle rect, T[] data, Int32 startIndex, Int32 elementCount)
   at WzComparerR2.Rendering.MonogameUtils.ToTexture(Bitmap bitmap, Texture2D texture, Point origin)
   at WzComparerR2.Rendering.WzLibExtension.ToTexture(Wz_Png png, Texture2D texture, Point origin)
   at WzComparerR2.Rendering.WzLibExtension.ToTexture(Wz_Png png, GraphicsDevice graphicsDevice)
   at WzComparerR2.MapRender.ResourceLoader.InnerLoad(Wz_Node node, Type assetType)
   at WzComparerR2.MapRender.ResourceLoader.Load[T](Wz_Node node, String assetName)
   at WzComparerR2.MapRender.ResourceLoader.Load[T](Wz_Node node)
   at WzComparerR2.MapRender.ResourceLoader.SpineTextureLoader.TryLoadTexture(String path, Texture2D& texture)
   at WzComparerR2.MapRender.ResourceLoader.SpineTextureLoader.Load(AtlasPage page, String path)
   at Spine.Atlas..ctor(TextReader reader, String imagesDir, TextureLoader textureLoader)
   at WzComparerR2.Common.SpineLoader.LoadSkeletonV4(SpineDetectionResult detectionResult, TextureLoader textureLoader)
   at WzComparerR2.Animation.SpineAnimationDataV4.Create(SpineDetectionResult detectionResult, TextureLoader textureLoader)
   at WzComparerR2.MapRender.ResourceLoader.LoadSpineAnimationData(SpineDetectionResult detectionResult)
   at WzComparerR2.MapRender.ResourceLoader.InnerLoadAnimationData(Wz_Node node)
   at WzComparerR2.MapRender.ResourceLoader.LoadAnimationData(Wz_Node node)
   at WzComparerR2.MapRender.MapData.PreloadResource(ResourceLoader resLoader, BackItem back)
   at WzComparerR2.MapRender.MapData.<>c__DisplayClass84_0.<PreloadResource>b__0(SceneNode node)
   at WzComparerR2.MapRender.MapData.<>c__DisplayClass84_0.<PreloadResource>b__0(SceneNode node)
   at WzComparerR2.MapRender.MapData.PreloadResource(ResourceLoader resLoader)
   at WzComparerR2.MapRender.FrmMapRender2.<LoadMap>d__74.MoveNext()<---

It seems like another Spine issue, since the background objects don't load at all: image image

Not as high of a priority as the .ms file issue though.

Kagamia commented 4 months ago

known issue, we also find some textures missing from the new added spine skeleton. Curious how the game itself handles the resource missing error.

PirateIzzy commented 4 months ago

So far it seems the game doesn't have any obvious issues. Phase 2 (all 3 maps above) appear from 6:20:09 - 6:27:00 in this livestream: https://youtu.be/qnTFMxsJGn8?t=22809