News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Gryzor

La abadia del crimen in English?

Started by Gryzor, 09:37, 11 February 11

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

khaz

#75
Quote from: ||C|-|E|| on 12:26, 11 October 17

I've put your text in a google document here:
https://docs.google.com/document/d/1VS1Q5TymS36JLf42WNkapHJs57T81C4IciwGeM9SryM/edit?usp=sharing


I've put my own take below yours. I've changed a few things:
- the names were corrected to match the book
- the typos I saw
- my take on a few sentences
- I contracted I AM to I'M, IT IS to IT'S, but not I HAVE, I WILL... I'm not sure how much I can contract, the rules and formality of it all.
- I moved the apostrophes to the end of the sentences, as per the original Spanish. The shorter sentences are supposed to appear frequently, so the useful information scrolls first.
- I changed a few MUST to HAVE TO. But not all of them. Some of the context is unclear to me.

Things I'd like to change, but I want you guys' opinions:
- I'm tempted to correct WARN to ALERT. It depends on the context of the scene.
- "The library is a secret place". I'm not sure "secret" is right here. I'm leaning more towards "private", "personal", "confidential". Context is needed. ok
- "Dios Santos" "Good God" Holy God"... What would be a good, holy interjection?
- There are a few phrases I'm not a fan of, but I can't think of anything better.

I've counted words and characters, and everything should fit nicely within the original code with space to spare.




[EDIT] The line about the Coena Cypriani is bothering me. The characters are talking about two subversive books in Eco's: the Coena Cypriani which has no known author but is widely available, and Poetics, Book II by Aristotle, a lost writing. The authors of the game have conflated both to have the hidden Coena Cypriani by Aristotle. I don't know if it's a mistake or on purpose, but I feel the simplification was unneeded. I restored the line to have the proper book incriminated, but I'll be happy to hear arguments of the other side.

Nich

#76
Earlier this year, I had a look at trying to work out how to create an English version of La Abadía del Crimen, but I didn't get very far. Redefining the character set is going to take a lot of work because, as @robcfg has explained, each pixel is encoded individually.

I have attached a ZIP file containing a 'frozen' snapshot of the 128K version of the game (it's in an infinite loop at address &0400; you need to modify the code at &0400 or the program counter to begin the game) and source code for generating the character data and the text.

@khaz - this should make your life a lot easier! :)

To use the source code file:

  • Open the snapshot file in WinAPE.
  • Open the WinAPE assembler (press F3).
  • Open my source code file.
  • Run it (select 'Assembler' from the menu, then select 'Run', or alternatively, press F9)).
There is data for one character that is not used (look for a label called char64_data). I have assigned it to character 64 (@). Removing the lines for this character will save some space for additional characters.

Here are some details of how the text is stored in memory (all addresses are in the main 64K, i.e. bank &C0):

  • &680C-&68C1: Table of pointers to character data
  • &6947-&72E0: Character data; don't go beyond &72FF!
  • &7300-&787A: Introduction text; don't go beyond &7899!
You can use WinAPE's debugger (select 'Debug' from the menu, then select 'Pause', or alternatively, just press F7) to see how the memory is being used.

It looks like there is an area of memory from &7E8A-&7FFF that is free and could be used to store additional data if necessary.

||C|-|E||

#77
Quote from: khaz on 19:14, 14 October 17

I've put your text in a google document here:
https://docs.google.com/document/d/1VS1Q5TymS36JLf42WNkapHJs57T81C4IciwGeM9SryM/edit?usp=sharing


I've put my own take below yours. I've changed a few things:
- the names were corrected to match the book
- the typos I saw
- my take on a few sentences
- I contracted I AM to I'M, IT IS to IT'S, but not I HAVE, I WILL... I'm not sure how much I can contract, the rules and formality of it all.
- I moved the apostrophes to the end of the sentences, as per the original Spanish. The shorter sentences are supposed to appear frequently, so the useful information scrolls first.
- I changed a few MUST to HAVE TO. But not all of them. Some of the context is unclear to me.

Things I'd like to change, but I want you guys' opinions:
- I'm tempted to correct WARN to ALERT. It depends on the context of the scene.
- "The library is a secret place". I'm not sure "secret" is right here. I'm leaning more towards "private", "personal", "confidential". Context is needed. ok
- "Dios Santos" "Good God" Holy God"... What would be a good, holy interjection?
- There are a few phrases I'm not a fan of, but I can't think of anything better.

I've counted words and characters, and everything should fit nicely within the original code with space to spare.




[EDIT] The line about the Coena Cypriani is bothering me. The characters are talking about two subversive books in Eco's: the Coena Cypriani which has no known author but is widely available, and Poetics, Book II by Aristotle, a lost writing. The authors of the game have conflated both to have the hidden Coena Cypriani by Aristotle. I don't know if it's a mistake or on purpose, but I feel the simplification was unneeded. I restored the line to have the proper book incriminated, but I'll be happy to hear arguments of the other side.

It is all very good  :) I mean, my translation was intended to let you know, guys, the meaning of these sentences in an unambiguous way. I am sure that the style can be vastly improved  :)

Regarding some particular comments:

- I still prefer "warn" rather than "alert". It is way more used, at least where I live in UK, and I think that it fits better with the original meaning of the sentence.
- Holy interjection: I chose "Good God" because I think it is a bit more out of fashion than "Holy". However, there is nothing wrong with the later one.
- "Must" and "have to": I would say that in the context of the original game, must is a better translation but more opinions would be greatly appreciated.
- About the Coena Cypriani issue I don´t really know what to say. Basically I translated what was in there  :)

Nich

Quote from: Nich on 12:16, 15 October 17
I have attached a ZIP file containing a 'frozen' snapshot of the 128K version of the game (it's in an infinite loop at address &0400; you need to modify the code at &0400 or the program counter to begin the game) and source code for generating the character data and the text.

I've done some more work and included the data for the scrolling messages and the dictionary in the source code. A new version of the ZIP file has been attached to my previous post.

Here are some details of how the in-game scrolling messages are stored in memory:

  • &B400-&B56F: Font
  • &B580-&BA68: Dictionary (239 'words' in total); don't go beyond &BAFF!
  • &BB00-&BE9C: Encoded data for scrolling messages
A useful tip for being able to view any scrolling message is to set a breakpoint at address &504A in the main 64K of memory (bank &C0) (in WinAPE, click on the grey bar just to the left of the relevant line and a red circle will appear), and when the breakpoint is activated, change the value of the B register to the message number you wish to view (there are 56 in total, numbered from 0-55).

khaz

Quote from: Nich on 12:16, 15 October 17I have attached a ZIP file containing a 'frozen' snapshot of the 128K version of the game (it's in an infinite loop at address &0400; you need to modify the code at &0400 or the program counter to begin the game) and source code for generating the character data and the text.

@khaz - this should make your life a lot easier! :)

Thanks, it definitely will!

Quote from: ||C|-|E|| on 12:22, 15 October 17- I still prefer "warn" rather than "alert". It is way more used, at least where I live in UK, and I think that it fits better with the original meaning of the sentence.

I'm warming up to it. I had that initial impression that it felt like too much like a child telling on someone, especially the line "DROP VENANTIUS´ MANUSCRIPT OR I WILL WARN THE ABBOT", but it's also one of the few phrase which I can't discern the context for. It helps that WARN is also used in other places, and keeping the dictionary small is something that should be in the back of my mind.

Quote from: ||C|-|E|| on 12:22, 15 October 17
- "Must" and "have to": I would say that in the context of the original game, must is a better translation but more opinions would be greatly appreciated.

I've changed it where context told me that it was the expression of an obligation, not the feeling of the speaker. I have left the other MUST intact for the same reason. Maybe this distinction isn't possible in Spanish? The only part where I'm not sure about its use is SOMEONE WANTS TO DECIDE WHAT THE MONKS MUST AND MUST NOT KNOW. But the overall phrase may have to be tweaked.

Quote from: ||C|-|E|| on 12:22, 15 October 17
- About the Coena Cypriani issue I don´t really know what to say. Basically I translated what was in there  :)

