Player Manager (Spanish Version) ADF

This forum is dedicated to the original version of Player Manager

Moderators: Moderators, Moderators

phenomenon
Posting is free!!!
Posting is free!!!
Posts: 8
Joined: Tue Sep 03, 2013 3:41 pm

Player Manager (Spanish Version) ADF

Postby phenomenon » Tue Sep 03, 2013 7:54 pm

Hi.
I just translated Oracle's Cracked version of Player Manager from English to Spanish Language with a hex editor and I want to share it with you all. All the text has been translated without problem because I could separate the strings with 00 hexadecimal characters with variable size, except the one that appear during a match. This is because this text has a fixed size and I have not been able to change their size. I've noticed that the game has this part already translated into Spanish and some other languages, but only english is activated. I read in another forum (http://www.atari-forum.com/viewtopic.php?f=3&t=8926) that there is a way to activate these languages by triggering with a switch in the code and this user refers to KO-Gathering forum. If anyone knows how to do that, it would be nice some help for a better translation. :roll:

Here are some screenshots:

Image
Image
Image
Image
Image
Image
Image
Image
Image
Image

And here is the download link (zip compressed):

Download Link --> Player Manager (1990)(Anco)(sp) 23-09-2013 by phenomenon

Enjoy!
Last edited by phenomenon on Mon Sep 23, 2013 8:30 pm, edited 4 times in total.
User avatar
Steve Camber
Mad! 7000+ poster!
Mad! 7000+ poster!
Posts: 7806
Joined: Sat Jun 16, 2001 12:00 am
Location: Sheffield, England
Contact:

Re: Player Manager (Spanish Version) ADF

Postby Steve Camber » Wed Sep 04, 2013 8:28 am

Very nice!
It should be a simple fix to change the language used during matches, if it's anything like KO2.
--
SteveC - Kick Off engineer
18 Dec 2003 - "One day I'm going to disassemble the 68000 code, and find out exactly what's going on in there!! "

Ask me about online KO2 :) https://kickoff2.net
User avatar
Steve Camber
Mad! 7000+ poster!
Mad! 7000+ poster!
Posts: 7806
Joined: Sat Jun 16, 2001 12:00 am
Location: Sheffield, England
Contact:

Re: Player Manager (Spanish Version) ADF

Postby Steve Camber » Wed Sep 04, 2013 10:56 am

At a guess, offset 0x9b2d should be the language number.

39 7C 00 00 D6 D6
39 7C 00 01 D6 D6
39 7C 00 02 D6 D6
etc

I've not tried it yet, but it looks ok in theory.
--
SteveC - Kick Off engineer
18 Dec 2003 - "One day I'm going to disassemble the 68000 code, and find out exactly what's going on in there!! "

Ask me about online KO2 :) https://kickoff2.net
User avatar
Steve Camber
Mad! 7000+ poster!
Mad! 7000+ poster!
Posts: 7806
Joined: Sat Jun 16, 2001 12:00 am
Location: Sheffield, England
Contact:

Re: Player Manager (Spanish Version) ADF

Postby Steve Camber » Wed Sep 04, 2013 1:05 pm

Well, I've had a quick try of the ADF you provided and the in-game text is not english.
Confused!

It looks in a hex editor like the languages have been rearranged, so the first (default) language is no longer english.
--
SteveC - Kick Off engineer
18 Dec 2003 - "One day I'm going to disassemble the 68000 code, and find out exactly what's going on in there!! "

Ask me about online KO2 :) https://kickoff2.net
phenomenon
Posting is free!!!
Posting is free!!!
Posts: 8
Joined: Tue Sep 03, 2013 3:41 pm

Re: Player Manager (Spanish Version) ADF

Postby phenomenon » Wed Sep 04, 2013 5:19 pm

Hi Steve.
Yes, you are right. I translated the text that appear during a match from english to spanish (but with the fixed size limitation, so the translation of this part wasn't flawless) but I can restore it to english again and then try to switch to the original in game spanish translation text.

In a while I'll upload the modified version with the original english text.

Thanks for your support.
phenomenon
Posting is free!!!
Posting is free!!!
Posts: 8
Joined: Tue Sep 03, 2013 3:41 pm

Re: Player Manager (Spanish Version) ADF

Postby phenomenon » Thu Sep 05, 2013 8:24 am

Hi Steve! Thanks for the tip, It worked fine! =) I wonder how you discovered the correct offset in order to do this. I would not have ever found ;-)

I've left the first (default) language in english (as it was originally) and then used the switch code you commented in the post above to select the spanish language from the original spanish translation.

39 7C 00 00 D6 D6 ..... English language
39 7C 00 01 D6 D6 ..... Spanish language

Anyway, I modified a bit the original text in Spanish (without changing the fixed size) because it had many errors in the translation.

The new download link is in the first post.

Again, thanks for your help, friend.
User avatar
Steve Camber
Mad! 7000+ poster!
Mad! 7000+ poster!
Posts: 7806
Joined: Sat Jun 16, 2001 12:00 am
Location: Sheffield, England
Contact:

Re: Player Manager (Spanish Version) ADF

Postby Steve Camber » Thu Sep 05, 2013 12:27 pm

Excellent! Glad to be of help.

Luckily the PM text code was very similar to the KO2 text code so it was just a matter of finding the PM equivalent to the KO2 code I'm already familiar with.

Let me know if you need any similar help :)
--
SteveC - Kick Off engineer
18 Dec 2003 - "One day I'm going to disassemble the 68000 code, and find out exactly what's going on in there!! "

Ask me about online KO2 :) https://kickoff2.net
User avatar
Stainy
4000+ Poster!
4000+ Poster!
Posts: 4307
Joined: Wed Jun 13, 2001 12:00 am
Location: Concord,NC, USA
Contact:

Player Manager (Spanish Version) ADF

Postby Stainy » Thu Sep 05, 2013 7:20 pm

Great stuff :) ill add this to my collection. Infact, i have an original Spanish version of Player Manager


Sent from my Amiga using the cli.
Image
phenomenon
Posting is free!!!
Posting is free!!!
Posts: 8
Joined: Tue Sep 03, 2013 3:41 pm

Re: Player Manager (Spanish Version) ADF

Postby phenomenon » Sat Sep 07, 2013 12:28 pm

Hi Steve.
I wonder if there is a way for changing fixed size of every individual string because I added some extra blank spaces to some in order to fit with the exact fixed size and there are some other that need 2 or 3 extra chars for translating it even better. I know doing that from a binary file is hard (better with disassembled code), but it would be nice if it could be done.

For example:

"SAQUE ESQUINA" (size = 13) --> "SAQUE DE ESQUINA" (new size = 16)

