├── VisualBundle ├── Resources │ ├── dir.ico │ ├── file.ico │ └── notexist.ico ├── App.xaml.cs ├── App.xaml ├── BackgroundWindow.xaml.cs ├── BackgroundWindow.xaml ├── VisualBundle.csproj ├── ErrorWindow.xaml ├── ErrorWindow.xaml.cs ├── ItemModel.cs ├── Properties │ ├── Resources.Designer.cs │ └── Resources.resx ├── MainWindow.xaml ├── OpenFolderDialog.cs └── MainWindow.xaml.cs ├── LibBundle ├── LibBundle.csproj ├── Records │ ├── DirectoryRecord.cs │ ├── FileRecord.cs │ └── BundleRecord.cs ├── IndexContainer.cs └── BundleContainer.cs ├── FileListGenerator ├── FileListGenerator.csproj └── Program.cs ├── BundleExporter ├── BundleExporter.csproj └── Program.cs ├── .github └── FUNDING.yml ├── README.md ├── LibBundle.sln ├── .gitignore └── LICENSE /VisualBundle/Resources/dir.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aianlinb/LibBundle/HEAD/VisualBundle/Resources/dir.ico -------------------------------------------------------------------------------- /VisualBundle/Resources/file.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aianlinb/LibBundle/HEAD/VisualBundle/Resources/file.ico -------------------------------------------------------------------------------- /VisualBundle/Resources/notexist.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aianlinb/LibBundle/HEAD/VisualBundle/Resources/notexist.ico -------------------------------------------------------------------------------- /VisualBundle/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace VisualBundle 4 | { 5 | public partial class App : Application 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /VisualBundle/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /LibBundle/LibBundle.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | aianlinb 6 | Copyright © 2020-2022 aianlinb. 7 | 2.6.0 8 | x64 9 | x64 10 | true 11 | 12 | 13 | -------------------------------------------------------------------------------- /VisualBundle/BackgroundWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | namespace VisualBundle 3 | { 4 | public partial class BackgroundWindow : Window 5 | { 6 | public BackgroundWindow() 7 | { 8 | InitializeComponent(); 9 | Closing += OnClosing; 10 | } 11 | 12 | internal void OnClosing(object sender, System.ComponentModel.CancelEventArgs e) 13 | { 14 | e.Cancel = true; 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /VisualBundle/BackgroundWindow.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /FileListGenerator/FileListGenerator.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | aianlinb 7 | Copyright © 2020-2021 aianlinb. 8 | 2.6.0 9 | x64 10 | x64 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /BundleExporter/BundleExporter.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net6.0 6 | aianlinb 7 | Copyright © 2020-2021 aianlinb. 8 | 2.6.0 9 | x64 10 | x64 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /LibBundle/Records/DirectoryRecord.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.IO; 3 | 4 | namespace LibBundle.Records 5 | { 6 | public class DirectoryRecord 7 | { 8 | public List children = new(); // Files only 9 | 10 | public ulong NameHash; 11 | public int Offset; 12 | public int Size; 13 | public int RecursiveSize; 14 | 15 | public DirectoryRecord(BinaryReader br) 16 | { 17 | NameHash = br.ReadUInt64(); 18 | Offset = br.ReadInt32(); 19 | Size = br.ReadInt32(); 20 | RecursiveSize = br.ReadInt32(); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-namepackage-name e.g., npmbabel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: [paypal.me/aianlinb] 13 | -------------------------------------------------------------------------------- /VisualBundle/VisualBundle.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WinExe 5 | net6.0-windows 6 | aianlinb 7 | Copyright © 2020-2021 aianlinb 8 | 2.6.0 9 | x64 10 | x64 11 | true 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | True 21 | True 22 | Resources.resx 23 | 24 | 25 | 26 | 27 | 28 | ResXFileCodeGenerator 29 | Resources.Designer.cs 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # This repository is deprecated 2 | See https://github.com/aianlinb/LibGGPK2 3 | # LibBundle 4 | Library for handling *.bundle.bin in GGPK of game PathOfExile after version 3.11.2 5 | # VisualBundle 6 | The visual program for editing *.bundle.bin 7 | 8 | Usage: 9 | 1. Use VisualGGPK to extract all *.bundle.bin you wanna load. (Must contain _.index.bin) 10 | 2. Run the program and select _.index.bin. 11 | 12 | Function of the buttons: 13 | - Export: Export the selected files or directories. 14 | - Replace: Replace the selected file with a new file 15 | - Import: Select a directory on your disk, and all the files in it will be written to the smallest bundle of loaded bundles. Note that only files defined by _.index.bin can be imported. 16 | - Open: Export the file to a temporary folder and open it. 17 | - Save: Apply the above actions. 18 | # FileListGenerator 19 | Generate a FileList.yml that shows all file paths that all *.bundle.bin contain. 20 | 21 | Usage: 22 | 1. Put the _.index.bin and the program in the same folder. 23 | 2. Run the program. 24 | # BundleExporter 25 | Console program for export files in .bundle.bin 26 | 27 | Usage: 28 | 1. Use VisualGGPK to extract all *.bundle.bin you wanna load. (Must contain _.index.bin) 29 | 2. Put BundleExporter.exe into Bundles2 folder (where _.index.bin is). 30 | 3. Run the program. 31 | -------------------------------------------------------------------------------- /VisualBundle/ErrorWindow.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 |