Your Ad could be here.
Donate to support DoTA forum and Launcher development.

Working on v0.7

User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Blood Mage
Blood Mage
Posts: 3672
Joined: Thu 1998.01.01, 00:00
Honor: 3102
Points: 2423438202.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:

Working on v0.7

Postby KAMIKADzE » Sat 2016.10.15, 20:56

I have finally done some work on v0.7. Yeah it has been quite a while since I did anything substantial to the Launcher *SKULL*.

Currently I'm working on implementation of "real" Projects and Mods. Mainly I want to move all of my projects "brains" out of the program into the projects themselves and "teach" Launcher how to use that. This will allow you to edit the process of patching with my projects. I also want to add the ability to change project used in simple patching to any other suitable project. Along with that I might also finalize Project/Mods auto-updates.
All those things combined together will finally allow all interested BDO patch creators to redistribute their patch easier and for everyone who uses that patch to update it without waiting the update from patch creator.

I'm currently stuck at the way of saving project info, here is what it looks like now:

Code: Select all

[General]
Name = KAMI JP
Author = KAMIKADzE
Description = Description
Version = 2.9d
FolderPath = KAMI JP
Server = JP
[Web]
HomePage = https://dota.invokami.com/viewtopic.php?t=1002
Update = https://googledrive.com/host/0B6hl_qHX1yIsT2JqbmlyZnBocVU/KAMI%20JP.bpc
[RAW]
GetFullRAW = false
[ProjectFiles]
JP1 = \languagedata.xml
JP2 = \stringtable_jp.xml
JP3 = \stringtable_cutscene_jp.xml
JP4 = \symbolnostringtable_jp.xml
[Steps]
1 = Merge|M1|RAW1|JP1
2 = Push|M1|1
3 = Merge|M2|RAW2|JP2
4 = Push|M2|2
5 = Merge|M3|RAW3|JP3
6 = Push|M3|3
7 = Merge|M4|RAW4|JP4
8 = Push|M4|4
[StepsDev]
1 = Merge|M1|RAW1|JP1
2 = Out|XML|M1
3 = Out|Log|\languagedata.txt
4 = Push|M1|1
5 = Merge|M2|RAW2|JP2
6 = Out|XML|M2
7 = Out|Log|\stringtable_jp.txt
8 = Push|M2|2
9 = Merge|M3|RAW3|JP3
10 = Out|XML|M3
11 = Out|Log|\stringtable_cutscene_jp.txt
12 = Push|M3|3
13 = Merge|M4|RAW4|JP4
14 = Out|XML|M4
15 = Out|Log|\symbolnostringtable_jp.txt
16 = Push|M4|4

Now you're like *WHAT*
Don't worry I'll explain it all when I'll be done with it.

Originally I wanted to make it as human-readable as I can, and the KAMI JP project was just like that^ for quite a while already. On top of that I don't think that I'll add the possibility to create/edit Projects/Mods from the program itself for a very long time after the release of this version, as that will take a lot of time.

Now the problem is in this particular line (and similar ones):

Code: Select all

1 = Merge|M1|RAW1|JP1

So basically this line says - as a first step after getting everything ready - merge RAW languagedata with Project's languagedata, save the result in M1 (for a later use). The thing is that there also should be a place for actions (after JP1), and in theory there could be a lot of those, basically all planned features related to regex and other automatic text editing/google translation, etc. will go there, so the lines will end up redunculously long. This is also not the best thing from programming standpoint.
There is a workaround with this "style" (to create a lot of entries for each action, like for example 1_1, 1_2, 1_3...), but this will get clunky very fast + not the best thing from programming standpoint.
Of course there is a way to avoid all of that with more nested structure, similar to what I use in scheme, e.g. here is the piece of it:

Code: Select all

{
  "languagedata": {
    "1_LongSword": {
      "Keys": {
        "Index": "^Index",
        "Enchant": "^Enchant"
      },
      "Values": {
        "Description": "~Description"
      },
      "Actions": {
        "AllowNullKeys": false
      }
    },
    "2_Blunt": {
      "Keys": {
        "Index": "^Index",
        "Enchant": "^Enchant"
      },
      "Values": {
        "Description": "~Description"
      },
      "Actions": {
        "AllowNullKeys": false
      }
    },
    "3_TwoHandSword": {
      "Keys": {
        "Index": "^Index",
        "Enchant": "^Enchant"
      },
      "Values": {
        "Description": "~Description"
      },
      "Actions": {
        "AllowNullKeys": false
      }
    },

The thing is, that it might not look like hard to edit (especially when it is as repetitive and simple as this scheme), but it is a lot less human-readable than the first one. No one will care when it will be editable from the program itself, but as I said - it won't be soon.

For now I'm the only one who's using projects, so I don't really mind to change it. If you'll happen to have some better idea then let me know, and I'll think about a better way myself, I just don't want to change it when(if) it will be used by quite a few patch creators.



User avatar
Margo
Acolyte
Acolyte
Posts: 46
Joined: Thu 2016.10.06, 09:43
Honor: 5
Points: 164.60
BDO: Tamer
: Tester
Medals: 1

Re: Working on v0.6i

Postby Margo » Mon 2016.10.17, 08:40

Maybe use the first way for everything but the steps, for which use the second way?

User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Blood Mage
Blood Mage
Posts: 3672
Joined: Thu 1998.01.01, 00:00
Honor: 3102
Points: 2423438202.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.6i

Postby KAMIKADzE » Mon 2016.10.17, 08:54

Margo wrote:Maybe use the first way for everything but the steps, for which use the second way?

It is possible, but it will be even more confusing for the average Joe and will be more complicated than the choice of either of 2, so no.



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

Re: Working on v0.6i

Postby Magano » Fri 2016.11.04, 18:18

How is it going?

User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Blood Mage
Blood Mage
Posts: 3672
Joined: Thu 1998.01.01, 00:00
Honor: 3102
Points: 2423438202.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.6i

Postby KAMIKADzE » Fri 2016.11.04, 19:03

Magano wrote:How is it going?

Almost haven't done anything since the first post in this thread. No ETA.



User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Blood Mage
Blood Mage
Posts: 3672
Joined: Thu 1998.01.01, 00:00
Honor: 3102
Points: 2423438202.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.6i

Postby KAMIKADzE » Wed 2016.11.16, 23:22

Just a small update on how things are going. Basically I've spent a couple of hours on v0.7 through the course of this week. The main work is done, now before the release I need to:
1) Replace existing simple patching code with the one that will use standardized project (easy/time-consuming).
2) Add the ability to select the used projects (easy/might be time consuming, depending on the way that I'll implement it firstly, I might go for the simple way at first and just change that later).
3) Add few things to advanced patching, so that it won't fall behind the functionality of new simple patching =D

