Jump to content

EET mod conversion + translation approach (Polish)


Guest JSWFTATBA

Recommended Posts

Guest JSWFTATBA

Hi,

I have a few questions and I'd be so glad if someone could hold my hand through that stuff, as it is probably my 5th weekend when I'm trying to comprehend what I actually want to do... 🤣

 

                 1) How do you actually covert a mod to be EET compatible? From the very beginning to the very end.

I saw multiple posts where there is something explained about EET, conversions, EET conversions and so on, but I have absolutely no idea how to go about it. At all. I saw something about that WeiDu will do the job (but how) or that there is a tool in EET folder that let's you convert mods which I think I found but don't know how to use. As in - I'm totally green. I have a few mods on my PC I'd like to convert at least for my personal use. From vanilla BG/BGII (mostly BGII) to BGEET. Of course, if anybody is in a generous mood and would like to lend a hand, I'll appreciate that all the more.

 

                 2)  How do you go about updating the existing translation that was not included in a newer version of the mod?

Let's say I could more or less translate something (if not at level acceptable to wider public, then at least to myself), but how do I know which strings require updating or if there were new strings added or strings were re-numbered? How do I check it? Is there a way? E.g. Ashes of Embers v26 is translated to polish, but, from what I can gather, is not EET compatible. Then there is AoE v27, which does not have polish translation but is (I think???) EET compatible (if not, then back to 1st question). I know AoE is PPG, but a) it seems there are more people here, also those related to PPG it seems b) i'd like to know how to do it in general.

 

                 3) If I were to translate something and wanted to check original strings of some NPC for reference, is there a "simple" way to extract them?

 

                 4) Is there some reference dictionary for polish translations? I found something that I think was supposed to be it on CoB site, but when I try to open the archives, it says they're damaged.

 

Link to comment

Regarding EET compatibility for mods, the main issue is that a number of resources in BGEE and BG2EE share the same file name but don't do the same things. EET solves this by renaming the BGEE resources before merging. Thus, for a mod that edits these resources, it needs to use variables when referring to them.

The converter tool is an attempt to automate this process. I wouldn't trust it to get every little thing right, but it's a starting point. Someone with significant modding knowledge should go through the changes afterwards to verify them all.

Link to comment
36 minutes ago, Guest JSWFTATBA said:

2)  How do you go about updating the existing translation that was not included in a newer version of the mod?

Let's say I could more or less translate something (if not at level acceptable to wider public, then at least to myself), but how do I know which strings require updating or if there were new strings added or strings were re-numbered? How do I check it?

I don't know if what I'll write below is exploitable, it depends of your technical level and/or my ability to explain 😕 I hope this'll help but I'm moderately confident...

To detect what updates are needed between two version translations, I would first compare the original language (usually english but depends on the mod) TRA file (or files , one by one) using a "diff" program or utility. any OS (win, mac, linux) has dedicated tools (for example winmerge I thin on windows) or for those already using vscode it itself included tools to show diffs/changes.

So I would put both (for example) v26 and v27 .tra files from ashes of ambers side by side (in the same directory, by renaming them with the version or in neighbour directories) then "comparing" them with a diff tools.

Then you note the changes (additions, deletions, modifications) and report the changes in the old translated .tra file.

 

This depends on good condtions though :

- no renamed file, no strings moved between multiple .tra files

- no too much changes (like complete rewrite, line-ending changes in whole file, encoding changes) <- those should be rare hopefully

 

That's a manual process unfortunately, but good tooling helps, maybe if you d'ont already use one start with something like https://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools

Link to comment

There are multiple conversion strategies to BGEE->EET (BG2EE->EET is pretty simple, there are only a few things needed to be considered like fate spirit NPC responses, BGEE is where things get complicated).

1) fully manual step, basiically reading the documentation and manually handling all the replacement options. The docuimentation is good enough that this is doable, but it isn't the most novice friendly.

2) CPM vars. Thiis is pretty good, handles most of the cases (IIRC there's no table for spells if necessary) and it is a library which a fair amount of mods already use. One just pulls in the library and substitutes the variables where it's necessary.

3) EET_PLATFORM_CONVERSION. This is a function introduced during EET 13 development primartily for SotSC but it's also used by Walahnan BG1 by now. Basically the function rereads the entire ccode of thee mod and substitutes (almost) all the BG1 constants on the fly. You still need to specialcase op319 SPECIAL and the worldmap, but those would be necessary for method 2 as well. Also, the mod needs too have all it's relevant code in an external tph, seen in those two mods.

Edited by Graion Dilach
Link to comment
Guest JSWFTATBA

Thank you all for the responses, I appreciate willingness to help.

@jmerry thank you! It's just that I don't know how to do even that. 😅

@mickabouille thank you! That's a start for updating the translations for sure, I'll look this up. 😁

@Graion Dilach

11 hours ago, Graion Dilach said:

2) CPM vars. Thiis is pretty good, handles most of the cases (IIRC there's no table for spells if necessary) and it is a library which a fair amount of mods already use. One just pulls in the library and substitutes the variables where it's necessary.

Could you point me towards an instruction if there is one? How do you pull the library in? As in, paste it in the mod folder? Is there any simple way to recognize the variables that require the change? Do you open the library file and look for them?

11 hours ago, Graion Dilach said:

3) EET_PLATFORM_CONVERSION. This is a function introduced during EET 13 development primartily for SotSC but it's also used by Walahnan BG1 by now. Basically the function rereads the entire ccode of thee mod and substitutes (almost) all the BG1 constants on the fly. You still need to specialcase op319 SPECIAL and the worldmap, but those would be necessary for method 2 as well. Also, the mod needs too have all it's relevant code in an external tph, seen in those two mods.

Does it concern only BG1? Or BG1EE? Or maybe both BG1 & BG2 / BG1EE & BG2EE?
I downloaded the Walahnan BG1 and looked for .tph files, there is a function file, does it mean I am to add a function file in those mods too?
"You still need to specialcase op319 SPECIAL and the worldmap" this I don't understand at all. 😅
 

Sorry for that many questions, but I meant it when I wrote I have no idea... 😆

I have almost no idea about modding, hence despite reading some stuff, I still don't know how to apply it.

Also, just to make things more clear, the conversions I'd like to do are mainly from BGII NOT EE to EET. There is AoE, then there are some NPCs, and, most importantly, item mods. Does it change anything, makes anything possibly easier to covert?

 

Link to comment
1 hour ago, Guest JSWFTATBA said:

Also, just to make things more clear, the conversions I'd like to do are mainly from BGII NOT EE to EET. There is AoE, then there are some NPCs, and, most importantly, item mods. Does it change anything, makes anything possibly easier to covert?

If it's not just for your personal use, make sure that the author is fine with this. And if author is no longer available, then contact one of the admins of the site where to mod is hosted. They will tell you what is their stance regarding such updates in the context of that specific mod and/or hosted mods in general and if you get their blessing, they will have all the tools needed to update the mod on the site. It'd call it a common rule among modders and admins of modding communities.

Link to comment

If you don't know anything about modding, then don't start with EET conversion of (classic!) mods at all. Even with the abstraction layers involved, the assumption is still there that you know which assets you assume existing from the games and how do you refer them.

Classic to EE conversion involves it's own pitfalls and it's a wholly separate topic than a BG(2)EE to EET mod conversion. And if the mods you're thinking about are still classic-only at this point, then their code quality might also be subpar and that can't be solved via cpmvars or a function library.

Maybe write your own mod first to get the hang of it. Start from 

 and read the IESDP https://gibberlings3.github.io/iesdp/ along with the weidu documentation to grasp the basics.

Link to comment
Guest JSWFTATBA

@Lava

8 hours ago, Lava said:

If it's not just for your personal use, make sure that the author is fine with this.

It is first and foremost for my personal use, though if other people could then enjoy it too, that'd be great. But I don't think I'm that good of a person to do something that I don't plan interacting with. 😈😇

@Graion Dilach

7 hours ago, Graion Dilach said:

Maybe write your own mod first to get the hang of it.

I apologize that I wasted your time, that's a bit too daunting of a task for me, it'll be probably better to give up this time. Again, sorry that I wasted your time, I just naively thought there is a reasonably "easy" way to do those conversions with what I gleaned from the posts I've found, just that I'm maybe missing some key / basic info (like - click here, paste this here, stuff obvious to modders - at least in my head).

Creating a whole new mod is way above my current skillset or time I can allot to this hobby / task. 🤣 Especially as a few years ago I've tried making a pretty "simple" 1 item mod and got stuck on the graphics not working the way I wanted them to in a software and just wasted a week of my life. 🙄 Talk about having to take an L. 😆 Not that anyone asked, I'm rambling, sorry.

Thanks for all the good advices! 🧡 I'm going to bookmark this topic and hopefully get back to it somewhere in the future.

 

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...