LV. 3
GP 108

【情報】【VisualGGPK2】Content.ggpk編輯器,libggpk重製版,支援3.12後新GGPK

樓主 aianlinb aianlinb
GP106 BP-

作者標示-非商業性

本授權條款允許使用者重製、散布、傳輸以及修改著作,但不得為商業目的之使用。使用時必須按照著作人指定的方式表彰其姓名。

轉載請註明出處!!

3.11.2更新後GGPK的檔案儲存格式跟以往大不同
詳情請看官方公告: 傳送門
用舊版的VisualGGPK打開只會看到一堆xxx.bundle.bin
我花了很長時間開發的VisualGGPK2就這樣誕生了
2020/10/11發布第一個預覽版本,歷經長時間的Debug
目前已算穩定
先上GitHub連結 => LibGGPK2
進連結順便幫按右上角星星><
載點請點進右方的 Releases
展開最新版本的第一個.zip檔就是

本程式僅支援64位元的作業系統!
使用此程式要先裝 .Net 6.0

請下載右側 .NET Desktop Runtime 底下的x64

注意不是 .NET Runtime

老話一句還是得說:
任何修改遊戲檔案的行為都不保證不會被鎖,本人開發此程式僅為學習用途,不會對使用者的任何行為負任何責任

進到GitHub連結就能看到有介紹重製後與舊版的差異了,不想看/看不懂英文的可以看以下翻譯,要看功能介紹的請直接移駕至下一個區塊~~

相較舊版的優點/新功能:
  • 直接存取Bundle中的檔案,操作幾乎跟舊版的一樣,好像Bundle不存在一樣。
  • 不再一開始讀取整個GGPK目錄,只在展開目錄時載入,程式開啟時間大幅縮短,尤其在非SSD的傳統硬碟上。
  • 修改後的檔案會找GGPK中的空隙存進去(如果空隙夠大),而不是直接加到檔案末端,避免頻繁修改導致GGPK檔案快速增大。
  • 保護機制,VisualGGPK2開啟時其他軟體無法編輯GGPK,防止同時修改導致檔案損毀,左下角仍有一個按鍵可以暫時允許遊戲啟動。
  • 直接左鍵點在資料夾上就能展開了~ 不用刻意去點左邊的小箭頭。
  • 可以以資料夾取代GGPK內的資料夾,不必再為了某幾個檔案從ROOT開始建立起資料夾...
  • 可輸入檔案路徑的關鍵字過濾檔案(支援正則表達式),僅支援Bundles2資料夾底下的檔案。
  • 可一鍵從伺服器復原原始檔案,不用再慢慢跑PackCheck(GGPK壞掉除外)
  • 正在匯入檔案時不再停止回應,會有一個簡單明瞭的進度視窗。
  • DDS預覽終於修好了~~,可以直接在裡面看圖了。
  • 文字文件邊預覽可以直接編輯直接儲存,不用匯出改完再匯入。
  • 程式出錯會有錯誤視窗顯示錯誤訊息方便回報,不再像舊版直接閃退。
  • 改用.Net Core框架(現在為.Net),效能較以前的.Net Framework好。
  • 移除大量不必要代碼,優化效能。
  • dat檔全面支援編輯、匯出和匯入,且支援.dat .dat64 .datl .datl64等格式。
  • 程式啟動時自動檢查更新,不再錯過Bug修復和新功能。
  • 圖片預覽現在可以透過滾輪縮放了。
  • 可以批量將大量dds圖檔轉成png並匯出。

未來預計加入功能:
  • 檔案過濾,以名稱或路徑過濾要顯示出來或要匯出的檔案(已完成)
  • 允許拖入壓縮檔(這以前就有的功能我突然想到忘記做XD)(已完成)
  • 更多種檔案的預覽,如ogg, bank, bk2 . . . 等等(ㄜ.. 懶得更新了XD)
  • 一鍵還原所有更改(事實上不會移除新檔案,只是把舊的檔案叫回來而已)(已完成)

功能介紹:
開啟程式選擇GGPK後,就會見到熟悉的主畫面,其中大部分以前的檔案都被移到了Bundles2裡面了
展開點擊裡面的圖片或文件都可預覽(圖片可右鍵存為PNG)
其中文字檔甚至可以編輯後儲存
dat檔當然也不例外~ 只是目前尚不提供編輯功能(已實作,但不再維護)
編輯功能已完成,現在可以任意更改dat檔的任何資料了
編輯完成後記得點右上角Save哦~
點擊右鍵可以匯出匯入任何資料夾或檔案
當然還是可以用老方法拖曳進去,只是得包含從ROOT起的完整路徑
可以拖資料夾或是zip壓縮檔