This update will introduce fully featured projects only, mods will be just as they are now. I'm definitely not going to add auto-updates in this version, a lot of time has passed without any updates already, so maybe with the next version. There won't be any simple way to create projects for the nearest future, you will need to take my projects as an example, I'll also try to explain how, where, and what you can do sometime after the update will go live. That's probably it for now, I'll keep you updated on the progress.



User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Blood Mage
Blood Mage
Posts: 3672
Joined: Thu 1998.01.01, 00:00
Honor: 3102
Points: 2423438202.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.7

Postby KAMIKADzE » Tue 2016.12.06, 11:37

I actually decided to merge all KAMI projects into 1, since it's one anyway. Now any project will be able to support multiple clients. Due to this change and more additions, that were not mentioned in this thread (like fonts), I decided that the next version will be v0.7, which doesn't mean a lot to you, but if you'll keep using v0.6x then be ready to adapt new Projects manually (it will be easy), I'll post more info on how and what after the actual release.



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

Re: Working on v0.7

Postby Magano » Wed 2016.12.07, 01:46

KAMIKADzE wrote:I actually decided to merge all KAMI projects into 1, since it's one anyway. Now any project will be able to support multiple clients. Due to this change and more additions, that were not mentioned in this thread (like fonts), I decided that the next version will be v0.7, which doesn't mean a lot to you, but if you'll keep using v0.6x then be ready to adapt new Projects manually (it will be easy), I'll post more info on how and what after the actual release.

You say that you will add fonts - do you mean you will add injector?

User avatar
KAMIKADzE
KAMIKADzE
KAMIKADzE
Blood Mage
Blood Mage
Posts: 3672
Joined: Thu 1998.01.01, 00:00
Honor: 3102
Points: 2423438202.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.7

Postby KAMIKADzE » Wed 2016.12.07, 02:28

Magano wrote:
KAMIKADzE wrote:I actually decided to merge all KAMI projects into 1, since it's one anyway. Now any project will be able to support multiple clients. Due to this change and more additions, that were not mentioned in this thread (like fonts), I decided that the next version will be v0.7, which doesn't mean a lot to you, but if you'll keep using v0.6x then be ready to adapt new Projects manually (it will be easy), I'll post more info on how and what after the actual release.

You say that you will add fonts - do you mean you will add injector?

I guess you mean direct injection of fonts into the client? If so - then no, not with this version. Font can be changed without modifying game files (at least with JP client), I've just added that as a "feature" for those that can't do it manually. That said, since KR client is now "very picky" and don't want to "eat patches", I'll probably add injection with the next version just after this one, so if you need it for whatever reason stay tuned, but it would be great if you could tell me for what do you need it (if for font injection - then in which version it is required?).



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

Re: Working on v0.7

Postby Magano » Wed 2016.12.07, 18:16

KAMIKADzE wrote:
Magano wrote:
KAMIKADzE wrote:I actually decided to merge all KAMI projects into 1, since it's one anyway. Now any project will be able to support multiple clients. Due to this change and more additions, that were not mentioned in this thread (like fonts), I decided that the next version will be v0.7, which doesn't mean a lot to you, but if you'll keep using v0.6x then be ready to adapt new Projects manually (it will be easy), I'll post more info on how and what after the actual release.

You say that you will add fonts - do you mean you will add injector?

I guess you mean direct injection of fonts into the client? If so - then no, not with this version. Font can be changed without modifying game files (at least with JP client), I've just added that as a "feature" for those that can't do it manually. That said, since KR client is now "very picky" and don't want to "eat patches", I'll probably add injection with the next version just after this one, so if you need it for whatever reason stay tuned, but it would be great if you could tell me for what do you need it (if for font injection - then in which version it is required?).

For Korean version English patches.


Return to "Launcher"

Who is online

Users browsing this forum: No registered users and 3 guests

Your Ad could be here.
Donate to support DoTA forum and Launcher development.