Working on v0.8

User avatar
anje.lee
Wisp
Wisp
Posts: 11
Joined: Tue 2017.06.20, 22:44
Honor: 0
Points: 68.10

Re: Working on v0.8

Postby anje.lee » Mon 2018.05.14, 16:26

KAMIKADzE wrote:Recently I have received few PMs related to the latest Launcher update. I plan to address the arisen issue and requested improvements in the next update, which should appear soon™. This changes will include:
  1. Issue with converting Data v3 TXT -> XML via "TXT to XML" button.
    Since TXT format doesn't retain any information on its content it's not possible to distinguish Data v2 and Data v3 (it is somewhat doable, but that would be a pure guess based on the amount of columns), and so "TXT to XML" always treats txt file as Data v2 format.
    I will have to add another button or some kind of selection, on which data type to convert. Before that happens you will need to either directly convert BSS to XML or manually edit XML file resulted by Data v3 "TXT to XML" conversion:
    • In every table - remove "Translation" and "Region" columns.
    • In every table - rename "Original" column to "Translation".
    If you don't have any XML editors you can always convert to XLSM or whichever other format, edit it there and convert back to XML.

    Conversion of XML -> TXT is not affected by this issue, since XML format retains information about its content.
  2. Adding and option to choose the level of "BSS to LOC" compression.
    There are 10 compression lvls available (from 0 to 9). Original LOC files use compression lvl 1, hence the reason why BDO Patcher uses it at the moment. Higher compression lvl should increase game loading time, so I'm not surprised that they use the lowest one (0 = no compression).
  3. Adding a way to add/edit merge actions.
    I've completely forgot about that one. It is a quite old functionality that predates Data v2 and was in use since Data v1 by "except HTT" buttons and custom-built Launcher versions for some of the patch authors.
    With this addition, "except HTT" buttons will be removed. UI for adding/editing those actions is not planned for the next update, you'll be able to add/edit them in a file used by BDO Patcher. Example of the file's content (current "except HTT" buttons):

    Code: Select all

    {
      "ActionsCollection": {
        "String except HTT": {
          "ActionsList": {
            "GAME": {
              "IgnoreStartWith": [
                "http:",
                "https:"
              ]
            }
          }
        },
        "Data v2/3 except HTT": {
          "ActionsList": {
            "37": {
              "IgnoreStartWith": [
                "http:",
                "https:"
              ]
            }
          }
        }
      }
    }

    I'll explain this scheme and available options after the release.

Is it possible to edit it on excel with the extension XLSM? I tried merging new RAW files and my old translation file but it's failed.

User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Infernal
Infernal
Posts: 2376
Joined: Thu 1998.01.01, 00:00
Honor: 3088
Points: 2423439254.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:

Re: Working on v0.8

Postby KAMIKADzE » Mon 2018.05.14, 16:32

anje.lee wrote:Is it possible to edit it on excel with the extension XLSM? I tried merging new RAW files and my old translation file but it's failed.

Yes.
Read "step-by-step guide on how to merge" in THAT post.



User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Infernal
Infernal
Posts: 2376
Joined: Thu 1998.01.01, 00:00
Honor: 3088
Points: 2423439254.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:

Re: Working on v0.8

Postby KAMIKADzE » Tue 2018.05.15, 08:54

I've updated the development version more than an hour ago (took me some time write this post + AFK time). This update covers things mentioned in THAT post + few minor improvements. Let's go through those one by one:
  1. Issue with converting Data v3 TXT -> XML via "TXT to XML" button.
    Since TXT format doesn't retain any information on its content it's not possible to distinguish Data v2 and Data v3 (it is somewhat doable, but that would be a pure guess based on the amount of columns), and so "TXT to XML" always treats txt file as Data v2 format.

    In order to overcome this issue I decided to split "TXT to XML" button into 2 separate buttons:
    • "LDv2 TXT to XML" - This is basically your old "TXT to XML" you're used to. Use it if you're dealing with languagedata v2 txt file.
    • "LDv3 TXT to XML" - The same thing, just redesigned for languagedata v3 txt file.
    It might get reworked in the future, but for now that was the fastest and simplest solution.
  2. Adding an option to choose the level of "BSS to LOC" compression.
    There are 10 compression lvls available (from 0 to 9). Original LOC files use compression lvl 1, hence the reason why BDO Patcher uses it by default. Higher compression lvl should increase game loading time, so I'm not surprised that they use the lowest one (0 = no compression).

    "BDO Patcher" => Press "Preferences" in menu => "BDO Patcher settings". Scroll to the bottom of it and you'll find "BSS to LOC compression lvl" there. You can set it in a range from 0 to 9, where 0 = no compression, 9 = highest compression.
    As an example, here are JP Overloaded v1.11f2 loc file sizes with different compression lvls:
    • Lvl 1 -> 13 663 522 Bytes.
    • Lvl 5 -> 10 984 554 Bytes.
    • Lvl 9 -> 10 077 285 Bytes.
  3. Adding a way to add/edit merge actions.
    It is a quite old functionality that predates Data v2 and was in use since Data v1 by "except HTT" buttons and custom-built Launcher versions for some of the patch authors.
    With this addition, "except HTT" buttons were removed, they were replaced with "Merge Actions".
    "Merge String" button will now act according to Merge Actions selections, e.g.:
    • Default "String except HTT" action checked -> it will act as an old "Merge String except HTT" button.
    • Default "String except HTT" action unchecked -> it will act as an old "Merge String" button.

    Same goes for "Merge Data v2" button:
    • Default "Data v2/3 except HTT" action checked -> it will act as an old "Merge Data v2 except HTT" button.
    • Default "Data v2/3 except HTT" action unchecked -> it will act as an old "Merge Data v2" button.
    Since Merge String and Merge Data v2 have different schemes - selection of both "String except HTT" and "Data v2/3 except HTT" won't have any negative effects, but both buttons will be checking both checked Merge Actions, so if you'll edit those Actions or add your own ones - make sure to check and uncheck the ones you need/don't need to be executed. Before explaining on what will happen if you have overlapping Actions checked, let's firstly take a look on how they're defined.

    Merge Actions have a similar layout to Schemes and FEX, but they don't have their own tab yet. For now Launcher will use only the default one, that ships with Launcher ("..\Launcher\BDO\MergeActions.mac"). You can edit it to your liking, but keep in mind that next Launcher update will overwrite it, so please back it up (you don't need to if you don't edit it) before updating to any future Launcher version. If you will mess it up, or your changes will generate errors and such - just delete it (if you won't be able to access BDO Patcher) and then simply Click "Reset Default MAC" in BDO Patcher's menu => "???", to generate the new one.

    As of now UI for adding/editing those actions is not planned for the nearest future, but you can add/edit them in a file used by BDO Patcher. Let's take a look on the current default "MergeActions.mac":

    Code: Select all

    {
      "ActionsCollection": {
        "String except HTT": {
          "ActionsList": {
            "GAME": {
              "IgnoreStartWithB": [
                "http:",
                "https:"
              ],
              "IgnoreStartWithT": [
                "http:",
                "https:"
              ]
            }
          }
        },
        "Data v2/3 except HTT": {
          "ActionsList": {
            "37": {
              "IgnoreStartWithB": [
                "http:",
                "https:"
              ],
              "IgnoreStartWithT": [
                "http:",
                "https:"
              ]
            }
          }
        }
      }
    }

    • "ActionsCollection" -> Tells Launcher that this is Actions Collection. Simply leave this one alone.
    • "String except HTT" -> Name of your defined actions that you will be able to see (check/uncheck) in BDO Patcher's Advanced tab Merge Actions. Simply name it to your liking.
    • "ActionsList" -> Holder for your actions. Leave this as it is.
    • "GAME" -> Actions table name. Specifies which tables will be affected by the defined actions. Take a look at both tables defined in "String except HTT" and "Data v2/3 except HTT" - since none of them holds the tables used in the other ActionsList - they will not overlap.
      Similarly to Shcemes there is a special Actions table name - empty name "". Example:

      Code: Select all

          "Data v2/3 except HTT": {
            "ActionsList": {
              "": {
                "IgnoreStartWithB": [
                  "http:",
                  "https:"
                ],
                "IgnoreStartWithT": [
                  "http:",
                  "https:"
                ]
              }
            }
          }

      Empty table name means that specified actions will be applied to all tables. Those actions will be overridden by actions specified for a certain table.
    • "IgnoreStartWithB" -> The action name. Currently there are 9 definable actions:
      • None -> Do nothing. Use it when you add/edit your actions, but at the same time don't want to use them during your merges yet. You can also write any nonsense instead of None - it'll work just fine, as long as it's not one of the other defined names.
      • IgnoreStartWithB -> Do not merge cells, if the Base cell starts with the following text.
      • IgnoreStartWithT -> Do not merge cells, if the Translation cell starts with the following text.
      • IgnoreEndWithB -> Do not merge cells, if the Base cell ends with the following text.
      • IgnoreEndWithT -> Do not merge cells, if the Translation cell ends with the following text.
      • RegexIgnoreMatchB -> Do not merge cells, if the following Regex matches Base cell.
      • RegexIgnoreMatchT -> Do not merge cells, if the following Regex matches Translation cell.
      • RegexIgnoreNoMatchB -> Do not merge cells, if the following Regex doesn't match Base cell.
      • RegexIgnoreNoMatchT -> Do not merge cells, if the following Regex doesn't match Translation cell.
      You cannot define multiple Actions with the same name, but it is possible to provide multiple parameters to each and every Action, e.g.:
      • This is OK:

        Code: Select all

         "IgnoreStartWithT": [
                    "http:",
                    "https:"
                  ]
      • This is NOT OK:

        Code: Select all

         "IgnoreStartWithT": [
                    "http:"
                  ],
                  "IgnoreStartWithT": [
                    "https:"
                  ]
    Since I were asked to unlock this functionality for a specific application, I'll provide it here, as another example:

    Code: Select all

    {
      "ActionsCollection": {
        "Do not merge Translations containing RU chars": {
          "ActionsList": {
            "": {
              "RegexIgnoreMatchT": [
                "\\p{IsCyrillic}"
              ]
            }
          }
        }
      }
    }

    That^ merge action will not merge cells in all merged tables, if the Translation cell contains any Russian character.

    Merge Actions are not affected by position, before merging, all of the Checked Merge Actions will be combined into 1, that will contain all of their information, so make sure to uncheck the ones that you don't want to be used (obviously enough).