2021/2/18更新,右鍵選單多了一個Recovery可以將檔案復原成官方原始檔案,一樣可以用於檔案和資料夾(可以放心直接對Bundles2點,幾乎瞬間就完成,但除了Bundles2底下以外的檔案就真的要等它下載了)
.dat檔預覽畫面右上角也多了匯出至.csv表格的按鈕

2021/10/24更新,右鍵選單多了一個Convert dds to png可以將該目錄底下所有dds圖檔都轉為png匯出(不包含.header檔),以前不支援透明的問題也解決了

2樓有個紋理壓縮的範例,詳細步驟圖文都有

程式還提供兩個額外功能給進階使用者使用:
分別有兩個檔案SteamMode.bat和BundleMode.bat
前者可用於steam版POE(沒有GGPK),後者可於開啟時正常顯示Bundle不會預先拆解(也就是舊版VisualGGPK的功能),不知道我在說啥的人可以直接忽略~~~

程式隨時會更新,隨時會修復錯誤,請時常關注GitHub哦~
也請大家如果有BUG務必回報><,回報時請附上完整錯誤訊息和發生時機點,你們的一個小動作可能可以解決非常多人正遇到的問題~

轉載請註明出處!!
106
-
0
LV. 10
GP 309
2 樓 Comic kicowel
GP3 BP-
3
-
LV. 1
GP 0
3 樓 欧阳诛仙 zhuanchang
GP0 BP-
没法查看编辑dat文件吗,直接报错,求问怎么才能编辑dat文件呢?    
谢谢!!!!
0
-
LV. 1
GP 0
4 樓 WarmarE xxwarmarexx
GP2 BP-
真的很感恩aianlinb大大~~
也很抱歉C#還在緩慢學習中,現在重心都在Unity跟養病,還有自己的其他programme coding要做...><
最終沒有幫上忙,有點愧疚QQ

另外,如果台服有要用英文化遇到問題的玩家
用aianlinb版大的GGPK2就可以使用以前的GGPK1的老方法操作囉~ :D
低調題外話: (招收也是英文化的公會成員)
在下是休閒型玩家,從poe國際服一開始玩到現在~~~
2
-
LV. 10
GP 0
5 樓 Hattori unbre1230a
GP1 BP-

下載了.NET Desktop Runtime   還是打不開GGPK

1
-
LV. 12
GP 172
6 樓 神月 gn0001232001
GP0 BP-
請問無法拖洩怎半
顯是一個禁止符號
匯入也都找不到可匯入檔案
0
-
LV. 15
GP 310
7 樓 吃兔子的紅蘿蔔 demidemon
GP0 BP-

作者標示-非商業性

本授權條款允許使用者重製、散布、傳輸以及修改著作,但不得為商業目的之使用。使用時必須按照著作人指定的方式表彰其姓名。

剛剛用v0.11.4 Export時說有700多個missing bundle, content.ggpk是用torrent下載的. 測試了兩次都是700多個missing bundle

每次改版都要更新一次 大大辛苦了
0
-
LV. 19
GP 157
8 樓 aianlinb aianlinb
GP3 BP-

作者標示-非商業性

本授權條款允許使用者重製、散布、傳輸以及修改著作,但不得為商業目的之使用。使用時必須按照著作人指定的方式表彰其姓名。

最新版 (v0.12.4) 隆重推出dat檔編輯功能
選擇想編輯的檔案,對要修改的欄位點兩下編輯
編輯完按Enter後點選右上角Save即可儲存
另外補充一下,現在圖片預覽可以用滾輪縮放了哦~
3
-
LV. 1
GP 0
9 樓 mimimiqqq testcodeman
GP0 BP-
SteamMode.bat打开,拖入zip,显示System.InvalidOperationException: The calling thread cannot access this object because a different thread owns it.
   at System.Windows.Threading.Dispatcher.VerifyAccess()
   at System.Windows.Window.get_CriticalHandle()
   at System.Windows.Interop.WindowInteropHelper.get_CriticalHandle()
   at System.Windows.MessageBox.Show(Window owner, String messageBoxText, String caption, MessageBoxButton button, MessageBoxImage icon)
   at VisualGGPK2.MainWindow.<>c__DisplayClass19_0.<OnDragDrop>b__1() in C:\LibGGPK2\VisualGGPK2\MainWindow.xaml.cs:line 389
0
-
LV. 1
GP 0
10 樓 mimimiqqq testcodeman
GP0 BP-
SteamMode.bat下,右键进行replace存在问题,例子:
我先对effects/microtransactions/bodyarmours/wings/CarnageWings/rig.ao右键replace,替换成功一切正常
然后我对同目录的rig.aoc进行替换,rig.aoc替换成功,但是之前替换的rig.ao也会跟着变化
0
-
LV. 1
GP 0
11 樓 mimimiqqq testcodeman
GP0 BP-
作者9楼的问题能看一下嘛,无论是steam版还是官版,打开拖入zip都会显示9楼的错误
0
-
LV. 1
GP 0
12 樓 mimimiqqq testcodeman
GP0 BP-
steamMode拖入Bundles2文件夹,已经可以正常显示replace 76 files确认框,但点确认会报错
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at System.Linq.Enumerable.ElementAt[TSource](IEnumerable`1 source, Int32 index)
   at LibBundle.IndexContainer.GetSmallestBundle(IList`1 Bundles) in C:\LibGGPK2\LibBundle\IndexContainer.cs:line 180
   at LibGGPK2.GGPKContainer.Replace(IEnumerable`1 list, Action ProgressStep) in C:\LibGGPK2\LibGGPK2\GGPKContainer.cs:line 252
   at VisualGGPK2.MainWindow.<>c__DisplayClass19_0.<OnDragDrop>b__1() in C:\LibGGPK2\VisualGGPK2\MainWindow.xaml.cs:line 413
0
-
LV. 1
GP 0
13 樓 mimimiqqq testcodeman
GP0 BP-
感谢作者,现在拖入bundles2文件夹能替换成功了,我的问题也解决了。但是我注意到你的git commit message里显示“drag-drop both ROOT or Bundles2 folder”,但是根据我测试,V0.12.12版本VisualGGPK2打开content.ggpk拖入Bundles还是会显示"You can only drop root folder or a .zip file that contains it"。用steamMode.bat打开_.index.bin,能直接拖入Bundles2,但是如果拖入ROOT文件夹,会显示“You can only drop root folder or a .zip file that contains it",如果拖入ROOT.zip,会显示“Not found in GGPK: ROOT/Bundles/Metadata/Effects/Microtransactions/Aura/fairgraves_corsair/corsair_aura.ao”,这个文件是我zip里要替换的文件路径。

0
-
LV. 1
GP 0
15 樓 欧阳诛仙 zhuanchang
GP0 BP-
游戏更新后,查看dat文件报错,没法查看了,也没法编辑,
这样是要等楼主大大更新吗?
谢谢,
0
-
LV. 1
GP 0
16 樓 欧阳诛仙 zhuanchang
GP0 BP-
又遇到问题了老大,
因为想对一个dat文件里边数据改的东西有点多,直接在工具里边一个一个改比较麻烦,也不能批量粘贴,就想把dat导出到csv,不过这个导出csv功能好像不正常?就是把一个dat文件导出为csv之后再把这个csv导入进去之后, 这个dat文件就坏掉了,进游戏也会闪退,工具再查看这个dat文件如图报错.是我哪里操作出问题还是啥情况?
0
-
LV. 18
GP 8
17 樓 哇夕號呆 s40172
GP0 BP-
請問我按VisualGGPK2 都會跑出


但我有下載安裝
有哪位大神知道嗎 感恩
0
-
LV. 30
GP 48
18 樓 Marine c08090400
GP0 BP-
我有照著文章去microsoft的官網下載.NET Desktop Runtime 5.0.14 x64 還是無法開啟
0
-
LV. 1
GP 0
19 樓 adam45547 s13113171
GP0 BP-
請問
System.DllNotFoundException: Unable to load DLL 'oo2core_9_win64.dll' or one of its dependencies: 找不到指定的模組。 (0x8007007E)
怎麼解決
0
-
LV. 15
GP 3
20 樓 KAKA siub234
GP0 BP-

VisualGGPK抓不到檔

0
-
未登入的勇者,要加入 34 樓的討論嗎?
板務人員: