Opened 12 years ago

Closed 12 years ago

Last modified 6 months ago

#7567 closed enhancement

KYRA: add Italian CD Version to kyra.dat

Reported by: SF/glorifindel Owned by: lordhoto
Priority: normal Component: Engine: Kyra
Keywords: Cc:
Game: Kyrandia 1

Description

Hi to all, I am a member of an italian translation group, IAGTG (www.iagtg.net).
Recently one of us has translated the CD Version of The Legend Of Kyrandia 1 (the floppy version was official translated when the game was released, but the results were, ehm, "embarrassing"); one of our goals now is obviously to make the translated game ScummVM-compatible, but the main problem resides in the file "main.exe", which contain some texts (interface, inventory...).
You (ScummVM team) have inserted these texts (ENG, FRA and GER versions) in the file kyra.dat, and my request is: could you insert ITA version too? The offset for this version has changed and I can't test but I think the existing tool makekyradat won't work with this exe.
This is the link for the modified main.exe:
www.megaupload.com/it/?d=QW3RF6YO (sourceforge doesn't let me upload here this file)
If you request I will attach also the patch (which is 100% complete and won't be edited).
Thank you!

Ticket imported from: #1727941. Ticket imported from: feature-requests/383.

Attachments (6)

KyrandiaCD_Eng2Ita_Patch_v1.6.rar (118.8 KB) - added by SF/glorifindel 12 years ago.
KYRA_CD_main.exe_OK_ITA__from_FRE_.rar (104.5 KB) - added by SF/glorifindel 12 years ago.
kyra.dat (182.2 KB) - added by lordhoto 12 years ago.
Kyra dat with Italian strings.
KyrandiaCD_Eng2Ita_Patch_v1.6a.zip (120.4 KB) - added by SF/glorifindel 12 years ago.
MAIN.exe_ita.h_00subst20.zip (116.5 KB) - added by SF/glorifindel 12 years ago.
main.zip (115.9 KB) - added by SF/glorifindel 12 years ago.
Italian patched main.exe with right 0x00 values

Download all attachments as: .zip

Change History (30)

comment:1 Changed 12 years ago by lordhoto

If you want it to be added it would be wise to patch the create_kyradat tool and give us a patch file for that, I at least won't/can't update it without knowing the language (well it works, but it's pretty hard...).

comment:2 Changed 12 years ago by SF/glorifindel

What I have to do to make the work easier for you? (I haven't any C++ knowledge)
Maybe provide the text with the translation? i.e.:
Apple = Mela
etc etc
(perhaps it's a bit silly, just tell me!)

comment:3 Changed 12 years ago by lordhoto

Hm.. well then I would rather like to see the patch you made, so maybe I can reuse the offset entries for the English version, if that's the one you patched for Italian text.

Changed 12 years ago by SF/glorifindel

comment:4 Changed 12 years ago by SF/glorifindel

File Added: KyrandiaCD_Eng2Ita_Patch_v1.6.rar

comment:5 Changed 12 years ago by SF/glorifindel

Patch attached (I'm not the author anyway, I have contacted him and he should write here soon)
BTW I think he used the french text and changed the offset.

comment:6 Changed 12 years ago by SF/glorifindel

The author of the patch says: if you provide us the english texts extracted from main.exe and we copy/paste our texts without modifying any offset the work should be easier, or it is not possible?

comment:7 Changed 12 years ago by lordhoto

That would just be a temporary solution, and I'm strictly against it I want create_kyradat to support every supported game version, until there'll maybe be a change to kyra.dat again which would require the whole work the be done again, I would rather say you should ask the original author to check the offsets for the entries needed by kyra.dat and submit them. You can easily extract all kyra.dat data with extract_kyra from the tools package. If I was given the offsets in main.exe I could update kyra.dat.

Changed 12 years ago by SF/glorifindel

comment:8 Changed 12 years ago by SF/glorifindel

Hi, I attach a new version of the modified main.exe which has italian text instead of the french one and preserve the offsets of the french CD version (fre.h , ExtractEntry kyra1FreCD)
You should now be able to extract italian text and create kyra.dat without touching any offset, hope it work!
File Added: KYRA_CD_main.exe_OK_ITA__from_FRE_.rar

comment:9 Changed 12 years ago by SF/glorifindel

Other files needed?

Changed 12 years ago by lordhoto

Attachment: kyra.dat added

Kyra dat with Italian strings.

comment:10 Changed 12 years ago by lordhoto

I added an updated kyra.dat, what's missing now is the md5sum of your patched version, I can't use your patcher with wine on Linux, so it would be nice if you could supply those. (ScummVM should show them in the terminal when you try to add it in the launcher).
File Added: kyra.dat

comment:11 Changed 12 years ago by lordhoto

Owner: set to lordhoto

comment:12 Changed 12 years ago by SF/glorifindel

Here's the md5:
"gemcut.pak", "d8327fc4b7a72b23c900fa13aef4093a", 33733

Another little question: this patch overwrite the french subtitles, could you find a workaround for the detector for displaying "Platform: DOS" and "Language: Italian" but instead using French language? (I hope not to demand too much ;-) just tell me!)

comment:13 Changed 12 years ago by lordhoto

Ok one last question, how is the MAIN_XXX.CPS file called for your translation?
I guess since the patch is for English CD it's MAIN_ENG.CPS, but I want to be sure.

Changed 12 years ago by SF/glorifindel

comment:14 Changed 12 years ago by SF/glorifindel

File Added: KyrandiaCD_Eng2Ita_Patch_v1.6a.zip

comment:15 Changed 12 years ago by SF/glorifindel

Yes, it's MAIN_ENG.CPS

comment:16 Changed 12 years ago by lordhoto

Status: newclosed

comment:17 Changed 12 years ago by lordhoto

Ok should work with next SVN build.

Changed 12 years ago by SF/glorifindel

comment:18 Changed 12 years ago by SF/glorifindel

Hi, the menu is still lacking of some button voices; i've talk with the author of the patch and he gives me the following infos:
- the menu's problem should be caused by the hexadecimal character 00 in the main.exe; the author used it as filler, but extract_kyra use it as separator.
I've included a further new main.exe with (00) replaced by (20) and the ita.h offsets table for the standalone extraction of the italian text.
- the patch overwrite the english text in the game resource, the french offsets in the main.exe were used only for technical reasons, so the offsets required by extract_kyra remain the same of the french version, but the others texts/resources need the english lang, sorry if I've send wrong information in previous message
- a bug occurs in the intro: the Kallak's letter isn't visualized (no errors given, just it isn't showed), perhaps the game refers to the french .cps instead of the correct one (NOTEENG.CPS, inside MISC.PAK)
- again in the intro (between the island view and the Malcom's sketch) there isn't the "summary" image text_eng.cps (showed in the english floppy and in the french CD, but not in the english CD), would it possible to make it visible when the game is recognized as italian-cd?
Thanks
File Added: MAIN.exe_ita.h_00subst20.zip

comment:19 Changed 12 years ago by lordhoto

I tried that executable, but too many 0x00 were replaced with 0x20, the author should always preserve all the original 0x00 bytes in the executable else it will not work. (Yes there were some empty strings in the original executable and these have to be in the patched one also)

I'll open this fr again until it's working.

comment:20 Changed 12 years ago by lordhoto

Status: closednew

Changed 12 years ago by SF/glorifindel

Attachment: main.zip added

Italian patched main.exe with right 0x00 values

comment:21 Changed 12 years ago by SF/glorifindel

Ok, I've attached the ultimate main.exe version with 0x00 values corrected, hope it will work!
File Added: main.zip

comment:22 Changed 12 years ago by lordhoto

Status: newclosed

comment:23 Changed 12 years ago by lordhoto

I tried the menu now and it works fine as far as I can tell, so finally closed.

comment:24 Changed 6 months ago by digitall

Component: Engine: Kyra
Game: Kyrandia 1
Note: See TracTickets for help on using tickets.