(Here I need 3 extra chars that can be removed from the string "__ELIGE SUSTITUTO (F5-F6)__" (size = 27) that has 4 not needed blank spaces chars (2 at the beginning and 2 at the end). So its new size would be 24 for "_ELIGE SUSTITUTO (F5-F6)".

Code: Select all

00018084h: 4B 49 43 4B 2D 4F 46 46 00 52 45 53 45 52 56 41 ; KICK-OFF.RESERVA
00018094h: 20 00 20 4C 45 53 49 4F 4E 41 44 4F 00 01 20 53 ;  . LESIONADO.. S
000180a4h: 55 53 54 49 54 55 49 52 20 4A 55 47 41 44 4F 52 ; USTITUIR JUGADOR
000180b4h: 20 02 00 20 20 45 4C 49 47 45 20 53 55 53 54 49 ;  ..  ELIGE SUSTI
000180c4h: 54 55 54 4F 20 28 46 35 2D 46 36 29 20 20 00 20 ; TUTO (F5-F6)  .
000180d4h: 20 20 20 45 4C 49 47 45 20 54 41 43 54 49 43 41 ;    ELIGE TACTICA
000180e4h: 20 59 20 50 55 4C 53 41 20 45 53 50 41 43 49 4F ;  Y PULSA ESPACIO
000180f4h: 20 20 20 00 53 55 53 2E 2D 00 20 46 41 4C 54 41 ;    .SUS.-. FALTA
00018104h: 20 44 45 20 00 53 41 51 55 45 20 44 45 20 50 55 ;  DE .SAQUE DE PU
00018114h: 45 52 54 41 00 20 54 49 45 4D 50 4F 20 41 47 52 ; ERTA. TIEMPO AGR
00018124h: 45 47 41 44 4F 00 20 46 49 4E 20 50 41 52 54 49 ; EGADO. FIN PARTI
00018134h: 44 4F 00 20 4D 45 44 49 41 20 50 41 52 54 45 00 ; DO. MEDIA PARTE.
00018144h: 54 41 52 4A 45 54 41 20 41 4D 41 52 49 4C 4C 41 ; TARJETA AMARILLA
00018154h: 21 20 00 54 41 52 4A 45 54 41 20 52 4F 4A 41 21 ; ! .TARJETA ROJA!
00018164h: 20 00 50 45 4E 41 4C 54 59 21 00 4C 4F 53 20 47 ;  .PENALTY!.LOS G
00018174h: 41 4E 41 44 4F 52 45 53 00 55 4E 20 45 4D 50 41 ; ANADORES.UN EMPA
00018184h: 54 45 00 53 45 4C 45 43 43 49 4F 4E 41 52 3A 00 ; TE.SELECCIONAR:.
00018194h: 4A 55 47 41 52 20 44 45 20 4E 55 45 56 4F 00 47 ; JUGAR DE NUEVO.G
000181a4h: 4F 4C 21 20 00 20 53 41 51 55 45 20 45 53 51 55 ; OL! . SAQUE ESQU
000181b4h: 49 4E 41 20 00 53 41 51 55 45 20 44 45 20 42 41 ; INA .SAQUE DE BA
000181c4h: 4E 44 41 00 4D 41 52 43 41 44 4F 52 20 2D 20 00 ; NDA.MARCADOR - .


An alternative method (but not recommended) is using the language switch code (39 7C 00 [04] D6 D6 .... italian
) in order to select original italian language and translate it to spanish. Doing that, all strings in spanish fit nicely with italian strings size (adding some extra blank spaces where required), except the string "PENALTY!" (size = 8) that doesn't fit with "RIGORE" (size = 6), so I need 2 extra chars.

Anyway, my desired translation for the text during a match is:

Code: Select all

KICK-OFF
RESERVA
LESIONADO!
# SUSTITUIR JUGADOR #
ELIGE SUSTITUTO (F5-F6)
ELIGE TACTICA Y PULSA ESPACIO
SUS. -
FALTA DE
SAQUE DE PUERTA
TIEMPO AGREGADO
FINAL DEL PARTIDO
MEDIA PARTE
TARJETA AMARILLA!
TARJETA ROJA!
PENALTY!
LOS GANADORES
UN EMPATE
SELECCIONAR:
JUGAR DE NUEVO
GOL!
SAQUE DE ESQUINA
SAQUE DE BANDA
MARCADOR -

I need your opinion about this, but if it is too difficult I'll leave it as is.

Thanks.
User avatar
Steve Camber
Mad! 7000+ poster!
Mad! 7000+ poster!
Posts: 7806
Joined: Sat Jun 16, 2001 12:00 am
Location: Sheffield, England
Contact:

Re: Player Manager (Spanish Version) ADF

Postby Steve Camber » Sat Sep 07, 2013 2:04 pm

At memory address $1c23c are the start addresses for each language

0001C23C : 0001C254 0001C338 0001C41C 0001C500 0001C5E4 0001C6C8

So for english
0001C254 : 0001C7AC 0001C7B5 etc
where
0001C7AC = "KICK-OFF"
0001C7B5 = "RESERVE "
etc

and for spanish
0001C338 : 0001C984 0001C98D 0001C996 0001C9A1 etc
where
0001C984 = "KICK-OFF"
0001C98D = "RESERVA "
0001C996 = " LESIONADO"
etc

So, if you change the starting address of a string, you also have to change the pointer to the string in the table beginning at 0001C338

All the addresses above are in run time memory addresses, not disk offsets, so you will have to do some maths :)
For example, 0001C23C in memory equates to offset $17930 in the ADF - a difference of $490c