User avatar
anje.lee
Wisp
Wisp
Posts: 11
Joined: Tue 2017.06.20, 22:44
Honor: 0
Points: 68.10

Re: Working on v0.8

Postby anje.lee » Tue 2018.05.15, 16:53

KAMIKADzE wrote:I've updated the development version more than an hour ago (took me some time write this post + AFK time). This update covers things mentioned in THAT post + few minor improvements. Let's go through those one by one:
  1. Issue with converting Data v3 TXT -> XML via "TXT to XML" button.
    Since TXT format doesn't retain any information on its content it's not possible to distinguish Data v2 and Data v3 (it is somewhat doable, but that would be a pure guess based on the amount of columns), and so "TXT to XML" always treats txt file as Data v2 format.

    In order to overcome this issue I decided to split "TXT to XML" button into 2 separate buttons:
    • "LDv2 TXT to XML" - This is basically your old "TXT to XML" you're used to. Use it if you're dealing with languagedata v2 txt file.
    • "LDv3 TXT to XML" - The same thing, just redesigned for languagedata v3 txt file.
    It might get reworked in the future, but for now that was the fastest and simplest solution.
  2. Adding an option to choose the level of "BSS to LOC" compression.
    There are 10 compression lvls available (from 0 to 9). Original LOC files use compression lvl 1, hence the reason why BDO Patcher uses it by default. Higher compression lvl should increase game loading time, so I'm not surprised that they use the lowest one (0 = no compression).

    "BDO Patcher" => Press "Preferences" in menu => "BDO Patcher settings". Scroll to the bottom of it and you'll find "BSS to LOC compression lvl" there. You can set it in a range from 0 to 9, where 0 = no compression, 9 = highest compression.
    As an example, here are JP Overloaded v1.11f2 loc file sizes with different compression lvls:
    • Lvl 1 -> 13 663 522 Bytes.
    • Lvl 5 -> 10 984 554 Bytes.
    • Lvl 9 -> 10 077 285 Bytes.
  3. Adding a way to add/edit merge actions.
    It is a quite old functionality that predates Data v2 and was in use since Data v1 by "except HTT" buttons and custom-built Launcher versions for some of the patch authors.
    With this addition, "except HTT" buttons were removed, they were replaced with "Merge Actions".
    "Merge String" button will now act according to Merge Actions selections, e.g.:
    • Default "String except HTT" action checked -> it will act as an old "Merge String except HTT" button.
    • Default "String except HTT" action unchecked -> it will act as an old "Merge String" button.

    Same goes for "Merge Data v2" button:
    • Default "Data v2/3 except HTT" action checked -> it will act as an old "Merge Data v2 except HTT" button.
    • Default "Data v2/3 except HTT" action unchecked -> it will act as an old "Merge Data v2" button.
    Since Merge String and Merge Data v2 have different schemes - selection of both "String except HTT" and "Data v2/3 except HTT" won't have any negative effects, but both buttons will be checking both checked Merge Actions, so if you'll edit those Actions or add your own ones - make sure to check and uncheck the ones you need/don't need to be executed. Before explaining on what will happen if you have overlapping Actions checked, let's firstly take a look on how they're defined.

    Merge Actions have a similar layout to Schemes and FEX, but they don't have their own tab yet. For now Launcher will use only the default one, that ships with Launcher ("..\Launcher\BDO\MergeActions.mac"). You can edit it to your liking, but keep in mind that next Launcher update will overwrite it, so please back it up (you don't need to if you don't edit it) before updating to any future Launcher version. If you will mess it up, or your changes will generate errors and such - just delete it (if you won't be able to access BDO Patcher) and then simply Click "Reset Default MAC" in BDO Patcher's menu => "???", to generate the new one.

    As of now UI for adding/editing those actions is not planned for the nearest future, but you can add/edit them in a file used by BDO Patcher. Let's take a look on the current default "MergeActions.mac":

    Code: Select all

    {
      "ActionsCollection": {
        "String except HTT": {
          "ActionsList": {
            "GAME": {
              "IgnoreStartWithB": [
                "http:",
                "https:"
              ],
              "IgnoreStartWithT": [
                "http:",
                "https:"
              ]
            }
          }
        },
        "Data v2/3 except HTT": {
          "ActionsList": {
            "37": {
              "IgnoreStartWithB": [
                "http:",
                "https:"
              ],
              "IgnoreStartWithT": [
                "http:",
                "https:"
              ]
            }
          }
        }
      }
    }

    • "ActionsCollection" -> Tells Launcher that this is Actions Collection. Simply leave this one alone.
    • "String except HTT" -> Name of your defined actions that you will be able to see (check/uncheck) in BDO Patcher's Advanced tab Merge Actions. Simply name it to your liking.
    • "ActionsList" -> Holder for your actions. Leave this as it is.
    • "GAME" -> Actions table name. Specifies which tables will be affected by the defined actions. Take a look at both tables defined in "String except HTT" and "Data v2/3 except HTT" - since none of them holds the tables used in the other ActionsList - they will not overlap.
      Similarly to Shcemes there is a special Actions table name - empty name "". Example:

      Code: Select all

          "Data v2/3 except HTT": {
            "ActionsList": {
              "": {
                "IgnoreStartWithB": [
                  "http:",
                  "https:"
                ],
                "IgnoreStartWithT": [
                  "http:",
                  "https:"
                ]
              }
            }
          }

      Empty table name means that specified actions will be applied to all tables. Those actions will be overridden by actions specified for a certain table.
    • "IgnoreStartWithB" -> The action name. Currently there are 9 definable actions:
      • None -> Do nothing. Use it when you add/edit your actions, but at the same time don't want to use them during your merges yet. You can also write any nonsense instead of None - it'll work just fine, as long as it's not one of the other defined names.
      • IgnoreStartWithB -> Do not merge cells, if the Base cell starts with the following text.
      • IgnoreStartWithT -> Do not merge cells, if the Translation cell starts with the following text.
      • IgnoreEndWithB -> Do not merge cells, if the Base cell ends with the following text.
      • IgnoreEndWithT -> Do not merge cells, if the Translation cell ends with the following text.
      • RegexIgnoreMatchB -> Do not merge cells, if the following Regex matches Base cell.
      • RegexIgnoreMatchT -> Do not merge cells, if the following Regex matches Translation cell.
      • RegexIgnoreNoMatchB -> Do not merge cells, if the following Regex doesn't match Base cell.
      • RegexIgnoreNoMatchT -> Do not merge cells, if the following Regex doesn't match Translation cell.
      You cannot define multiple Actions with the same name, but it is possible to provide multiple parameters to each and every Action, e.g.:
      • This is OK:

        Code: Select all

         "IgnoreStartWithT": [
                    "http:",
                    "https:"
                  ]
      • This is NOT OK:

        Code: Select all

         "IgnoreStartWithT": [
                    "http:"
                  ],
                  "IgnoreStartWithT": [
                    "https:"
                  ]
    Since I were asked to unlock this functionality for a specific application, I'll provide it here, as another example:

    Code: Select all

    {
      "ActionsCollection": {
        "Do not merge Translations containing RU chars": {
          "ActionsList": {
            "": {
              "RegexIgnoreMatchT": [
                "\\p{IsCyrillic}"
              ]
            }
          }
        }
      }
    }

    That^ merge action will not merge cells in all merged tables, if the Translation cell contains any Russian character.

    Merge Actions are not affected by position, before merging, all of the Checked Merge Actions will be combined into 1, that will contain all of their information, so make sure to uncheck the ones that you don't want to be used (obviously enough).

