1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

"Don't go alone", Translation in French

Тема в разделе "International Zone", создана пользователем hrvg54, 14 окт 2022.

  1. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    Hi,

    My English is bad, sorry.

    I would like to translate this game: Don't go alone.
    But, I have two problems:
    1) I do not know how to find the fonts to add the French letters.
    Could someone help me find (extract) the font, please?
    2) There is very little free space (bytes). And I do not know if we can enlarge "Alone.exe" file?
    If yes:
    Can you explain me how to do it, thanks.

    Game:
    DontGo

    I thank you for your help.
     
  2. oFF_rus .

    oFF_rus

    Legacy

    Регистрация:
    25 фев 2007
    Сообщения:
    2.170
    Font is stored inside EXE file. Table with pointers to chars starts at 0x2A79C (for file unpacked with UNP.EXE). In IDA:

    Код:
    dseg:00DC FontPointers dw 0
    dseg:00DE                 dw 2
    dseg:00E0                 dw 5
    dseg:00E2                 dw 9
    dseg:00E4                 dw 11h
    dseg:00E6                 dw 17h
    Font graphics start at 0x2A854 (dseg:0194). 1-bit, 0Ah height. You can see it with some raw graphics viewer, like GBS ( GitHub - old-games/GBS: GraphBitStreamer - поиск несжатой графики в ресурсах игр ) for example.

    In this EXE dseg is bigger than the part that is stored on disk. You can see that from some point IDA displays question marks instead of values from file:
    Код:
    dseg:94D8 word_33368      dw 0FFFFh               ; DATA XREF: sub_95E0+26w
    dseg:94D8                                         ; sub_95E0:loc_966Cr
    dseg:94DA word_3336A      dw 0FFFFh               ; DATA XREF: sub_95E0+13w
    dseg:94DA                                         ; sub_95E0+94r
    dseg:94DC word_3336C      dw 0FFFFh               ; DATA XREF: sub_95E0+16w
    dseg:94DC                                         ; sub_95E0+90r
    dseg:94DE word_3336E      dw 0FFFFh               ; DATA XREF: sub_AD70+2Fw
    dseg:94DE                                         ; sub_AD70+4Cw sub_AD70+5Fw
    dseg:94DE                                         ; sub_ADDA:loc_ADFCr
    dseg:94DE                                         ; sub_ADDA:loc_AE04r
    dseg:94DE                                         ; sub_AE0C+3Dr sub_AE0C+51r
    dseg:94E0 word_33370      dw ?                    ; DATA XREF: sub_AD70+23w
    dseg:94E0                                         ; sub_ADDA:loc_ADF6r
    dseg:94E0                                         ; sub_AE0C+2Br
    dseg:94E2 word_33372      dw ?                    ; DATA XREF: PrintText1_+76Er
    dseg:94E2                                         ; sub_D020+11w
    dseg:94E4 word_33374      dw ?                    ; DATA XREF: PrintText1_+771r
    dseg:94E4                                         ; sub_D020+14w
    dseg:94E6                 db    ? ;
    dseg:94E7                 db    ? ;
    
    It means that game uses this memory, but this memory will not be loaded from disk. So, when you add something to the end of file then game simply ignores it, because it thinks that data does not exist. Game simply writes its working data over your 40 bytes.

    Can you compare IDA results for original and original+40 files? Will IDA display some data instead of the first question marks? If so, then I think you can try to add more bytes to fill all question marks (end of dseg and seg005) and then add your data.
     

    Вложения:

    Dimouse и Depressor нравится это.
  3. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    Thank you for your answer and your help.

    There is no change. But I have this window (screenshot: IDA 0) with file ALONE.EXE + 40 bytes.
    --- добавлено 15 окт 2022, предыдущее сообщение размещено: 15 окт 2022 ---
    How do I download this software (GBS), please?
     

    Вложения:

    • IDA 0.png
      IDA 0.png
      Размер файла:
      13,8 КБ
      Просмотров:
      77
    • IDA 1.png
      IDA 1.png
      Размер файла:
      33,7 КБ
      Просмотров:
      76
    • IDA 2.png
      IDA 2.png
      Размер файла:
      28,6 КБ
      Просмотров:
      80
    Последнее редактирование: 15 окт 2022
  4. oFF_rus .

    oFF_rus

    Legacy

    Регистрация:
    25 фев 2007
    Сообщения:
    2.170
    Try to change file size in EXE header:

    The DOS EXE header. (includes source)
    Код:
    02h    word    Image size mod 512
                       bytes on last page
    04h    word    Number of 512-byte pages in image
                       Size of total file = [04h] * 512 + [02h]
    
    Here: DOSBox, ScummVM, PCem, VDMSound, DOS, эмуляторы, замедлялки, журналы на Old-Games.RU
     
  5. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    I found the font with "tilemolester-0.16".
     

    Вложения:

    • font.png
      font.png
      Размер файла:
      85,6 КБ
      Просмотров:
      88
  6. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    I used GBS.
    I opened ALONE.EXE.
    I did export.
    I edited the BMP file with GraphicsGale.
    I did import with GBS. (Screenshot font 1).
    I did "Save project" and I have a GBS file.
    I did "Save changes"...
    Game does not have the French letters. (Screenshot font 2).
    --- добавлено 15 окт 2022, предыдущее сообщение размещено: 15 окт 2022 ---
    I think I enlarged the exe. Screenshot: "enlarge 0 and enlarge 1".

    But, I have this when I open the "ALONE.EXE" file with IDA... Screenshot: IDA 10
    IDA does not recognize offset 0x33bc5"
    I do not understand my errors.
    --- добавлено 15 окт 2022 ---
    I modified these values. See screenshot "enlarge 5".
     

    Вложения:

    • font 1.png
      font 1.png
      Размер файла:
      49,3 КБ
      Просмотров:
      103
    • font 2.png
      font 2.png
      Размер файла:
      25,1 КБ
      Просмотров:
      92
    • enlarge 0.png
      enlarge 0.png
      Размер файла:
      48,7 КБ
      Просмотров:
      77
    • enlarge 1.png
      enlarge 1.png
      Размер файла:
      71,3 КБ
      Просмотров:
      76
    • IDA 10.png
      IDA 10.png
      Размер файла:
      18,8 КБ
      Просмотров:
      78
    • enlarge 5.png
      enlarge 5.png
      Размер файла:
      92,4 КБ
      Просмотров:
      75
  7. oFF_rus .

    oFF_rus

    Legacy

    Регистрация:
    25 фев 2007
    Сообщения:
    2.170
    Strange, could you upload new EXE with french letters?

    It looks like you didn't. Original packed EXE is in the upper half of your screenshot. Original unpacked (with UNP) EXE is in the bottom half of your screenshot. It was UNP who modified these values after it changed size of EXE.

    You have to calculate how mach bytes you added to file and change these values in header.
    --- добавлено 16 окт 2022, предыдущее сообщение размещено: 15 окт 2022 ---
    Top message is written with second font - with 15 pixels height.
     

    Вложения:

  8. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    Hi,


    I started again from zero. There is an error. The ! is at the end of the font (screenshot: Bad BMP)

    The signs that I replaced by the French letters:

    é = $ = 24
    è = / = 2F
    ê = ^ = 5e
    ë= & = 26
    à = # = 23
    â = = = 3d
    ç = < = 3c
    î = > = 3e
    ï = ; = 3b
    ö = _ = 5f
    ô = ] = 5d
    ù = [ = 5b
    û = \ = 5c

    I do not have the French letters (screenshot: font 2)... However the French letters are in ALONE.EXE.:

    Files:
    font
    --- добавлено 16 окт 2022, предыдущее сообщение размещено: 16 окт 2022 ---

    Ah OK ! There are two fonts. There are still errors (screenshot: font 20.
    --- добавлено 16 окт 2022 ---
    Well, I can not modify the font, because the letters and signs must have pointers. Letters are 4 pixels and signs are 3 pixels. 4 signs are missing for 4 letters.
     

    Вложения:

    • Bad BMP.png
      Bad BMP.png
      Размер файла:
      47,3 КБ
      Просмотров:
      75
    • font 2.png
      font 2.png
      Размер файла:
      37,8 КБ
      Просмотров:
      66
    • font 20.png
      font 20.png
      Размер файла:
      66,2 КБ
      Просмотров:
      67
    • font 21.png
      font 21.png
      Размер файла:
      65,3 КБ
      Просмотров:
      77
  9. oFF_rus .

    oFF_rus

    Legacy

    Регистрация:
    25 фев 2007
    Сообщения:
    2.170
    dseg:00DC fontSmallPointers
    dseg:060A fontBigPointers
     
  10. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    I found out how to find the pointer values of the modified font. I use GraphicsGale.
    A short question, please. Can we enlarge the font? Because the letters are very large in the large font.
    --- добавлено 16 окт 2022, предыдущее сообщение размещено: 16 окт 2022 ---
    It is a good start
    --- добавлено 16 окт 2022 ---
    Little font is finished.
    I thank you for your help and your patience.
    I will try to enlarge big font... I will redraw the letters if it does not work.

    I tried to enlarge ALONEexe file without success. I will look tomorrow.
     

    Вложения:

    • font 30.png
      font 30.png
      Размер файла:
      60,5 КБ
      Просмотров:
      66
    • font 40.png
      font 40.png
      Размер файла:
      3,1 КБ
      Просмотров:
      77
  11. oFF_rus .

    oFF_rus

    Legacy

    Регистрация:
    25 фев 2007
    Сообщения:
    2.170
    Maybe. As I see structure of font is:

    Код:
    dseg:00DC fontSmallPointers dw      0,     2,     5,     9,   11h,   17h,   1Eh,   24h
    ...
    dseg:0194 fontSmallPixels db 2 dup( 0), 8,48h,0C4h,52h,0A0h,0Ah dup( 0),18h,12h dup( 0)
    ...
    something strange - hex numbers in text format with comments:
    "...0x2c30, 0x3020, 0x3278, 0x3363, 0x2c30, 0x3020, 0x3378..."
    "/*******  SCAN LINE #9  10  ********/"
    ...
    some binary data
    ...
    and font descriptor:
    dseg:05E0 fontPointers    dw offset fontSmallPointers
    dseg:05E2 font            dd fontSmallPixels
    dseg:05E6 fontBytesPerRow dw 37h
    dseg:05E8 fontHeight      dw 0Ah
    dseg:05EA firstSymbNum    dw 20h
    dseg:05EC lastSymbNum     dw 7Ah
    dseg:05EE                 dw 8
    dseg:05F0                 dw 7
    dseg:05F2                 dw 0Ah
    
    For big font:
    Код:
    dseg:060A fontBigPointers dw      0,     4,     7,   0Ch,   15h,   1Ch,   25h,   2Fh
    ...
    dseg:06C2 fontBigPixels   db 4Dh dup( 0), 7,4Dh dup( 0), 7,3 dup( 0),80h,2 dup( 0)
    ...
    more strange text numbers:
    "...0x2020, 0x2020, 0x3020, 0x3778, 0x3338, 0x2c30, 0x********/..."
    ...
    more unknown binary data
    ...
    and font descriptor:
    dseg:0FE6 fontPointersBig dw offset fontBigPointers
    dseg:0FE8 fontBig         dd fontBigPixels
    dseg:0FEC fontBigBytesPerRow dw 4Eh
    dseg:0FEE fontBigHeight   dw 0Fh
    dseg:0FF0 fontBigFirst    dw 20h
    dseg:0FF2 fontBigLast     dw 7Ah
    dseg:0FF4                 dw 10h
    dseg:0FF6                 dw 0Ch
    dseg:0FF8                 dw 0Fh
    
    I don't think that these strange text numbers are really used by game. You can try to enlarge fonts over them and test in game will it break anthing or not.
     
  12. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    Thanks,
    I will try.

    ALONE.EXE file (new little font):
    ALONE
     
  13. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    Hi,

    I finished 2 fonts. I thank you for your help.

    I can not enlarge ALONE.EXE file.
    I added 40 bytes with the words "DROITE" to ALONE.EXE.
    0x019a + 0x28 = 0x01c2 (screenshot 00)
    I decompile with UNP.EXE... (screenshot 01)
    At the top the file with + 40 bytes
    At the bottom is the original file.
    Files decompiled with UNP.EXE have the same size. (screenshot 02)

    And the words "DROITE" have disappeared...

    ALONE.EXE with +40 bytes (Not decompiled):
    alone 00
    --- добавлено 18 окт 2022, предыдущее сообщение размещено: 18 окт 2022 ---
    I believe the simplest. It is to make short sentences.
    I thank you for your patience and patience.
     

    Вложения:

    • 00.png
      00.png
      Размер файла:
      50,7 КБ
      Просмотров:
      67
    • 01.png
      01.png
      Размер файла:
      53,1 КБ
      Просмотров:
      71
    • 02.png
      02.png
      Размер файла:
      113,8 КБ
      Просмотров:
      80
  14. oFF_rus .

    oFF_rus

    Legacy

    Регистрация:
    25 фев 2007
    Сообщения:
    2.170
    Wrong order.
    You should unpack file with UNP.EXE first. And then add bytes to unpacked file.

    Think of original ALONE.EXE as a special sort of self-extracting archive. Self-extracting archive - Wikipedia where real EXE is inside this archive . So, when you modify archive itself results (normally) will not affect in desired way packed file that "sits" inside archive.
     
  15. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    Hi,

    It is good news. I had only tried on the original ALONE.EXE... I will try, and thank you for your explanations.

    I started translating... And I have a problem.
    I have this piece of sentence:
    %s : Réduit de 25 %
    The % sign does not appear on the screen.
    If I replace % by K... The letter k appears.
    Screenshot 001
    It is strange, isn't it?
     

    Вложения:

    • 001.png
      001.png
      Размер файла:
      39,9 КБ
      Просмотров:
      69
  16. oFF_rus .

    oFF_rus

    Legacy

    Регистрация:
    25 фев 2007
    Сообщения:
    2.170
    Not really.

    Game uses sprintf - function from printf group.
    printf, fprintf, sprintf, snprintf, printf_s, fprintf_s, sprintf_s, snprintf_s - cppreference.com

    Format string for these functions use % as a placeholder. "%s" for strings, "%d" for numbers, etc. It means that you can't place single % in format string - only to parameters ("by 50%" and "50% for a short time" strings from game). To place single % to format string you should 'escape' it with second %:
    How to escape the % (percent) sign in C's printf

    Is your changed string a format string of parameter string?
     
  17. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    It works... But the first word "DROITE" became "DROI"... And the second does not come out. Screenshot 010.

    Alone.exe file with the new fonts and the beginning of the translation:
    alone 010
    --- добавлено 18 окт 2022, предыдущее сообщение размещено: 18 окт 2022 ---
    Yes you are right. I remember a game. I had written "per cent". It was impossible to write 25 %.
    --- добавлено 18 окт 2022 ---
    It works. I wrote: %s: Reduced by 25 %%
    Thank you very much for your help.
    Screenshot 012.
     

    Вложения:

    • 010.png
      010.png
      Размер файла:
      96,9 КБ
      Просмотров:
      73
    • 011.png
      011.png
      Размер файла:
      78,5 КБ
      Просмотров:
      72
    • 012.png
      012.png
      Размер файла:
      31,6 КБ
      Просмотров:
      64
  18. oFF_rus .

    oFF_rus

    Legacy

    Регистрация:
    25 фев 2007
    Сообщения:
    2.170
    Ok, it works. Both DROITE are there, but they are now at places where game wanted to see FFFF and 0000:

    Original:
    Код:
    dseg:94D2                 db 0FFh
    dseg:94D3                 db 0FFh
    dseg:94D4                 db 0FFh
    dseg:94D5                 db 0FFh
    dseg:94D6 word_33366      dw 0FFFFh
    dseg:94D8 word_33368      dw 0FFFFh
    dseg:94DA word_3336A      dw 0FFFFh
    dseg:94DC word_3336C      dw 0FFFFh
    dseg:94DE word_3336E      dw 0FFFFh
    ...
    dseg:94F4                 db    ? ;
    dseg:94F5                 db    ? ;
    dseg:94F6                 db    ? ;
    dseg:94F7                 db    ? ;
    dseg:94F8                 db    ? ;
    dseg:94F9                 db    ? ;
    
    Enlarged:
    Код:
    dseg:94D2                 db  44h ; D
    dseg:94D3                 db  52h ; R
    dseg:94D4                 db  4Fh ; O
    dseg:94D5                 db  49h ; I
    dseg:94D6 word_33366      dw 4554h                ; DATA XREF: sub_8EE2+11w
    dseg:94D8 word_33368      dw 0                    ; DATA XREF: sub_95E0+26w
    dseg:94DA word_3336A      dw 0                    ; DATA XREF: sub_95E0+13w
    dseg:94DC word_3336C      dw 0                    ; DATA XREF: sub_95E0+16w
    dseg:94DE word_3336E      dw 0                    ; DATA XREF: sub_AD70+2Fw
    ...
    dseg:94F4                 db  44h ; D
    dseg:94F5                 db  52h ; R
    dseg:94F6                 db  4Fh ; O
    dseg:94F7                 db  49h ; I
    dseg:94F8                 db  54h ; T
    dseg:94F9                 db  45h ; E
    
    1. Don't move FFFF from the place where they were in original file. Game probably requires them to be there!
    2. Fill all ??? places with 00 in enlarged portion of file.
    3. Put your text messages only after last "?" and 800h bytes of seg005 (it too contains "?") or game will write something over them:

    Код:
    dseg:ECDE                 db    ? ;
    dseg:ECDF                 db    ? ;
    dseg:ECDF dseg            ends
    dseg:ECDF
    seg005:0000 ; ---------------------------------------------------------------------------
    seg005:0000
    seg005:0000 ; Segment type: Uninitialized
    seg005:0000 seg005          segment byte stack 'STACK' use16
    seg005:0000                 assume cs:seg005
    seg005:0000                 assume es:nothing, ss:nothing, ds:dseg, fs:nothing, gs:nothing
    seg005:0000                 db 800h dup(?)
    seg005:0000 seg005          ends
    seg005:0000
    seg005:0000
    seg005:0000                 end start
    
    --- добавлено 18 окт 2022, предыдущее сообщение размещено: 18 окт 2022 ---
    I changed my mind. I think you should write your messages after dseg:ECDF for them to be usable by game.
    And you should increase "0Eh word stack seg offset in load module" in EXE header for IDA to move seg005 from your messages.
    --- добавлено 18 окт 2022 ---
    Screenshot 010 - I think that 2 letters are lost because game written something over them, you should place your texts farther, after dseg:ECDF for game not to mess with them.
     
  19. hrvg54

    hrvg54

    Переводчик

    Регистрация:
    8 мар 2020
    Сообщения:
    243
    I had tried to add the 44 bytes after the FFFFFF... Screenshot 012.
    And it is weird, because the words are invisible... But, I switch to "Hex View-A". I see the two words "DROITE". Screenshot 013.

    I will reread your explanations tomorrow... Because my old brain is going to explode...

    I thank for your help and your patience.
    --- добавлено 18 окт 2022, предыдущее сообщение размещено: 18 окт 2022 ---
    I noticed this afternoon that there was free space in the decompiled ALONE.EXE file. Look at screenshots 015 and 016. There is room respecting the original file. I tried and it works... But, I don't know if it won't create a bug in the game later. What do you think ?

    PS:
    I tried with the word "RIGHT". This word is easily seen in the game.
     

    Вложения:

    • 012.png
      012.png
      Размер файла:
      33,1 КБ
      Просмотров:
      73
    • 013.png
      013.png
      Размер файла:
      36,3 КБ
      Просмотров:
      72
    • 015.png
      015.png
      Размер файла:
      54,4 КБ
      Просмотров:
      72
    • 016.png
      016.png
      Размер файла:
      82,6 КБ
      Просмотров:
      67
  20. oFF_rus .

    oFF_rus

    Legacy

    Регистрация:
    25 фев 2007
    Сообщения:
    2.170
    It looks like structures (I told you about them before) that contain information about available playable characters. Those structures contain character's name and some other data (class?, strength? ...). Full size of one record = 0xB6. In structures like this size of text field usually is fixed. For example - 8 or 12 bytes. And if "Leon" uses only 4+1 (last zero byte) then all other bytes (from 8 or 12) will be "free" and you can put some message there.

    I see that maximum length of those names - 5 bytes (+1 last zero byte). So, if creators of the game set maximum length of name to 6 bytes, then for Leon it is perfectly safe to use only 1 byte. Are there really more free bytes? Probably yes. How many? I don't know, it requires too many research (to find how game uses other fields from those structures).

    You can experiment and use bytes right after names for some short messages (OK, YES, etc.)

    And I think that "empty" bytes in the middle of record are probably not so empty. For example, game could use those "empty" bytes to store items or spells for this character. And if you'll write something at those positions, character could receive something that it should not have right from the start of the game.

    Код:
                                                        LEON
    000002DF50: 04 06 06 09 07 0A 05 0A │ 0A 05 04 0A 4C 65 6F 6E
    000002DF60: 00 00 00 00 00 00 00 00 │ 00 00 01 00 01 00 00 00
                   ^^^^^^^^^^^^^^^^^^^^^^
                  probably safe to use
    000002DF70: 07 07 03 03 06 03 03 01 │ 01 03 00 00 00 00 00 00
    000002DF80: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                probably not so safe to use
    000002DF90: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    000002DFA0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    000002DFB0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    000002DFC0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    000002DFD0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    000002DFE0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    000002DFF0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    000002E000: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00
    000002E010: 00 00 4D 61 72 6B 00 00 │ 00 00 00 00 00 00 00 00
                         MARK
    [code]
     
    Последнее редактирование: 18 окт 2022
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление