Перейти к содержимому
Zone of Games Forum

Рекомендованные сообщения

Плагин для Total Commander для работы с архивами движка Unity.

[En] This plugin for Total Commander (ghisler.com) can pack and unpack files stored in Unity archives.

Это альтернатива для UnityAssetsExplorer от Haoose.

[En] This is alternative for standalone UnityAssetsExplorer from Haoose

Текущая версия / Current version: 0.7.5

Возможности / Capabilities:

Открытие архивов от Unity / Open archives +

Распакова файлов из архива / Unpack archives +

Запаковка файлов в архив / Pack archives +

Запаковка в архив файлов отличного размера, от оригинального / Support pack of different size +

Поддержка архивов > 2Gb / Support size of arhives > 2 Gb +

Конвертация форматов / Supported formats +- [assets, tex, uogm] (Неполная поддержка / Partial support)

Этот плагин находится в стадии экспериментальной разработки и теоретически способен повредить файлы архивов Unity, открываемые с помощью него,

уничтожить все данные на вашем компьютере, и взорвать нашу галактику.

И естественно, я, как автор, не несу ответственности за действия вызванные этим плагином.

License: Creative Commons Attribution 4.0 International Public License

https://www.dropbox.com/s/6955280opkej8om/unity_wcx.zip

В Total Commander войдите в архив с предложенным плагином и выполните вопросы программы установки плагинов Total Commander.

[En] Run Total commander and press Enter at archive unity_wcx.zip for install. Press Ok when he ask you. Now you can view, extract, pack assets like other archives in Total Commander.

Мы можете использовать Ctrl + PgDown для входа в архивы tex, uogm.

[En] You can use Ctrl + PgDown for exploring tex, uogm.

Изменено пользователем RedSkotina
  • Лайк (+1) 1

Поделиться сообщением


Ссылка на сообщение
Пока обнаружил пару ошибок в текстурах ARGB32 (hx5), вроде это tga, a у вас dds, ну это не суть важно, под dds всё заточено. В общем, при конвертации из tex, переворачиваться должны все 4 байтовые значения картинки, а в плагине старший перемещается на младший и 3 байта влево. От этого каналы неправильно идут. В проге от Haoose это уже поправлено. А обратная конвертация у этого типа совсем не работает даже равный размер, вставляется в файл начало самого ассета. При замене этих tex всё в порядке.

Если возможно можете описать структуру шапки tex файлов. Знаю только: длинна, ширина, размер текстуры, формат.

предоставьте пожалуйста tex файл на котором можно вопроизвести ошибку, и название игры - чтобы посмотреть результат на экране.

я не пойму что за hx5, может dxt5 ? хотя я с ним вообще порядок байтов не меняю.

из описание формата tex в внутреннем языке

# imagetype Pac = record {  global_header: GlobalHeader;  image_pixels: ImagePixels(global_header.bytes);  } &let{    extension: stdstring = ext.getExtension();    fullname: stdstring =  ext.fullname( ext.tex_filename, extension);} &byteorder=littleendian ;# header of main storagetype GlobalHeader = record {  width: uint32;  height: uint32;  image_size: uint32;  compression_type: uint32;  mipmap: uint8;  readable: uint8;  read_allow: uint8;  dummy: uint8;  image_count: uint32;  texture_dimension: uint32;  filter_mode: uint32; #0:point 1:bilinear 2:trilinear  anisotropy: uint32; # 0..9  mip_bias:uint32;  wrap_mode:uint32; #0:repeat 1:clamp  lightmap_format:uint32; # unity version > 3 , fileGen >= 8  colorspace_or_not: case prefetch < 2 of {    true  -> colorspace:uint32; #unity version > 3.5 #fileGen == 9    false -> none:empty;  } &requires(prefetch);  bytes: uint32;} &let {    file_size: uint32 = bytes + 14 * 4;    prefetch: uint32 withinput $context.flow.pacdata(sourcedata, offsetof(lightmap_format)+4, 4 );    # change to begin_of_data + offsetof} &exportsourcedata;#array of pixels    type ImagePixels(bytes: uint32) = record {pixels: bytestring &transient &length=bytes;} enum TEX_FORMAT{    TEX_FORMAT_A8       = 1,    TEX_FORMAT_ABGR4444 = 2,    TEX_FORMAT_BGR24    = 3,    TEX_FORMAT_ABGR32   = 4,    TEX_FORMAT_RGBA32   = 5,    TEX_FORMAT_BGR565   = 7,    TEX_FORMAT_DXT1     = 10,    TEX_FORMAT_DXT5     = 12,    TEX_FORMAT_BGRA4bpp = 13,    TEX_FORMAT_PVRTC_RGB2       = 30, # invalid byteorder    TEX_FORMAT_PVRTC_RGBA2      = 31,    TEX_FORMAT_PVRTC_RGB4       = 32,    TEX_FORMAT_PVRTC_RGBA4      = 33,    TEX_FORMAT_ETC_RGB4         = 34,    TEX_FORMAT_ATC_RGB4         = 35,    TEX_FORMAT_ATC_RGBA8        = 36};

 

record { } описывает фактические поля

& let {} виртуальные поля

я в теме выкладывал исходники, кстати.

Поделиться сообщением


Ссылка на сообщение

Да мене это уже не нужно, конвертер уже написал. Вот здесь хорошо видно. https://yadi.sk/d/OA3eZi-hezwdQ

Вот этот TEX_FORMAT_RGBA32 = 5, да ддс.

За код спасибо.

Поделиться сообщением


Ссылка на сообщение
Пока обнаружил пару ошибок в текстурах ARGB32 (hx5), вроде это tga, a у вас dds, ну это не суть важно, под dds всё заточено. В общем, при конвертации из tex, переворачиваться должны все 4 байтовые значения картинки, а в плагине старший перемещается на младший и 3 байта влево. От этого каналы неправильно идут. В проге от Haoose это уже поправлено. А обратная конвертация у этого типа совсем не работает даже равный размер, вставляется в файл начало самого ассета. При замене этих tex всё в порядке.

да, нашел баги, спасибо за багрепорт. времени как всегда нет потестить тщательно, но вроде устранил все баги по первичным тестам.

По распаковке подвела документация по tex, название RGBA32 не соответсвовало действительности -

BGRA32 более соответсвует действительности.

Так что строка

TEX_FORMAT_RGBA32   = 5,

имеет неправильное название

По запаковке чисто моя ошибка.

History:

*исправлен баг с распаковкой tex типа 5 в dds

*исправлен баг с запаковкой dds в tex

Внимание: для запаковки принимаются только dds файлы формата A4R4G4B4, A8R8G8B8, DXT5

поддержка других не выполнена.

Внимание: перешел на новый компилятор gcc-tdm 2, так что вполне вероятны какие-нибудь новые проблемы.

0.7.3

https://www.dropbox.com/s/zgu6h4hjup7o2ld/u..._0.7.3.zip?dl=0

0.7.3 debug

https://www.dropbox.com/s/3sn9q684utfcb8q/u....7.3-d.zip?dl=0

Изменено пользователем RedSkotina

Поделиться сообщением


Ссылка на сообщение

* ресурсы с типом 152 переименованы из ogm в uogm , для избежания путаницы.

так как представляют из себя контейнер для хранения ogm файлов

* добавлена начальная поддержка uogm

* исправлен баг с запаковкой tex файлов. не тестировалось тщательно.

* исправлен баг с сообщениями access violation во время открытия ассетов.

0.7.4 release

https://www.dropbox.com/s/enfmu4ons3mbyrc/u..._0.7.4.zip?dl=0

0.7.4 debug

https://www.dropbox.com/s/pvpj1xcae30kfw0/u....7.4-d.zip?dl=0

Поделиться сообщением


Ссылка на сообщение
* ресурсы с типом 152 переименованы из ogm в uogm , для избежания путаницы.

так как представляют из себя контейнер для хранения ogm файлов[/url]

Большое спасибо!