Is there a way to directly convert txt files to bbs file?

User avatar
LithStud
Creator
Creator
Rifleman
Rifleman
Posts: 194
Joined: Thu 2017.06.22, 16:35
Honor: 13
Points: 1325.40
BDO: Tamer
Gender: Male
: BDO RU Translator
Medals: 1

Re: Working on v0.8

Postby LithStud » Tue 2018.05.15, 16:57

anje.lee wrote:Is there a way to directly convert txt files to bbs file?


Its in the same place that is BSS -> TXT -> BSS

User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Infernal
Infernal
Posts: 2376
Joined: Thu 1998.01.01, 00:00
Honor: 3088
Points: 2423439254.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:

Re: Working on v0.8

Postby KAMIKADzE » Tue 2018.05.15, 17:08

LithStud wrote:
anje.lee wrote:Is there a way to directly convert txt files to bbs file?


Its in the same place that is BSS -> TXT -> BSS

Nope, he's correct - there's no way to convert it directly as of now, I've mentioned that in THAT post. I do plan to add it, but that wasn't the most urgent thing, as you can always convert TXT -> XML -> BSS, which only takes 1 more step.



User avatar
anje.lee
Wisp
Wisp
Posts: 11
Joined: Tue 2017.06.20, 22:44
Honor: 0
Points: 68.10

