Some remarks about the patching tool :
my purpose with this tool is to create something I'll be able to reuse easily for another patches. With this, there's probably a lot of games I'll be able to translate. So I already began to think about some details which aren't that useful for this patch, but which may help a lot on another (and eventually bigger) projects.
As part of this, there is the way we give the translations. For now, they are hardcoded in the DLL's source code. But this may not be the better solution. I think about 3 things :
- Keep things like this.
- Store the translations as resources.
- Store the translations in some files aside the patch.
The 1st one is the easiest for me. But it makes translation updating more difficult, as the DLL must be recompiled each time. It's easy for me, but if, for example, TwilightsCall wants to change something, he (or she ?) have to ask me. He can't do it himself.
The 3rd one is the easiest for you. It's a bit harder for me, but only a bit.
With this, if TwilightsCall wants to update something, he only have to edit a text file. The main question here is : do we want to give all these files to the end user, like this ?
And the 2nd one is like the 3nd one, but the files are stored as resources. That means they will be included in the DLL. The difference with the 1st one is that I can easily make a small program to extract the resources, and another one to repack them.
With this, if TwilightsCall wants to update something, he will run the unpack program, then edit the corresponding text file, then run the repack program.
Each choice have its pros and cons.
Personally, I think the 2nd one it better (even if I prefer the 1st one because I'm lazy, but the others are easy to implement, so my laziness shouldn't be part of the choice). But, is giving the patch's files to the end user a bad thing ? If it isn't, the 3rd one will be easier for everyone.
On another note, I was thinking about how I'll put the intro into the patch. Giving an auto-center with it will really be better. So, as I'll do something special for some texts, I'll be able to do something special for any text. Therefore, I'll implement the feature that goes to the new line automatically.
I think the syntax will be for example like this :
L"#center", NULL,
(It will apply to all lines until a #none is found)
But this may change depending of the choice above (in fact, if we quit the 1st choice, all files' syntax will change. But making a program that will automatically change the syntax will be really easy).
To Heartnet :
Thanks for making the list before I made it.
Some of them are minor typos, which I will fix someday (probably with the next patch's version).
Some of them are related to the end of lines. I'll ignore them, because they should solve themselves when I'll generate end of lines automatically.
And for the coins : I can easily fix it. Each character is associated with a shift on the Y axis. For example, this shift is set at 1 px for 'A', and at 6 px for 'm'. This shift determines the letters alignment.
And currently, for '1', this shift is set at -1 (which means "calculate it when you see it in a sentence", but as it never appears in a sentence, it will never be calculated). But it's really easy to change. A value between 1 and 3 should be fine.