Haha, yes, it's the same idea as whether to replace OCCAM by BASKERVILLE. The game authors used the plot and characters of Eco, save for the last name of the main character (which isn't mentioned anywhere but once in the introduction), and the name of the MacGuffin (but kept its author's name).

khaz

Quote from: Nich on 17:22, 15 October 17Here are some details of how the in-game scrolling messages are stored in memory

Perhaps you may be able to explain something to me.

I was considering adding back the final punctuation to the ingame phrases, and also give an exclamation mark to a few of them. But the way the punctuation is coded is unclear to me:

; The following bytes are also used:
;
; 249 (&F9) - do not add a space before the beginning of the following word
; 250 (&FA) - inverted question mark
; 251 (&FB) - question mark (?)
; 252 (&FC) - semicolon (;)
; 253 (&FD) - full stop (.)
; 254 (&FE) - comma (,)

Yet the glyphs are coded as

      00 00 00 30 30 00 30 30 ; 0x3a -> :
      00 00 00 18 18 00 18 30 ; 0x3b -> ;
      00 00 00 00 00 00 18 30 ; 0x3c -> ,
      00 00 00 00 00 00 1C 1C ; 0x3d -> .
      00 7C C6 46 1C 30 00 30 ; 0x3f -> ?
      0C 00 0C 38 62 63 3E 00 ; 0x40 -> ¿

Why don't the numbers match?

Nich

Quote from: khaz on 18:09, 15 October 17
Why don't the numbers match?

The punctuation marks aren't stored in the dictionary, so you can't use values 0x3A-0x40 to encode them.

khaz

Quote from: Nich on 18:25, 15 October 17
The punctuation marks aren't stored in the dictionary, so you can't use values 0x3A-0x40 to encode them.
How difficult would it be to add one?
I've replaced the ¿ glyph with the apostrophe already, so no more substitution.

Nich

Quote from: khaz on 18:48, 15 October 17
How difficult would it be to add one?
I've replaced the ¿ glyph with the apostrophe already, so no more substitution.

Now you can use 0xFA to add an apostrophe! :)

khaz

Quote from: Nich on 18:56, 15 October 17
Now you can use 0xFA to add an apostrophe! :)
Yeah I did that already haha, it shows up ingame fine ;)
I was asking about adding an exclamation mark, maybe.

Nich

Quote from: khaz on 19:14, 15 October 17
Yeah I did that already haha, it shows up ingame fine ;)
I was asking about adding an exclamation mark, maybe.

There are four characters which have been defined in order to try to squeeze more than one letters into an 8x8 block. These are used for the text in the bottom left window which shows the canonical hour (thank you, Wikipedia! :D).

I reckon we should only need to use one of these characters in the English translation, so you could redefine character 47 (/) as an exclamation mark.

The font data for character 47 is stored at &B410, so you can add the following lines to the source code:

org &b410

db &00,&10,&38,&38,&10,&10,&00,&10 ;redefine / to an exclamation mark (!)


