Перейти на сайт Zelda64rus Пятница, 27.12.2024
Новые сообщения · Участники · Правила форума · Поиск · RSS

  • Страница 1 из 1
  • 1
Hyrule Warriors: Age of Calamity + HW: Definitive Edition
AntonДата: Понедельник, 07.12.2020, 20:48 | Сообщение # 1
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Выложу тут, что накопал в ресурсах этой игры и как это вскрыть.

Для начала, ссылки на тему.

Общая "вода":
https://gbatemp.net/threads/age-of-calamity-modding-rnd.577536/
Там есть ссылка на набор утилит (касается, вроде, больше 3D-моделей):
http://modderbase.com/showthread.php?tid=766

Утилиты для игр Koei Tecmo (игра сделана на этом движке) – Cethleann - The Koei Swiss Army Knife:
https://forum.xentax.com/viewtopic.php?f=10&t=21679

---------------------------------

Эмулятором Yuzu можно сдампить из образа игры папку Romfs (все потроха).
В ней, в romfs\data, лежат два файла — "LinkData.bin" и "LinkInfo.bin".
В "LinkData.bin" находятся тексты и, возможно (?) шрифт и другая графика (?)
Файл "LinkInfo.bin" - судя по всему, просто список контента (где что лежит в "LinkInfo.bin").

Для распаковки "LinkData.bin" прогой Cethleann нужно LinkInfo.bin переименовать в LinkData.idx
(не спрашивайте, почему... Догадался, погуглив. Иначе прога ничего не распакует).

Синтаксис для распаковки вроде такой:
Код
Cethleann.DataExporter.exe --game AgeOfCalamity --linkdata "H:\TRANSLATIONS_ZELDA\HW_Age_of_Calamity\_bin_extract" "H:\TRANSLATIONS_ZELDA\HW_Age_of_Calamity\01002B00111A2000\romfs\data"
pause


Cethleann.DataExporter.exe --game [название] --linkdata [путь КУДА распаковывать] [путь ОТКУДА распаковывать]

Когда прога Cethleann.DataExporter отработает (с кучей красных ошибок в окне выполнения про overflow и т.п., но вроде бы все распакует), в целевой папке создастся папка "LinkData\misc", в которой будут еще две папки: "Formats" и "Unknown".
Нас интересует "Unknown". Внутри лежат пронумерованные файлы .bin в количестве 2035 штук. =)

Английский текст в файлах (пока не всё):

7910.bin (основной сюжетный текст)
7940.bin (слово Tips)
7955.bin (название игры, копирайт)
8090.bin (предметы и их описание)
8035.bin (надписи интерфейса?)
8050.bin (слова ON и OFF)

В других языках найдены тексты с названиями атак, склонениями (типа: враги/врагов, рупия/рупий)...
В английском это пока не найдено.

Файл с основным текстом имеет разные размеры. Английский, немецкий и нидерландский - весят примерно 606 Кб. Французский и итальянский - около 35.
Это из-за того, что в первых трех интервал между указателями на текст 108 байт, а в остальных - 0.

Инфа для круптара (взлетело на версии 7.1.1.10) - английский скрипт, основной текст и предметы.

Kruptar 7.1.1.10

Main Text
------------------
text: 08F963-097F18
pointers: h160-h8F8F0
size: 4
interval: 108
PtReference: h160
auto_reference = true

Items Text:
--------------------
text: 1292-773b
pointers: h18-h128C
size: 4
interval: 0
PtReference: h18
auto_reference = true

------------------------------
Кто-нибудь хочет переводить? =)
 
timartinelliДата: Понедельник, 22.03.2021, 09:11 | Сообщение # 2
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
Olá Anton, nosso grupo do Brasil fará a tradução, vou tentar montar o projeto kruptar usando as configurações que você passou. você sabe se Hyrule Warriors: Definitive Edition é possível extrair os textos também?
 
AntonДата: Понедельник, 22.03.2021, 09:31 | Сообщение # 3
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
Olá Anton, nosso grupo do Brasil fará a tradução, vou tentar montar o projeto kruptar usando as configurações que você passou. você sabe se Hyrule Warriors: Definitive Edition é possível extrair os textos também?


English, please.
 
timartinelliДата: Понедельник, 22.03.2021, 12:33 | Сообщение # 4
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
Hello Anton, our group from Brazil will do the translation, I will try to set up the kruptar project using the settings you passed. do you know if Hyrule Warriors: Definitive Edition is possible to extract the texts too?
 
