aianlinb / VisualGGPK2

Library for Content.ggpk of PathOfExile (Rewrite of libggpk)
GNU Affero General Public License v3.0
159 stars 32 forks source link

大大安安,v0.12.5保存chests.dat按下Save時會報錯。上次説的Words.dat已經可以正常地Save了。 #18

Closed Acer-bdog closed 3 years ago

Acer-bdog commented 3 years ago

上次説的Words.dat已經在v0.12.5可以正常地Save了,但是chests.dat按下Save時會報錯,上次chests.dat可以正常地按下Save啊,(●ˇ∀ˇ●),報錯的·Text如下:

System.ArgumentException: An item with the same key has already been added. Key: [74, Metadata/Chests/Barrels/Barrel1.ao] at System.Collections.Generic.TreeSet1.AddIfNotPresent(T item) at System.Collections.Generic.SortedDictionary2.Add(TKey key, TValue value) at LibDat2.Types.ReferenceDataBase1.Write(BinaryWriter writer) in C:\LibGGPK2\LibDat2\Types\ReferenceDataBase.cs:line 72 at LibDat2.Types.ArrayData1.WriteInDataSection(BinaryWriter writer) in C:\LibGGPK2\LibDat2\Types\ArrayData.cs:line 206 at LibDat2.Types.ReferenceDataBase1.Write(BinaryWriter writer) in C:\LibGGPK2\LibDat2\Types\ReferenceDataBase.cs:line 81 at LibDat2.Types.ArrayData1.Write(BinaryWriter writer) in C:\LibGGPK2\LibDat2\Types\ArrayData.cs:line 143 at LibDat2.DatContainer.Save(Stream stream, Boolean x64, Boolean UTF32) in C:\LibGGPK2\LibDat2\DatContainer.cs:line 384 at LibDat2.DatContainer.Save(Boolean x64, Boolean UTF32) in C:\LibGGPK2\LibDat2\DatContainer.cs:line 363 at VisualGGPK2.MainWindow.OnSaveDatClicked(Object sender, RoutedEventArgs e) in C:\LibGGPK2\VisualGGPK2\MainWindow_Dat.cs:line 197 at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.Controls.Primitives.ButtonBase.OnClick() at System.Windows.Controls.Button.OnClick() at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args) at System.Windows.Input.InputManager.ProcessStagingArea() at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel) at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) image

Acer-bdog commented 3 years ago

我剛才使用v0.12.4按下Save可以正常地保存chests,現在我使用v0.12.5保存Words.dat的修改,再使用v0.12.4 Save chests (●ˇ∀ˇ●)

aianlinb commented 3 years ago

Fixed in v0.12.6

Acer-bdog commented 3 years ago

在 v0.12.6 中修复

在v0.12.6中按下Save 保存chests.dat 后LibGGPK確實不會報錯了,但是進入游戲地圖,游戲會直接關閉消失掉。