Re: Working on v0.8

Postby anje.lee » Tue 2018.05.15, 17:34

KAMIKADzE wrote:
LithStud wrote:
anje.lee wrote:Is there a way to directly convert txt files to bbs file?


Its in the same place that is BSS -> TXT -> BSS

Nope, he's correct - there's no way to convert it directly as of now, I've mentioned that in THAT post. I do plan to add it, but that wasn't the most urgent thing, as you can always convert TXT -> XML -> BSS, which only takes 1 more step.

Thank you for working hard. It really is a great tool. *LOVE*

User avatar
LithStud
Creator
Creator
Rifleman
Rifleman
Posts: 194
Joined: Thu 2017.06.22, 16:35
Honor: 13
Points: 1325.40
BDO: Tamer
Gender: Male
: BDO RU Translator
Medals: 1

Re: Working on v0.8

Postby LithStud » Tue 2018.05.15, 19:02

KAMIKADzE wrote:
LithStud wrote:
anje.lee wrote:Is there a way to directly convert txt files to bbs file?


Its in the same place that is BSS -> TXT -> BSS

Nope, he's correct - there's no way to convert it directly as of now, I've mentioned that in THAT post. I do plan to add it, but that wasn't the most urgent thing, as you can always convert TXT -> XML -> BSS, which only takes 1 more step.


Ohh i had assumed the button works xD (well i guess gonna just make BSS from a get go, as i made myself that build patch into TXT so just need to do it in a bytes way instead =D )

User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Infernal
Infernal
Posts: 2376
Joined: Thu 1998.01.01, 00:00
Honor: 3088
Points: 2423439254.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:

Re: Working on v0.8

Postby KAMIKADzE » Thu 2018.05.24, 23:49

Small update of the development version.

  • Fixed MergeActions not applying to Merge Cutscenes and Merge Symbols buttons.
  • Added "TranslateTest" to BDO Patcher's "???" menu section.
    This is just a concept demonstration, but you can stress-test it if you want.

    Feed it some Japanese text in a form of Unicode ".txt" file and it will create a file (filename+"Translation.txt") with Google-translated Engrish text.

    I'll remove this menu item after some time.
    I plan to add it as an option to translate xml files from specified language to another specified language + the ability to exclude things like macros (e.g. {something}), etc., and do the same thing during merge if some condition is met (e.g. if translation cell is empty then translate, or if translation cell contains untranslated text, etc.).
    There will also be a configuration available and I also plan to add GoogleTranslate v2 at the very least (probably some other translators as well).

    And finally I plan to add a spin-off in a form of separate Translation program.



User avatar
Magano
Wisp
Wisp
Posts: 11
Joined: Wed 2016.10.05, 20:34
Honor: 1
Points: 26.00

Re: Working on v0.8

Postby Magano » Wed 2018.05.30, 12:25

Any news on InsertPAZ?


Return to “Launcher”

Who is online

Users browsing this forum: No registered users and 0 guests