Advanced patching (mods, other translations)

User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Posts: 1541
Joined: Thu 1998.01.01, 00:00
Honor: 3022
Points: 2423538825.90
BDO: Blader
Cabal: BL
Vindictus: Lann
C9: Blade Dancer
Gender: Male
Karma: 神風
: Assassin Black Star Winged Devotion Dedication Heavy 1st 20 HR BDO JP Volunteer BDO KR Translator BDO JP Translator BDO RU Translator Black Spirit inside Black Spirit's Partner
Medals: 17
Contact:

Advanced patching (mods, other translations)

Postby KAMIKADzE » Sat 2016.06.25, 23:43

Here I'll explain current process of modding, using mods, customs translations, various buttons, etc.

First of all let's start with UI. Patch and Get RAW buttons I've already explained THERE and THERE respectively.
"datasheets to languagedata" does exactly what it says, and the result you'll find in Launcher\BDO\out folder.
XML Table Names is also self-explanatory, the result you'll find in the same folder as that XML file.
XLSX/M to XML is also self-explanatory, the result will appear in the same folder. Same goes for XML to XLSM, except that you can also specify the author name in Preferences => BDO Patcher settings => Patch author (Anon by default).

If you want me to add support for your client (currently Launcher supports only JP/KR/EU/NA/RU) you can start with going to menu "???" => GenerateBDOInfo => select "pad00000.meta", which is located in the Paz folder of your BDO client => it will generate BDO info which I require, the result can be found in Launcher\BDO\out folder in a form of 2 files "BDOInfoMain.li" and "BDOInfoPatch.lf" => upload it somewhere for me to download and contact me, I'll still need you for a couple of things, including tests, so contact me in the way that I'll be able to message you back.

How to use mods, merge with other patches, etc. etc.:
There are 2 button - Load Base XML and Load Translation XML, the first one will be a base on which you'll transfer translation from second one. Those buttons at this time support only XML files (names of the files are irrelevant), use XLSX/M to XML button in order to convert your translation in .xlsm format to .xml.
All 4 merge buttons will merge currently loaded files and you will be able to find the result in Launcher\BDO\out along with .txt file that will tell you the row difference. So for example if you want to mod my JP patch with my KR mod you would firstly need to type "kr" in textbox left to the Load Base XML button (it will be used to name resulted files from the merge - stringtable_XX.xml), then Load Launcher\BDO\Projects\KAMI JP\languagedata.xml as a Base xml, then Load Launcher\BDO\Mods\KR\KAMI JP to KR\languagedata.xml as a Translation XML and press Merge Data button, then repeat the same steps for stringtable_kr.xml, except that now you'd need to press Merge String button. This wont result in anything useful, it was an example. In order to make proper KR patch out of KAMI JP you would firstly need to load KR RAW as a base and merge with KAMI JP and after that merge the resulted files as a base with my KR mod, though you could continue previous steps and simply load KR RAW as a base and merge with modded KAMI JP, it will work either way.
On the right side of BDO Patcher window you can see quite a lot of check-boxes, they represent tables used during Merge Data process. For example if you wouldn't want to merge CharacterTable table then simply uncheck it prior to pushing Merge Data button. Same thing for cutscene, string and symbol will be added in one of the future releases.
You'll be able to automate all that process with introduction of Projects (no ETA), just like I did with "Patch KR" button.

You can replace my xml translation files in Launcher\BDO\Projects\KAMI JP with yours if you want 1 click solution at this point in time.

I've also included "enhancement" mods as an examples in Launcher\BDO\Mods\JP_KR.

.BDOm and .BDOp files are currently of no use, but it's quite easy to guess what they'll be used for.

Info about schemes has moved to a Separate thread


Info for translators/modders workflow:
1) Mods. Launcher currently supports only 1 type of mods - plain dead simple ones, those should look like this - you get patch with my translation or RAW, there are 4 ".xlsm"/".xml" files => open them in some editor (later on it will be possible to edit them from Launcher, no ETA) and get familiar with how they look like => now either duplicate them, or create a new ".xlsx"/".xlsm"/".xml" file (do that only for those that you want to translate) => you'll need to keep in your mod only those rows that you want to change in my or some other patch, but you should also keep the names of the columns (1st row in each table) on the 1st row, basically it should look like this:

1.1) Let's imagine that I want to create a popular enhancement naming mod. For this I'll need to copy "stringtable_kr.xlsm" from my KR patch (or RAW, and for JP it will be "stringtable_jp.xlsm", or as I mentioned you could create a new one).

1.2) Now that I have a base file I'll need to leave only the relevant rows => simply navigate to "GAME" table in your editing program and delete everything except column names and rows with enhancement values (if you've created a new file then create or copy table and all the relevant rows). In the end it should look like this:
^StringFormatKey ~StringFormat LastUpdateTime StringFormat_EN StringFormat_CN
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_16 Celestial: 2/20/15 21:05 장 : 장 :
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_17 Divine: 2/20/15 21:05 광 : 광 :
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_18 Epic: 2/20/15 21:05 고 : 고 :
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_19 Legendary: 2/20/15 21:05 유 : 유 :
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_20 Mythic: 2/20/15 21:05 동 : 동 :

You can actually strip down all KR dev notes (not required), so that it will look like:
^StringFormatKey ~StringFormat
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_16 Celestial:
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_17 Divine:
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_18 Epic:
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_19 Legendary:
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_20 Mythic:

1.3) Now simply rename them to whichever one you want (NOTE: DO NOT rename column names and/or key values):
^StringFormatKey ~StringFormat
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_16 PRI+16:
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_17 +17 is stronK:
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_18 18?:
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_19 Seriously +19~:
LUA_GLOBAL_UTIL_UI_SLOT_ENCHANTLEVEL_20 I'm on TV!:

1.4) Use advanced patching to mod my patch = your modded patch.

If you want to create mod, but you don't know which rows you'll translate - simply, as you go, mark those that you've already translated somehow (e.g. colorize them, or add additional column with your notes, all that stuff won't be transferred into the actual patch), and when you're done simply delete all other rows.

2) Full translation. Just use my patch or RAW as a starting point, you'll be able to keep your patch updated with the help of Launcher.

3) Improve my patches. I would be happy if you could look in the side of mods. Later on, with your consent, I could pull some of your translation (or all) into my patch, or add it to the "project", when those will be out.

"Modify meta forcing game to search in root" button is basically and Advanced tab alternative to the upcoming Simple tab "Force" patching style. This button will modify game meta in the way that the game will search translation files by those paths (example on JP paths):
  • prestringtable\jp\languagedata.xlsm
  • stringtable\jp\stringtable_cutscene_jp.xlsm
  • stringtable\jp\stringtable_jp.xlsm
  • stringtable\jp\symbolnostringtable_jp.xlsm
It is the same thing for other versions, except that obviously you'll need to replace "jp" with the modified language (kr/en/ru/tw/fr/de).
Check out Simple patching on restoring original game meta.
You can find out if your meta is modified by looking at Indication of BDO Meta.



Return to “BDO Patcher”

Who is online

Users browsing this forum: No registered users and 1 guest