However, you will need to use the exclamation mark in the words in the dictionary, instead of using a separate byte to represent it (i.e. you can't use a byte such as 0xF8).

khaz

Actually I used two to write PLI of COMPLINE

Quote from: Nich on 19:43, 15 October 17However, you will need to use the exclamation mark in the words in the dictionary, instead of using a separate byte to represent it (i.e. you can't use a byte such as 0xF8).

Yeah, that's what I thought. I'll see what I can do, I'm not sure it's worth it.

khaz

The in-game dialogues are in! it should be bug-free, but please check it too.

Things that are in:
intro
ending
in-game dictionary and phrases
in-game font
prayers
game over (may be bugged depending on the percentage achieved)

Things missing:
BFIW scroll characters
"Dia" in the main interface isn't translated
the loading screen

I didn't go further than the second day, so if you're familiar with the game please test it so that we can know things work fine.


So we're nearly there! the only few things missing are graphics-related and I can't do them, sadly.


khaz

One thing I don't know how to hack:

At night in the cell, we're asked if we want to sleep, and there is a S:N flashing on-screen. Pressing the corresponding letter makes you go to bed, or not. While I can change the glyph to Y:N, I don't know how to change the code for the keyboard control.

Here is the relevant code I could find from the source:

; imprime S:N o borra S:N dependiendo de 0x3c99
5065: DD E5       push ix
5067: 21 1D A4    ld   hl,$A41D ; coloca la posición (116, 164)
506A: 22 97 2D    ld   ($2D97),hl
506D: 3A 99 3C    ld   a,($3C99)
5070: E6 01       and  $01
5072: 28 0A       jr   z,$507E
5074: CD EE 4F    call $4FEE ; imprime la frase que sigue a la llamada en la posición de pantalla actual
20 20 20 FF
[3 espacios]
507B: DD E1       pop  ix
507D: C9          ret

507E: CD EE 4F    call $4FEE ; imprime la frase que sigue a la llamada en la posición de pantalla actual
53 3A 4E FF
S : N
5085: DD E1       pop  ix
5087: C9          ret


5E8C: CD 65 50    call $5065 ; imprime S:N o borra S:N dependiendo del bit 1 de 0x3c99
5E8F: CF          rst  $08
A1 -> c1a = [0x3c99]
01 -> c2a = 0x01
2A -> ca = [0x3c99] & 0x01
01 -> cb = 0x01
3D -> c = ([0x3c99] & 0x01) == 0x01
5E95: 20 16       jr   nz,$5EAD ; dependiendo del bit 1, lee el estado del teclado
5E97: 3E 3C       ld   a,$3C
5E99: CD 82 34    call $3482 ; comprueba si se ha pulsado la S
5E9C: 20 0C       jr   nz,$5EAA
5E9E: 3E 2E       ld   a,$2E
5EA0: CD 82 34    call $3482 ; comprueba si se ha pulsado la N
5EA3: 20 01       jr   nz,$5EA6
5EA5: C9          ret

; aquí llega si se pulsa la N
5EA6: D7          rst  $10
98 05 -> [0x3d12] = 0x05
5EA9: C9          ret

; aquí llega si se pulsa la S
5EAA: D7          rst  $10
9B 02 -> [0x3c9a] = 0x02 ; se avanza al siguiente día
5EAD: C9          ret



dragon

Thats tipical is using the keyboard codes.


I mean 3c=s 2e=n


Only covert it to decimal,  or reverse with windows calculator.


https://goo.gl/images/vhvDQR




Nich

Quote from: khaz on 18:55, 18 October 17
One thing I don't know how to hack:

At night in the cell, we're asked if we want to sleep, and there is a S:N flashing on-screen. Pressing the corresponding letter makes you go to bed, or not. While I can change the glyph to Y:N, I don't know how to change the code for the keyboard control.

That's easy. Just change the byte at &5E98 from &3C to &2B (the number for the Y key on a QWERTY keyboard). :)

khaz

Thanks both of you. I modified it, and knowing what to look for I also modified the key code to save on disc.

And I can confirm I haven't broken the save system!

The prerecorded demo (shift F8/F9) is quite interesting haha.

I don't think I can do anything more now. hmm...

robcfg

Good news!


I asked Manuel Pazos if we could borrow the glyphs from the Abadía del Crimen Extensum remake and kindly sent them to me.


So here they are!

khaz

Great news indeed!

Let's see how everything fits now...

khaz

#94
The glyphs are in, the scroll is now complete!

Things that are in:
intro text
ending text
missing parchment glyphs
in-game dictionary and phrases
in-game complete font
prayers
game over (may be bugged depending on the percentage achieved)
Y/N properly mapped

Things missing:
"Dia" in the main interface isn't translated
the loading screen


The game should now be entirely playable in English! Unless there are bugs.


Now if anyone is able to change the title in the loading screen, and the "Dia" in the user interface, that would be awesome. And also how to put them back in the code, because I have no idea where the data is lol

[edit] I don't know why I thought I didn't need the E. I do. I don't have enough space to put it amongst the other glyphs before the text, so I put it after. It's terribly dirty, but it seem to work so it'll stay there.

[edit] some news have been linking to that post. KEEP READING THE THREAD! more up to date versions are posted, and as of today there are still modifications I need to put in, even on the text. I welcome the beta testers, but you need to be aware of the fact.

Gryzor


khaz

I can't consider it done until I have the loading screen and interface, honestly. But it's fully playable for sure!

I've tested it to the best of my abilities while inserting the text, so there shouldn't be any dictionary inversion or spelling mistake. I can't be sure that all the phrases are played at the correct moment. They should, but only a full playthrough can guarantee it.

One thing I couldn't test is the accuracy of the translation in regards to context. For example I had to change a verb from present to past tense early in the game to account for the fact that the subject wasn't there any more. I very much need feedback on that.

The ending scrolling text has been tested by inserting it in the intro scroll. Again, it should work correctly but I've never reached the actual ending.

jbaudrand

khaz: you're a Hero. Can't wait to play it.

Nich

Quote from: jbaudrand on 14:54, 21 October 17
khaz: you're a Hero. Can't wait to play it.

@khaz did the majority of the work, but the contributions of other members should not be overlooked:

  • @||C|-|E||, for providing initial English translations of the messages
  • Me, for providing Z80 assembler code for @khaz to use, without which this project would have been a lot more difficult
  • @robcfg and Manuel Pazos, for providing some font characters used in the introductory text

khaz

#99
Yeah it's a collective effort. My credit is to nag people for help haha

BUT IT'S NOT OVER YET! graphics, testing, etc

Powered by SMFPacks Menu Editor Mod