Поделиться сообщением


Ссылка на сообщение

* исправлена ошибка с обработкой последнего файла в архиве

* исправлена ошибка с извлечением ogm файлов в расширенном режиме

0.7.5 release

https://www.dropbox.com/s/zm14x48kxnv2cju/u..._0.7.5.zip?dl=0

0.7.5 debug

https://www.dropbox.com/s/8qyf1r5ugycktvx/u....7.5-d.zip?dl=0

Поделиться сообщением


Ссылка на сообщение
* исправлена ошибка с обработкой последнего файла в архиве

* исправлена ошибка с извлечением ogm файлов в расширенном режиме

0.7.5 release

https://www.dropbox.com/s/zm14x48kxnv2cju/u..._0.7.5.zip?dl=0

0.7.5 debug

https://www.dropbox.com/s/8qyf1r5ugycktvx/u....7.5-d.zip?dl=0

C ogm теперь проблем нет. Спасибо огромное!

Поделиться сообщением


Ссылка на сообщение

изменился формат, насколько серьезно счас немогу сказать, я узнаю некоторые структуры но остаются непонятные моменты. плюс мне надо обновить инструментарий - думаю может уйти до месяца до выпуска рабочей версии.

Поделиться сообщением


Ссылка на сообщение

 

RedSkotina текстуры и шрифты я всё равно через скрипт вытаскиваю и пакую на новых архивах. Меня сильно интересует запаковка бинарного текста как в предыдущих архивах, так как BMS реимпорт для этого не годится.

Поделиться сообщением


Ссылка на сообщение
изменился формат, насколько серьезно счас немогу сказать, я узнаю некоторые структуры но остаются непонятные моменты. плюс мне надо обновить инструментарий - думаю может уйти до месяца до выпуска рабочей версии.

Получается что с Unity 5? очень ждем плагинчик. Предыдущие плагины здорово помогали в переводе, но сейчас часть игр идет на 5 версии движка.

Поделиться сообщением


Ссылка на сообщение

trpvla

Пока можешь поюзать софт в подписи ↓

Поделиться сообщением


Ссылка на сообщение
How can i edit the extracted font ? I tried import a new ttf font and it was crash.

Размер идентичен?

Новый .ttf должен равняться старому по размеру.

Если старый 1424009 байт, то новый обязан быть тоже 1424009 байт.

The file size is equal?

New .ttf must be = original .ttf.

If original size is 1424009 bytes, then new size must be 1424009 bytes too.

Или же попробуйте Unity Assets Explorer от Haoose. (http://quickbms.aluigi.org[/post]

math GUESS_NAMES = 1 # set to 0 to avoid possible rare problems

# or if you are sure that there are no names

quickbmsver "0.6.1d"

# from my tests:

# - all the mainData are nameless

# - only some *.assets are nameless

# I have not found a point where it's written if a resource is nameless or not

get FULL_NAME filename

if FULL_NAME == "mainData"

math GUESS_NAMES = 0

endif

get EXT extension

if EXT == "unity3d"

print "Error: you must use the unity3d_webplayer.bms script for this archive"

cleanexit

elif EXT == "split0"

callfunction combine_splits 1

open FDSE BNAME

endif

endian big

get HEADER_SIZE long

get FULL_SIZE long

get VERSION long

get BASE_OFF long

math ZERO_GUESS = 0

if VERSION <= 8

xmath OFFSET "FULL_SIZE - HEADER_SIZE"

goto OFFSET

get DUMMY byte

else

# version 9 tested

get ZERO_GUESS long

endif

endian little

endian guess ZERO_GUESS

if VERSION >= 8

get VERSION_STRING string

print "%VERSION_STRING%"

get DUMMY long

endif

if VERSION >= 0xe

get ZERO byte

get BASES long

for i = 0 < BASES

get DUMMY signed_long

if DUMMY < 0

getdstring DUMMY 0x20

else

getdstring DUMMY 0x10

endif

next i

else

get BASES long

for BASE = 0 < BASES

get DUMMY long

math SUB_ELEMENTS = 1

callfunction PARSE_TYPES

next BASE

endif

math ADDITIONAL_FIELD = 0

if VERSION >= 7

if VERSION < 0xe

get ADDITIONAL_FIELD long

endif

endif

get FILES long

if VERSION >= 0xe

padding 4

endif

for i = 0 < FILES

if VERSION >= 0xe

get INDEX long

get ZERO long

get OFFSET long

get SIZE long

get TYPE long

get XTYPE short # same as TYPE

get DUMMY short # -1

if VERSION >= 0xf

get ZERO long

endif

else

get INDEX long

if ADDITIONAL_FIELD != 0

get ZERO long

endif

get OFFSET long

get SIZE long

get TYPE long

get XTYPE long # same as TYPE

endif

savepos TMP_OFF

xmath OFFSET_TMP "OFFSET + BASE_OFF"

goto OFFSET_TMP

math GET_FILENAMES = 0

if GUESS_NAMES != 0

get NAMESZ long

if NAMESZ u< 128

getdstring NAME NAMESZ

strlen TMP NAME

if TMP == NAMESZ

math GET_FILENAMES = 1

endif

endif

goto OFFSET_TMP

endif

set NAME string ""

if GET_FILENAMES != 0

get NAMESZ long

getdstring NAME NAMESZ

padding 4

endif

savepos OFFSET

goto TMP_OFF

xmath TMP "SIZE - (OFFSET - OFFSET_TMP)"

if TMP < 0

math OFFSET = OFFSET_TMP

else

math SIZE = TMP

endif

get BNAME basename

getvarchr TMP NAME 0

if TMP <= 0x20

string NAME p= "%s_%d" BNAME i

endif

callfunction disttype 1

string FNAME p= "TYPE_%d/%s%s" TYPE NAME EXT

log FNAME OFFSET SIZE

next i

startfunction PARSE_TYPES

math ELEMENTS = SUB_ELEMENTS

for ELEMENT = 0 < ELEMENTS

get TYPE string

get NAME string

get SIZE long

get INDEX long

get ZERO long

get DUMMY long

get DUMMY long

get SUB_ELEMENTS long

if SUB_ELEMENTS != 0

callfunction PARSE_TYPES

endif

next ELEMENT

endfunction

startfunction disttype

savepos disttype_offset # backup offset

goto OFFSET # maybe useful

string EXT p= ".%d" TYPE

if TYPE == 21

set EXT ".mat"

elif TYPE == 28

set EXT ".tex"

elif TYPE == 48

set EXT ".shader"

elif TYPE == 49

get DUMMY long

getDstring TEST 4

if TEST == "<?xm"

math OFFSET += 4

math SIZE -= 4

set EXT ".xml"

endif

elif TYPE == 74

set EXT ".ani"

elif TYPE == 83

set EXT ".snd"

math OFFSET += 0x14

math SIZE -= 0x14

goto OFFSET

getDstring TEMP 4

if TEMP == "OggS"

set EXT ".ogg"

elif TEMP == "RIFF"

set EXT ".wav"

elif TEMP == "FORM"

set EXT ".aif"

else

goto OFFSET

get TEMP byte

if TEMP == 0xff

set EXT ".mp3"

elif TEMP == 0x49

goto OFFSET

getDstring TEMP 3

if TEMP == "ID3"

set EXT ".mp3"

else

math OFFSET -= 0x14

math SIZE += 0x14

endif

else # roll back changes

math OFFSET -= 0x14

math SIZE += 0x14

endif

endif

elif TYPE == 115

set EXT ".script"

elif TYPE == 128

set EXT ".ttf"

elif TYPE == 150

set EXT ".bin"

elif TYPE == 152

math OFFSET += 0x10

math SIZE -= 0x10

set EXT ".ogm"

elif TYPE == 156

set EXT ".ter"

elif TYPE == 184

set EXT ".sbam"

elif TYPE == 194

set EXT ".tes"

endif

goto disttype_offset

endfunction

startfunction combine_splits

get BNAME basename

append

for i = 0

string ONAME p= "%s.split%d" BNAME i

open FDSE ONAME 0 EXIST

if EXIST == 0

break

endif

get SIZE asize

log MEMORY_FILE 0 SIZE

next i

append

get SIZE asize MEMORY_FILE

log BNAME 0 SIZE MEMORY_FILE

endfunction

После этого создайте 2 .bat файла. И добавьте туда содержимое из под спойлеров.

Create 2 .bat files.

 

Spoiler

Unpack.bat

@echo off

color a

md Unpack

for %%a in (*.assets) do quickbms.exe -o assets_files.bms "%%a" Unpack\

pause

Pack.bat

@echo off

color a

for %%a in (*.assets) DO quickbms.exe -w -r assets_files.bms "%%a" Unpack\

pause

Поместите .assets файл в директорию с QuickBms (с двумя .bat файлами и файлом assets_files.bms)

Откройте unpack.bat

После этого достаньте шрифт из unpack/type_128 и прошейте в него кириллицу.

Put .assets file into QuickBMS dir (with 2 .bat and assets_files.bms).

Then open unpack.bat.

After that, get the font from unpack/type_128 and make a new font.

Важно!

Новый .ttf должен равняться старому по размеру.

Если старый 1424009 байт, то новый обязан быть тоже 1424009 байт.

Для BMS это особенно важно.

Important!

New .ttf must be = original .ttf.

If original size is 1424009 bytes, then new size must be 1424009 bytes too.

For BMS this is especially critical.

После этого откройте pack.bat и ваш .assets файл готов.

After that, open pack.bat and .assets file with new font is ready.

Изменено пользователем 0wn3df1x

Поделиться сообщением


Ссылка на сообщение
The file size is equal?

New .ttf must be = original .ttf.

If original size is 1424009 bytes, then new size must be 1424009 bytes too.

Also try to use Unity Assets Explorer by Haoose. (https://www.dropbox.com/s/2qorsfd50ixvn6o/UnityAssetsExplorer.exe)

OR

QuickBMS by Aluigi.

Download Quick BMS and create file assets_files.bms

Then, past the script in this file.

 

Spoiler

Create 2 .bat files.

 

Spoiler

Unpack.bat

Pack.bat

Put .assets file into QuickBMS dir (with 2 .bat and assets_files.bms).

Then open unpack.bat.

After that, get the font from unpack/type_128 and make a new font.

Important!

For BMS this is especially critical.

After that, open pack.bat and .assets file with new font is ready.

i knew, but some games using very small font (~50KB) and i can't mod it smaller than orginal. Do you have other ways?

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Продвигаемые темы

  • Последние сообщения

    • ссылочку на любой интересующий вас русификатор, мы проверим, отпишем о результатах. p.s. у меня ссылки присутствуют, как в авторизированном состоянии (2 шт на 8 мегабит каждая), так и в состоянии без авторизации (1шт на 4 мегабита) @SerGEAnt должен точно знать в чем проблема, если она есть
    • не могу скачать русификатор. Нет кнопки скачать. Кто знает в чем причина? Любой русификатор не скачивается,просто нет кнопки скачать
    • Что именно? Оба сайта - полноценные веб-проекты. У них есть свой сервер, гигантская база данных и интерфейс для их отображения.

      SteamGridDB работает за счёт того, что пользователи сами загружают туда контент, пополняя эту базу. Backgrounds.gallery, в свою очередь, скорее всего, использует серверный парсер - специальную программу, которая медленно и методично обходит Steam, собирает ссылки на фоны и складывает их в свою базу. Это работа, которая ведётся постоянно и не зависит от браузера конкретного пользователя. Мой скрипт работает только у человека в браузере и только на той странице Steam, которую человек открыл. Его задача - улучшить уже существующую страницу, добавив на неё полезную информацию на лету.  Если вопрос в том, чтобы в магазине очков отображать гигантские превью - там есть проблема с тем, как Steam отдаёт информацию в магазине очков. Когда человек заходит в магазин очков, он видит кучу карточек, в которых уменьшенные картинки и видео для предпросмотра. В коде этих карточек нет прямых ссылок на полноразмерный анимированный фон. Вот пример кода для фона "Киберпсихоз" из Cyberpunk 2077: <video playsinline="" loop="" autoplay="" class="U-rBCVfODx4G2p43_zb8V" poster="https://steamcommunity.com/economy/profilebackground/items/1091500/db76d224cafa8d8ae6c5d3a8b94e7dafddf7c764.jpg?size=320x200">     <source src="https://cdn.fastly.steamstatic.com/steamcommunity/public/images/items/1091500/8b3e5bc3d0eead33e11f6d38ac5e818ea5a9abe9.webm" type="video/webm">     <source src="https://cdn.fastly.steamstatic.com/steamcommunity/public/images/items/1091500/28d2f12c620b84c12a905ce0660847718014a8dd.mp4" type="video/mp4"> </video>
      Чтобы получить ссылку на качественное .webm видео, скрипту нужно сначала щёлкнуть по каждой карточке, чтобы открылось окно предпросмотра. Только после этого действия Steam отображает ссылку на полноэкранный анимированный фон.В магазине очков тысячи фонов. Чтобы собрать все ссылки, скрипту пришлось бы при загрузке страницы симулировать щелчок по каждому из тысяч фонов и обработать ответ от сервера. Браузер от такого количества одновременных запросов просто офонареет, а Steam, скорее всего, временно заблокирует IP за подозрительную активность (DDoS-атаку).
    • Всех приветствую, есть желающие русик до идеала довести? нужны, те, кто мог бы вытащить для перевода, плюс от буки и sys скрестить в один
    • Чисто для просмотра? Вот этим ресурсом много лет пользуюсь, чтобы посмотреть как выглядят полные картинки у карточек, фоны, превью применённых фонов и прочее у любых игр из стима. То есть выбираешь игру и смотришь, что она предлагает. Например, арты карточек в полном их размере (а не просто превьюшку, которая на самой рубашке карточки) в том же стиме посмотреть нельзя, если у тебя их нет или не скован значок. В т.ч. удобно для игр, материалы на которые отсутствуют в обменнике стима (да, такие игры тоже до сих пор есть). Там есть и обменный функционал, впрочем, его разве что от безысходности кто-то применять станет, т.к. коэффициент там заведомо невыгодный.
    • Новая версия — 2.4 [20250713] Внесено несколько улучшений в текст. Добавил страницу русификатора на GitHub https://github.com/Dontaz/themidnightwalk-ru
      Добавил страницу русификатора на Nexus Mods https://www.nexusmods.com/themidnightwalk/mods/8 Автоматический установщик https://disk.yandex.ru/d/J4EwEZ5ByxWDAQ https://drive.google.com/file/d/1fZdoeMvyBcMiQ4_iYgu4d3ja_JtkiU9V/view https://github.com/Dontaz/themidnightwalk-ru/releases Архив для установки вручную https://disk.yandex.ru/d/OmadX8Tt7EnMZA https://drive.google.com/file/d/1rRnrQlqRlV2D8ls2QPruRPfODQC-_Yok/view https://github.com/Dontaz/themidnightwalk-ru/releases

      @SerGEAnt *пуп*
    • реально, какая то странная тенденция нарисовалась

      https://store.steampowered.com/app/1402110/Eternights/ на распродаже стоила 799р. (-60%), сейчас 499р. (-75%). Ладно не стал покупать  Что касается “бустра”, поздновато конечно, но это он не падает… и не тонет, потому что он…  @0wn3df1x тут скинули сервисы чисто из интереса и гипотетически, для Вас подобное сделать по силам, как вроде того скрипта, и если да, то сколько времени понадобиться и насколько это сложно?
    • @vadik989 я эмулем для ps1 не пользуюсь.  Скажи лучше, что надо сделать чтобы Bb не вылетал на интелах?  Сегодня решил проверить, может за столько времени пофиксили уже, но ни фига, всё рвно крашится. 
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×