It would be quite simple to write some code to automate this whole process - get a list of strings, write them into the ADF then fix up the pointer tables. It depends on how many changes you need to do really.
--
SteveC - Kick Off engineer
18 Dec 2003 - "One day I'm going to disassemble the 68000 code, and find out exactly what's going on in there!! "

Ask me about online KO2 :) https://kickoff2.net
Freshmaker
Moderator
Moderator
Posts: 12557
Joined: Sat Apr 06, 2002 12:00 am
Location: Tromsø,Norway
Contact:

Sv: Player Manager (Spanish Version) ADF

Postby Freshmaker » Sat Sep 07, 2013 5:18 pm

Claire?
-----------------------------
Silver Cup 2019, LAA 2015, reigning Scandinavian Champ
Founder of FÖKOF, FAKO and The People's Lockout!
WC-Host 2014 and 2017
Il portiere è mongoloide!
http://www.yearnlydom.rocks
I'm a Norwegian boy, I make rock music
phenomenon
Posting is free!!!
Posting is free!!!
Posts: 8
Joined: Tue Sep 03, 2013 3:41 pm

Re: Player Manager (Spanish Version) ADF

Postby phenomenon » Sat Sep 07, 2013 5:41 pm

Thanks Steve!.
I'm going to try it. When finished I will upload the new version at the first post.

=)
phenomenon
Posting is free!!!
Posting is free!!!
Posts: 8
Joined: Tue Sep 03, 2013 3:41 pm

Re: Player Manager (Spanish Version) ADF

Postby phenomenon » Wed Sep 11, 2013 8:16 pm

Hi Steve!

I finally managed to change the text that appears during a match (Spanish) and modified it with the desired size, as you indicated in the post above. It worked perfectly although the difference between the run time memory addresses and disk offsets was $4900 instead of $490c. After that I modified the list of pointers to the strings and it worked fine :-D

Code: Select all

(Offset - $4900)

LANGUAGE TABLE:
--------------
   
  (MEM)   0001C23C : 0001C254 0001C338
 (DISK)     $1793C :   $17954   $17A38   ... ETC ...
                    ENGLISH  SPANISH

LIST OF POINTERS TO STRINGS (SPANISH LANGUAGE):
----------------------------------------------

ORIGINAL ADF:

  (MEM)   0001C338 : 0001C984 0001C98D 0001C996 0001C9A1 0001C9B7 0001C9D3 0001C9F8 0001C9FE 0001C9FE 0001C9FE
         0001C9FE 0001C9FE 0001C9FE 0001C9FE 0001C9FE 0001C9FE 0001C9FE 0001C9FE 0001C9FE 0001C9FE
         0001C9FE 0001C9FE 0001C9FE 0001CA09 0001CA19 0001CA2A 0001CA37 0001CA44 0001CA44 0001CA57
         0001CA66 0001CA66 0001CA6F 0001CA7D 0001CA87 0001CA94 0001CAA3 0001CAA3 0001CAA3 0001CAA3
         0001CAA3 0001CAA3 0001CAA3 0001CAA3 0001CAA3 0001CAA3 0001CAA3 0001CAA3 0001CAA3 0001CAA3
         0001CAA3 0001CAA3 0001CAA3 0001CAA3 0001CAA9 0001CAB9 0001CAC8

 (DISK)     $17A38 :   $18084   $1808D   $18096   $180A1   $180B7   $180D3   $180F8   $180FE   $180FE   $180FE
           $180FE   $180FE   $180FE   $180FE   $180FE   $180FE   $180FE   $180FE   $180FE   $180FE
           $180FE   $180FE   $180FE   $18109   $18119   $1812A   $18137   $18144   $18144   $18157
           $18166   $18166   $1816F   $1817D   $18187   $18194   $181A3   $181A3   $181A3   $181A3
           $181A3   $181A3   $181A3   $181A3   $181A3   $181A3   $181A3   $181A3   $181A3   $181A3
           $181A3   $181A3   $181A3   $181A3   $181A9   $181B9   $181C8

  (MEM)   0001C984 = "KICK-OFF"
   0001C98D = "RESERVA "
   0001C996 = " LESIONADO"
   0001C9A1 = " SUSTITUIR JUGADOR "
        ... ETC ...
         
DESIRED STRINGS SIZE:

 (DISK)   $18084 = "KICK-OFF"
     $1808D = "RESERVA "
     $18096 = " LESIONADO!"
     $180A2 = " SUSTITUIR JUGADOR "
     $180B8 = "ELIGE SUSTITUTO (F5-F6)"
     $180D0 = "ELIGE TACTICA Y PULSA ESPACIO"
     $180EE = "SUS.- "
     $180F5 = "FALTA DE "
     $180FF = "SAQUE DE PUERTA"
     $1810F = "TIEMPO DE PROLONGACION"
     $18126 = "FINAL DEL PARTIDO"
     $18138 = "MEDIA PARTE"
     $18144 = "TARJETA AMARILLA! "
     $18157 = "TARJETA ROJA! "
     $18166 = "PENALTY!"
     $1816F = "LOS GANADORES"
     $1817D = "UN EMPATE"
     $18187 = "SELECCIONA:"
     $18193 = "JUGAR DE NUEVO"
     $181A2 = "GOL! "
     $181A8 = "SAQUE DE ESQUINA"
     $181B9 = "SAQUE DE BANDA"
     $181C8 = "MARCADOR - "

 (DISK)     $17A38 :   $18084   $1808D   $18096   $180A2   $180B8   $180D0   $180EE   $180F5   $180F5   $180F5
           $180F5   $180F5   $180F5   $180F5   $180F5   $180F5   $180F5   $180F5   $180F5   $180F5
           $180F5   $180F5   $180F5   $180FF   $1810F   $18126   $18138   $18144   $18144   $18157
           $18166   $18166   $1816F   $1817D   $18187   $18193   $181A2   $181A2   $181A2   $181A2
           $181A2   $181A2   $181A2   $181A2   $181A2   $181A2   $181A2   $181A2   $181A2   $181A2
           $181A2   $181A2   $181A2   $181A2   $181A8   $181B9   $181C8

  (MEM)   0001C338 : 0001C984 0001C98D 0001C996 0001C9A2 0001C9B8 0001C9D0 0001C9EE 0001C9F5 0001C9F5 0001C9F5
         0001C9F5 0001C9F5 0001C9F5 0001C9F5 0001C9F5 0001C9F5 0001C9F5 0001C9F5 0001C9F5 0001C9F5
         0001C9F5 0001C9F5 0001C9F5 0001C9FF 0001CA0F 0001CA26 0001CA38 0001CA44 0001CA44 0001CA57
         0001CA66 0001CA66 0001CA6F 0001CA7D 0001CA87 0001CA93 0001CAA2 0001CAA2 0001CAA2 0001CAA2
         0001CAA2 0001CAA2 0001CAA2 0001CAA2 0001CAA2 0001CAA2 0001CAA2 0001CAA2 0001CAA2 0001CAA2
         0001CAA2 0001CAA2 0001CAA2 0001CAA2 0001CAA8 0001CAB9 0001CAC8

Again, without your help I would not have succeeded.

Thanks friend.

NOTE: The new download link is in the first post (each time I modify the file in order to fix errors I'll upload the new version and will put the date in the filename, so you all will know if you have got the latest version).

Who is online

Users browsing this forum: No registered users and 1 guest