timartinelliДата: Понедельник, 22.03.2021, 12:36 | Сообщение # 5
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
I managed to extract the texts, but I need to clean and the table I used was one of Zelda Oot, I need to adjust
Прикрепления: HWAC_Kruptar_BR.rar (763.8 Kb)
 
AntonДата: Понедельник, 22.03.2021, 13:03 | Сообщение # 6
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
I managed to extract the texts

This is just a part of text, not all of it.
As for Hyrule Warriors: Definitive Edition - I don't know, I don't have that game. Maybe it's engine is the same as HW:AoC (tons of .bin files, etc...)

The table file I used from Link's Awakening Switch, there are all characters (incl. european, russian, etc).
(attached).
But I did not find fonts for HW:AoC, so.... maybe LA's table is not completely correct (special codes are 100% incorrect for HW:AoC - those "0E00xxxxxx...", just remove them).
Прикрепления: UTF8.tbl (13.0 Kb)
 
timartinelliДата: Понедельник, 22.03.2021, 13:22 | Сообщение # 7
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
Anton, is this blanket that is empty normal?

Can I delete the entry in List Pointers?



did you repackage the .bin to find out if it works?


Сообщение отредактировал timartinelli - Понедельник, 22.03.2021, 13:23
 
AntonДата: Понедельник, 22.03.2021, 13:50 | Сообщение # 8
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
Anton, is this blanket that is empty normal?

Yes, just blank space (maybe for future text update).

Цитата timartinelli ()
Can I delete the entry in List Pointers?

In theory - yes, but better just leave it as is.

Цитата timartinelli ()
did you repackage the .bin to find out if it works?

No. )

I don't translate this game, just tried to see the texts... for bare interest.
 
timartinelliДата: Понедельник, 22.03.2021, 13:52 | Сообщение # 9
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
Ok.

I understand, some of those that are blank mainly in 8090.bin, not all texts are coming.

Добавлено (22.03.2021, 14:25)
---------------------------------------------
I was doing the wrong thing. now I must make it.

Добавлено (22.03.2021, 14:37)
---------------------------------------------
This is a sad one. sad

Добавлено (22.03.2021, 15:25)
---------------------------------------------
I'm looking for how to repack to test the translation.

Сообщение отредактировал timartinelli - Понедельник, 22.03.2021, 14:38
 
AntonДата: Понедельник, 22.03.2021, 15:45 | Сообщение # 10
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
This is a sad one.

just remove 3 bytes from text )
or expand text range (if there is a free space in .bin)
also check in Kruptar ptSeek Same = TRUE.

