Today a post about upcoming Repack features.
On a previous week I managed to add and test a repack style that creates additional PAZ file. It works perfectly fine, and is backwards-extractable, but for some reason JP client refuses to load it, I still have no idea why (maybe there's some hardcoded value in the client, that indicates paz files count or something like that). Also I expanded JP auto-patcher with the possibility of auto-patching repacked meta and paz files.
On this week I haven't done anything until today. Today I managed to modify previously added repack style to fit it into FEX and previously created UI. Also added repack style that appends existing PAZ file, but I still have to test it.
Here's a look on the Repack style in External FEX:
Code: Select all
"Repack": {
"JP": {
"TEST1": {
"RepackFiles": [
{
"PackedFileName": "ui_texture/new_ui_common_forlua/window/chatting/chatting_btn_01.dds",
"FileDestination": "\\ui_texture\\new_ui_common_forlua\\window\\chatting\\chatting_btn_01.dds",
"PazNumber": 99999,
"Compressed": false,
"Action": "None",
"Style": "CreatePAZ"
},
{
"PackedFileName": "ui_texture/new_ui_common_forlua/window/chatting/chatting_btn_02.dds",
"FileDestination": "\\ui_texture\\new_ui_common_forlua\\window\\chatting\\chatting_btn_02.dds",
"PazNumber": 99999,
"Compressed": false,
"Action": "None",
"Style": "CreatePAZ"
},
{
"PackedFileName": "ui_texture/new_ui_common_forlua/default/questmon.dds",
"FileDestination": "\\ui_texture\\new_ui_common_forlua\\default\\questmon.dds",
"PazNumber": 99999,
"Compressed": false,
"Action": "None",
"Style": "CreatePAZ"
}
]
},
"TEST2": {
"RepackFiles": [
{
"PackedFileName": "ui_texture/new_ui_common_forlua/window/chatting/chatting_btn_01.dds",
"FileDestination": "\\ui_texture\\new_ui_common_forlua\\window\\chatting\\chatting_btn_01.dds",
"PazNumber": 0,
"Compressed": false,
"Action": "None",
"Style": "AppendPAZ"
},
{
"PackedFileName": "ui_texture/new_ui_common_forlua/window/chatting/chatting_btn_02.dds",
"FileDestination": "\\ui_texture\\new_ui_common_forlua\\window\\chatting\\chatting_btn_02.dds",
"PazNumber": 0,
"Compressed": false,
"Action": "None",
"Style": "AppendPAZ"
},
{
"PackedFileName": "ui_texture/new_ui_common_forlua/default/questmon.dds",
"FileDestination": "\\ui_texture\\new_ui_common_forlua\\default\\questmon.dds",
"PazNumber": 0,
"Compressed": false,
"Action": "None",
"Style": "AppendPAZ"
}
]
}
}
}
- Repack - indicates Repack section of FEX.
- JP - server name.
- TEST1 - /whatever name that will appear in advanced tab, and will be used via Projects, so make sure that all of those are unique.
- RepackFiles - a list of files that will be used in this repacking.
- PackedFileName - destination used by the game client.
- FileDestination - actual path to the file that will be repacked. Relative path will use related server Repack folder (e.g. Launcher\BDO\Repack\JP). Absolute path can be specified as well (e.g. "C:\\ui_texture\\new_ui_common_forlua\\default\\questmon.dds").
- PazNumber - number of the paz file to which file will be repacked. It can be anything from 1 to 99999. Negative numbers will result in "1". Numbers higher than 99999 will result in "99999". There's also a special number - 0, which will result in a paz file number that currently contains specified PackedFileName.
- Compressed - if the file should be compressed. As of now compression isn't implemented, so it should be set to false.
- True - compress. Unimplemented.
- False - do not compress.
- Action - will allow to repack multiple files, similarly to FEX. As of now there's only 1 action:
- None - Performs actions with a single file specified in PackedFileName/FileDestination.
- Style - Repack style.
- CreatePAZ - Create a new paz file with specified paz number and files. If such paz file already exists - a backup will be made and file will be overwritten.
- AppendPAZ - Append specified paz file with specified files. Original files will remain in paz file. Backup will be made.
- InsertPAZ - Insert a specified files in a specified paz file. Overwrites original files. Backup will be made. Unimplemented.
Most likely I'll update the development version after the tests with AppendPAZ.
As of now files with size smaller than 1KB (1024 bytes) are not supported. Probably I'll add support for those before the update.
Implementation is currently very RAM-hungry, and will be optimized only after it'll all work as expected, so be aware of that (repacking whole client in a one go isn't advised).
It doesn't matter if you bunch all files under one checkmark or multiple, all of the checked files will be sorted into 3 categories (CreatePAZ/AppendPAZ/InsertPAZ) and will be executed in a following manner:
- CreatePAZ #1-99999
- InsertPAZ #1-99999
- AppendPAZ #1-99999
And before I wrap this post up - various changes (improvements) were applied to the way BDO Patcher interacts with meta file. If you'll have any troubles with the related functionality (e.g. if it works in v0.7b20, but doesn't in development version) - let me know.
That's probably everything that I wanted to mention. InsertPAZ should be treated similarly to AppendPAZ by the game client, so if there will be problems with AppendPAZ - I'll focus on solving those before I'll dive into the hassle with InsertPAZ.