WzComparerR2 icon indicating copy to clipboard operation
WzComparerR2 copied to clipboard

MSEA v236 的特定道具因出现重复键值导致 QuickView 无法正常输出

Open HikariCalyx opened this issue 1 year ago • 3 comments

已知受影响的道具 ID 为 1006523。 image

System.ArgumentException: An item with the same key has already been added. Key: reqJob
   at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
   at WzComparerR2.CharaSim.Gear.CreateFromNode(Wz_Node node, GlobalFindNodeFunction findNode)
   at WzComparerR2.MainForm.quickView(Node node)
   at WzComparerR2.MainForm.advTree1_AfterNodeSelect_2(Object sender, AdvTreeNodeEventArgs e)
   at DevComponents.AdvTree.AdvTree.OnAfterNodeSelect(AdvTreeNodeEventArgs args)
   at DevComponents.AdvTree.AdvTree.SelectNode(Node node, eTreeAction action)
   at WzComparerR2.MainForm.OnSelectedWzNode(Wz_Node wzNode)
   at WzComparerR2.MainForm.listViewExStringFind()
   at WzComparerR2.MainForm.listViewExString_MouseDoubleClick(Object sender, MouseEventArgs e)
   at System.Windows.Forms.Control.OnMouseDoubleClick(MouseEventArgs e)
   at System.Windows.Forms.ListView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)

image 作为 workaround,修改 Gear.cs 的逻辑可以解决此问题,见以下commit。 https://github.com/HikariCalyx/WzComparerR2-JMS/commit/09ec96ef55812b1630fd607dd3377fc103973c85

HikariCalyx avatar Oct 05 '24 03:10 HikariCalyx

"Property可以重复"这个假设真的会把整个wzlib击碎...

Kagamia avatar Oct 06 '24 05:10 Kagamia

我思考了很久,wzlib应该一开始就不支持重复节点,所以这个属性是怎么读取成功的,有img的样本嘛?

Kagamia avatar Dec 21 '24 20:12 Kagamia

01006523.zip

HikariCalyx avatar Dec 22 '24 09:12 HikariCalyx