in 8090 there are lot of free space (00's at the end)

BTW, I don't have this error in project that you're attached above and in 8090, too.
 
timartinelliДата: Понедельник, 22.03.2021, 15:48 | Сообщение # 11
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
I think I understand, I'm not good with Kruptar, my projects must be strange.

Добавлено (22.03.2021, 15:50)
---------------------------------------------
ptSeek Same = TRUE - seems to solve.

 
AntonДата: Понедельник, 22.03.2021, 16:26 | Сообщение # 12
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
ptSeek Same = TRUE - seems to solve.

it combines equal strings to one, and their pointers now points to this one string.
some kind of optimisation, which gives you more space for text if there are equal strings.
 
timartinelliДата: Понедельник, 22.03.2021, 16:41 | Сообщение # 13
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
really cool, I didn't understand that.
 
AntonДата: Понедельник, 22.03.2021, 16:50 | Сообщение # 14
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
really cool, I didn't understand that.

https://romhack.github.io/doc/kruptarPlugins/
some info in English.

ptSeekSame: During insertion, same strings will have the same pointer.
No redundancy in text space.
 
timartinelliДата: Понедельник, 22.03.2021, 17:06 | Сообщение # 15
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
I will look carefully.
 
timartinelliДата: Вторник, 23.03.2021, 02:11 | Сообщение # 16
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
Anton, while looking for an option to repackage the .bin, I have this .bin that is not a compactor, he has more than one language.

is from Hyrule Warriors Definitive Edition msgdata.bin seems to have most of the texts.
can perceive some parameter for editing the texts?

I also attached a template from the 010 editor, it has the addresses of the text files. 
any day will be welcome.
Прикрепления: Hyrule_Warriors.rar (1.41 Mb) · msgdata.bt (3.9 Kb)
 
timartinelliДата: Вторник, 23.03.2021, 15:24 | Сообщение # 17
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
I’m managing to get a part of the text, but I’m not sure what I’m doing.
Прикрепления: 7866525.rar (2.18 Mb)
 
AntonДата: Вторник, 23.03.2021, 17:13 | Сообщение # 18
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
timartinelli, I fugured out pointers and I'll make projects for you, but later.
msgdata is ready (but without some phrases like "Loading...", "PRESS START" etc - can't find pointers for that at all.
Now doing project for MovieSubtitle.bin.

Just wait... ok?
 
timartinelliДата: Вторник, 23.03.2021, 17:21 | Сообщение # 19
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
perfect Anton, take your time.

I updated the post to see that I am making my attempts at the kruptar. it is not very successful but I am learning.

Thank you so.

"Loading ...", "PRESS START" are graphics, I found them in a g1t file. I am testing how to edit.
Прикрепления: 8671432.png (146.5 Kb)
 
AntonДата: Вторник, 23.03.2021, 19:01 | Сообщение # 20
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
"Loading ...", "PRESS START" are graphics


There are such texts in msgdata.bin.
Just search on HEX-editor.
Maybe they're not used, who knows...

Some info (but I'll send you projects later):

Код
msgdata.bin (1 byte text encoding)
UTF8.tbl / plugin: NULL.kpl
==================================

group 1:
-----------
text:
918A8-92983

pointers:
h91718-h918A4
ptReference=h91718
size=4
interval=0
multiply=2
big_endian=false

group 2:
-----------
text:
92B28-93C03

pointers:
h92998-h92B24
ptReference=h92998
size=4
interval=0
multiply=2
big_endian=false

group 3:
-----------
text:
93D58-9466F

pointers:
h93C18-h93D54
ptReference=h93C18
size=4
interval=0
multiply=2
big_endian=false

group 4:
-----------
text:
949A4-9555B

pointers:
h94684-h949A0
ptReference=h94684
size=4
interval=0
multiply=2
big_endian=false

group 5:
-----------
text:
97668-B4303

pointers:
h95570-h97664
ptReference=h95570
size=4
interval=0
multiply=2
big_endian=false

group 6:
-----------
text:
C1C14-DD46F

pointers:
hB4318-hC1C10
ptReference=hB4318
size=4
interval=0
multiply=2
big_endian=false

group 7:
----------------
text:
EDE68-101623

pointers:
hDD488-hEDE64
ptReference=hDD488
size=4
interval=0
multiply=2
big_endian=false

/////////////////////////////////////////////////////////////

msgdata.bin (2 byte text encoding)
UTF16.tbl / plugin: Standart.kpl
==================================

group 1:
----------------
text:
1017D0-102FEF

pointers:
h101638-h1017CC
ptReference= h101638
size=4
interval=0
multiply=2
aligh=2
big_endian=false

group 2:
----------------
text:
354BB0-3563A9

pointers:
h354A18-h354BAC
ptReference=h354A18
size=4
interval=0
multiply=2
aligh=2
big_endian=false


Код
MovieSubtitle.bin (1 byte text encoding)
UTF8.tbl / plugin: NULL.kpl
==================================

group 1:
-----------
text:
6C98-6F1F

pointers:
h6C32-h6C94
ptReference=h6C28
size=4
interval=10
multiply=2
big_endian=false

group 2:
-----------
text:
706C-752B

pointers:
h6F42-h7068
ptReference=h6F38
size=4
interval=10
multiply=2
big_endian=false

group 3:
------------
text:
76E8-7987

pointers:
h754E-h76E4
ptReference=h7544
size=4
interval=10
multiply=2
big_endian=false

group 4:
------------
text:
7A64-7B73

pointers:
h79AA-h7A60
ptReference=h79A0
size=4
interval=10
multiply=2
big_endian=false

...more will be later.
 
timartinelliДата: Вторник, 23.03.2021, 19:05 | Сообщение # 21
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
Great, see a texture edition still testing.

Добавлено (23.03.2021, 20:31)
---------------------------------------------
Anton, from what I saw has 2 times the text in English, must be European English and Amarican English. what we changed was the American one because it didn’t reflect the changes in the tests that I did.

or must be in that part
msgdata.bin (2 byte text encoding)
UTF16.tbl / plugin: Standart.kpl

Прикрепления: 7607656.png (2.47 Mb)
 
AntonДата: Вторник, 23.03.2021, 21:35 | Сообщение # 22
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Here's the projects.
Based on English text.

https://we.tl/t-f6kydWfdRm (link will be active 7 days)

MovieSubtitle is unfinished (about 13 groups to do).
VoiceMes/VoiceMesChange sems to have 1 or 2 groups, but I didn't started it yet.

Pointers in "MovieSubtitle.bin":
Search for "XL.." (58 4C 13 00), this is the header for pointer tables in every file.
(There are a lot of it, but see those which right before the [English]text block).

For "MovieSubtitle" - skip h20 bytes to the right (32 in decimal) from "XL" letters - here's your first 4-byte pointer. After h0A (10 bytes in decimal) - second one, and so on. Last pointer is just before text (but sometimes text may start from 00 (stop-byte -> empty string).

h20 bytes after "XL" = 1-st pointer (4 bytes).
Then 10 byte interval, 2-nd pointer, 10 bytes interval - 3-rd pointer, etc.

To calculate pointer reference:
"text start address" -minus- "reversed pointer VALUE" = ptReference.
Example (group 08 in MovieSubtitle project):
First pointer at A19E, it's VALUE = 05 01 00 00
Text starts at A2E4.
A2E4-0150=A194
So, your ptReference=hA194.
 
AntonДата: Вторник, 23.03.2021, 21:36 | Сообщение # 23
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
Anton, from what I saw has 2 times the text in English, must be European English and Amarican English. what we changed was the American one because it didn’t reflect the changes in the tests that I did.
or must be in that part
msgdata.bin (2 byte text encoding)


There are slight difference. I made both in Kruptar.
 
timartinelliДата: Вторник, 23.03.2021, 21:48 | Сообщение # 24
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
thank you very much Anton, it is a delicate job I'm sorry for making you work. I will try to make the missing ones. and I share the result here.
 
timartinelliДата: Вторник, 23.03.2021, 21:49 | Сообщение # 25
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
I am doing the accents of accents for Portuguese in the table.
Прикрепления: 6624153.png (3.3 Kb)
 
AntonДата: Вторник, 23.03.2021, 21:52 | Сообщение # 26
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
I am doing the accents of accents for Portuguese in the table.

This should be 2 bytes encoding, no?

C3A1=á
C3E7=ç
C3A9=é
 
timartinelliДата: Вторник, 23.03.2021, 21:56 | Сообщение # 27
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
I don't think so, see.

example:

original
á = 00E1 improve E1

table UTF8
á = C3A1

Добавлено (23.03.2021, 21:59)
---------------------------------------------
I see in the source of the text in Italian

Прикрепления: 6853584.png (5.6 Kb)


Сообщение отредактировал timartinelli - Вторник, 23.03.2021, 21:58
 
AntonДата: Вторник, 23.03.2021, 22:04 | Сообщение # 28
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
E1 00 - it's LE (little endian) in this game.

I didn't see the font. Maybe it has all Unicode, so
C3A1=á
C3E7=ç
C3A9=é
makes sence.

Those values are from LA:Switch (but maybe romhacker didn't check the font file, I don't know).
It sould be by order in font table.

Anyway, you should adjust your tables correctly, yeah.
 
timartinelliДата: Вторник, 23.03.2021, 22:04 | Сообщение # 29
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
olha ... ignora os outros.

Vou acertar os que preciso. deve ser uma paz de espírito.


Сообщение отредактировал timartinelli - Вторник, 23.03.2021, 22:11
 
AntonДата: Вторник, 23.03.2021, 22:07 | Сообщение # 30
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
still, it's E100, not 00E1. )

And could you please attach JPG, not PNG?
Png's are too heavy in weight.
 
timartinelliДата: Вторник, 23.03.2021, 22:11 | Сообщение # 31
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
I understood about LE.

oops I'm sorry. I'm going to delete some.

Добавлено (24.03.2021, 05:46)
---------------------------------------------
Using your magic formula I'm getting it.

group 10:
------------ size 8C 00
text:
A7B8-A89F

pointers:
hA73A-hA7B8
ptReference = A7BC - 8C = hA730
size = 4
interval = 10
multiply = 2
big_endian = false

grupo 11
----------------
text:
A908-A9D3

pointers:
hA8C2-hA908
ptReference= A90C - 54 = A8B8
size=4
interval=10
multiply=2
big_endian=false

grupo 12
----------------
text:
AAE0-AE07

pointers:
hAA46-hAAE0
ptReference= AAE4 - a8 = AA3C
size=4
interval=10
multiply=2
big_endian=false

biggrin


Сообщение отредактировал timartinelli - Среда, 24.03.2021, 06:01
 
AntonДата: Среда, 24.03.2021, 13:00 | Сообщение # 32
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
multiply=2

should be =1
figured that after recalculating pointers.
 
timartinelliДата: Среда, 24.03.2021, 13:08 | Сообщение # 33
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
I did not understand.
In which file?

Yesterday I did until 12 because it took me a while to get it myself. LOL

I will continue now.
 
AntonДата: Среда, 24.03.2021, 13:59 | Сообщение # 34
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
In which file?

everywhere, except this with 2 bytes encoding, I guess.

Here's all projects, just correct tables if needed and reload them into Kruptar.
(Don't forget: Table 1 - reads text / Table 2 - inserts text).
Enjoy.
Прикрепления: Kruptar_HW_DE_a.zip (447.9 Kb)
 
timartinelliДата: Среда, 24.03.2021, 14:22 | Сообщение # 35
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
perfect Anton.

Great job indeed.
 
timartinelliДата: Четверг, 25.03.2021, 05:12 | Сообщение # 36
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
Anton, in that case why is 0A still in the text?Anton,

now Age of Calamity

in this case why is 0A still in the text?

I'm using the NULL.kpl plugin
Прикрепления: 1432865.jpg (135.6 Kb)
 
AntonДата: Четверг, 25.03.2021, 09:37 | Сообщение # 37
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
why is 0A still in the text?

This is line break code.

Select project name and change kpFlags to h01:

Прикрепления: 9794094.jpg (64.1 Kb)
 
timartinelliДата: Четверг, 25.03.2021, 12:39 | Сообщение # 38
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
Perfect. Thanks, I'm managing to pack his files too, some still with Hex editing, but it seems to be a success. if you are going to translate and need help with that let me know.

Добавлено (13.04.2021, 14:51)
---------------------------------------------
Abount Age of Calamity

just for the sake of knowledge, I was able to find 311 text files in English.

I started to set up projects on the kruptar.

 
AntonДата: Вторник, 13.04.2021, 20:43 | Сообщение # 39
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Цитата timartinelli ()
311 text files in English


Oh, no...
Good luck. )
 
timartinelliДата: Среда, 14.04.2021, 04:05 | Сообщение # 40
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
Thanks.

This file you could help me, in the pointers after 3 sequences of 4 bytes. I see the values 01 00 00 00.

it gets in the end, I don't get all the texts.
Прикрепления: 35.en.8317840_d.bin (151.4 Kb)


Сообщение отредактировал timartinelli - Среда, 14.04.2021, 04:13
 
AntonДата: Среда, 14.04.2021, 19:10 | Сообщение # 41
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
timartinelli, sorry, I have no time for that now...
 
timartinelliДата: Среда, 14.04.2021, 21:52 | Сообщение # 42
Кокири
Группа: Пользователи
Сообщений: 55
Статус: Оффлайн
without problems Anton. I'm trying.
 
SonicSlayerДата: Понедельник, 11.03.2024, 16:40 | Сообщение # 43
Миниш
Группа: Пользователи
Сообщений: 2
Статус: Оффлайн
всем привет, знаю что не по теме форума, но возможно ли таким методом изменить текст в персона 5 страйкерс?

делаем руссификатор и последняя надежда на вас ребят)))
 
AntonДата: Вторник, 12.03.2024, 10:02 | Сообщение # 44
Triforce keeper
Группа: Администраторы
Сообщений: 8932
Статус: Оффлайн
Я давно переводами не занимаюсь, но, думаю, Круптар поможет. Изучайте руководство (на сайте есть), ищите шрифты, перерисовывайте их (если в оригинальном нет кириллицы), переводите...
А лучше обратитесь с вопросами на шеф-нет, одна из немногих до сих пор активных групп переводчиков.
 
SonicSlayerДата: Вторник, 12.03.2024, 14:07 | Сообщение # 45
Миниш
Группа: Пользователи
Сообщений: 2
Статус: Оффлайн
Anton, окей, понял, спасибо большое!!
 
  • Страница 1 из 1
  • 1
Поиск: