Карта сайтаПоискОбратная связь
f-баня
а тебя здесь нет?
(мучеников: 12877)


Вернуться   Форум о FIFA 15, FIFA 14, PES 2014 и других футбольных симуляторах на fifasoccer.ru > Виртуальный футбол > FIFA — предыдущие версии > FIFA 18 > Мастерская FIFA

Ответ
 
Опции темы
Старый 23.09.2009, 00:10   #1
Администратор
 
Аватар для вегуд
 
Регистрация: 13.07.2005
Сообщений: 317
По умолчанию fifaFS - составляем русский FAQ + книга жалоб и предложений

Сижу в ожидании вопросов, предложений и угроз

По совету Pop'а начну писать доку на русском. Прямо тут.

Что такое fifafs, для кого и для чего оно?
Это утилита для корректной работы с "файловой системой фифы", которая находится в каталоге data и состоит из файлов zdata_xx.big, zdata_xx.bh и fifa.fat. А также для работы с простыми .big файлами. Под "работой" подразумевается добавление, замена, извлечение и удаление файлов из .big-ов.
Изначально fifafs создавался для установки РПЛ, поэтому его основное предназначение - это добавление и замена большого количества файлов в zdata_xx.big. fifafs оптимизирован именно для этого и справляется с этим очень быстро.
Для fifafs можно написать скрипт с последовательностью команд, что дает возможность выполнять какие-то нетривиальные задачи.
Соответственно, основная сфера применения - это установка патчей и использование в других программах, которые что-то меняют в фифе. Со временем fifafs оброс дополнительным функционалом, поэтому его можно использовать в каких-то повседневных патчмейкерских нуждах.
fifafs не имеет графического интерфейса, это консольная программа. Это значит, что нет никакого окошечка, где надо тыкать мышкой. Это делает возможным использование fifafs для автоматизации рутинных задач с помощью написания скриптов либо .bat файлов. Например, если вы трудитесь над некими файлами и вам регулярно надо вставлять их в фифу и проверять как они работают, можно 1 раз написать скрипт и потом запускать его, вместо того, чтобы каждый раз открывать File Master, искать и заменять эти файлы.

Чем fifafs не является и чего не умеет?
fifafs не делает футболки, бортики, лица, телеканалы и проч. Не конвертирует форматы и не работает с графикой, звуком, видео и т.п.
Все это вам предстоит сделать самостоятельно, а fifafs может помочь лишь безболезненно установить ваше добро в игру.

Что вообще такое "файловая система фифы" и как fifafs с ней работает
"Файловая система фифы" в дальнейшем - ФС для краткости.
В фифе есть куча файлов, скажем, около 20 тысяч файлов - это всякие лица, футболки и прочее. Они упакованы в последовательно нумерованные zdata_01.big, zdata_02.big, zdata_03.big и т.д. В каждом таком zdata_xx.big по 500 файлов. Это сделано, чтобы 20 тысяч файлов просто так не валялись в каталоге и не создавали проблем . Чтобы фифе знать, в каком из zdata_xx.big находится нужный ей конкретный файл, существует fifa.fat, где эта информация хранится.
Когда вы указываете fifafs каталог, где находится подобная структура (fifa.fat + zdata_xx), он понимает, что имеет дело с ФС. В этом случае, он работает со всеми 20 тысячами файлов. Если вы попросите заменить некий файл в ФС, fifafs сам найдет, в каком zdata_xx этот файл лежит, заменит его и обновит информацию в fifa.fat.
В этом основное отличие от других утилит, которые просто позволяют поковыряться в одном из zdata_xx.big, а потом запустить процедуру обновления fifa.fat.

Команды для запуска из консоли
В квадратных скобках ([-c]) указан текст, который можно опустить.
"fifadatadir" - это каталог ФС, где лежат файлы zdata_xx.big и fifa.fat.
"file.fsh" - это некий файл для примера, не обязательно fsh.

Запуск скрипта script.txt:
Цитата:
fifaFS.exe script.txt
Добавление файла в ФС (если файл уже есть, будет ошибка):
Цитата:
fifaFS.exe -a[:N] fifadatadir file.fsh [-c]
По умолчанию fifafs добавляет файл в последний из zdata_xx.big. Если в последнем zdata_xx.big становится более 500 файлов, fifafs создает следующий zdata_xx.big и добавляет туда. Однако, иногда фифа не видит файлы, добавленные "в конец". Поэтому можно принудительно указать, в какой zdata_xx.big производить добавление. ":N" - это номер в zdata_N.big.
Например,
Цитата:
fifaFS.exe -a:1 fifadatadir file.fsh
добавит file.fsh в zdata_01.big.

Замена файла в ФС (если такого файла нет, будет ошибка):
Цитата:
fifaFS.exe -r fifadatadir file.fsh [-c]
Добавление или замена файла в ФС:
Цитата:
fifaFS.exe -ar[:N] fifadatadir file.fsh [-c]
Если файла нет - он будет добавлен, если есть, то заменен. ":N" действует также как при добавлении файла.

Вытаскивание файла из ФС:
Цитата:
fifaFS.exe -e fifadatadir infile.fsh outfile.fsh
fifafs поищет infile.fsh в ФС, если он там есть, он его вытащит и запишет в файл с именем outfile.fsh

Удаление файла из ФС:
Цитата:
fifaFS.exe -del fifadatadir file.fsh
Обновить fifa.fat и zdata_xx.bh:
Цитата:
fifaFS.exe -fix fifadatadir
Эта команда обновляет fifa.fat и приводит его в соответствие с содержимым файлов zdata_xx.big.
Если вы поковырялись в одном из zdata_xx.big, какой-либо утилитой, то fifa.fat следует обновить.

Создать ФС:
Цитата:
fifaFS.exe -createfs d:\newfifafs\ d:\myfiles\*.*
Уже не помню, зачем эта функция понадобилась.
В каталоге d:\newfifafs будет создана структура ФС, куда будут запакованы все файлы из каталога d:\myfiles\
Разумеется, имена каталогов просто для примера даны, можете использовать любые.

Распаковать ФС:
Цитата:
fifaFS.exe -depackfs fifadatadir d:\myfiles\
Распакует все файлы из ФС и свалит в каталог d:\myfiles\

Получить список всех файлов ФС:
Цитата:
fifaFS.exe -l fifadatadir list.csv
в list.csv будет записан список файлов и еще кое-какая инфа. В формате CSV (в экселе можно открыть)

...


Использование файловых масок
...


Использование переменных
...


Скрипты
...


fsh-хэширование
...


Консольная и win-версия
...


config.xml
config.xml - XML-файл в котором можно задать некоторые настройки fifafs, такие как: игра по умолчанию, параметры прогресс-бара. Также через него можно добавлять новые переменные (которые могут читаться из реестра).
При запуске fifafs, первым делом загружается config.xml, находящийся в том же каталоге, что и fifafs.exe (если он там есть). Затем загружается config.xml из текущей папки (если есть). Значения из второго config.xml дополняют и перезаписывают значения первого.
Как это можно использовать? Например, если вы работаете с игрой, которая не является игрой по умолчанию (например, FIFA Manager 10), в каталог с fifafs.exe можно положить config.xml следующего содержания:
Цитата:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<defaultgame>fm10</defaultgame>
</config>
Теперь при запуске не нужно каждый раз добавлять "-gametype=fm10".



Прогресс-бар
Выглядит как-то так:

Прогресс-бар призван ответить на вопрос пользователя "а че сейчас происходит-то" при установке больших патчей. Сделан в виде отдельного модуля и находится в файле ffspbar.dll. Следовательно, чтобы прогресс-бар появился, первое условие - это наличие ffspbar.dll в каталоге с fifafs.exe.
Второе условие - его надо включить в config.xml (см. выше что это за файл). В архиве есть пример config.xml с настройками для прогресс-бара. Вот он:
Цитата:
<config>
<progressbar>
<visible>1</visible>
<title>FIFAFS Working...</title>
<sections>
<section>
<codename>parse</codename>
<part>5</part>
<text>Initalizing...</text>
</section>
<section>
<codename>mount</codename>
<part>5</part>
<text>Reading FIFA files...</text>
</section>
<section>
<codename>sort_tasks</codename>
<part>5</part>
<text>Prepairing tasks...</text>
</section>
<section>
<codename>load_files</codename>
<part>15</part>
<text>Loading files...</text>
</section>
<section>
<codename>fsh_hash</codename>
<part>20</part>
<text>Writing FSH hashes...</text>
</section>
<section>
<codename>compress</codename>
<part>20</part>
<text>Compressing files...</text>
</section>
<section>
<codename>big_work</codename>
<part>25</part>
<text>Importing files...</text>
</section>
<section>
<codename>create_fat</codename>
<part>5</part>
<text>Rebuilding fifa.fat &amp;&amp; .bh files...</text>
</section>
</sections>
</progressbar>
</config>
Разберем подробнее:
<visible>1</visible> - означает, что прогресс-бар нужно показывать. "0" - не показывать.
<title>FIFAFS Working...</title> - заголовок окна (он показывается на панели задач).
В тэге <sections> заключены настройки для каждого из этапов работы fifafs.
Всего таких этапов 8 штук: parse, mount, sort_tasks, load_files, fsh_hash, compress, big_work, create_fat.
Какие-то этапы проходят быстрее, какие-то медленнее. Для того, чтобы пользователь видел более-менее равномерно бегущий прогресс-бар, требуется дополнительная подстройка отображения этапов на прогресс-баре для каждого конкретного патча.
Цитата:
<section>
<codename>parse</codename>
<part>5</part>
<text>Initalizing...</text>
</section>
<codename>parse</codename> - ID этапа, менять его нельзя.
<part>5</part> - кол-во "места", отводящееся на этап на прогресс баре (в процентах). Чем больше этап занимает по времени, тем больше ему нужно прописать процентов. Сумма всех <part>...</part> должна составить в итоге 100.
<text>Initalizing...</text> - название этапа, выводится как подпись под прогресс баром.
Патчи все разные, поэтому одного "рецепта" на всех быть не может. Где-то этап fsh_hash вообще не нужен и ему можно смело поставить <part>0</part>. Какие-то патчи исправляют только обычные big-и и не трогают ФС. Тогда этапу create_fat ставится ноль. И т.д.
Да, кстати, XML должен быть валидным. Если fifafs вылетает, проверьте, что все тэги закрыты, а плохие символы экранированы.

Последний раз редактировалось вегуд; 09.11.2009 в 19:37..
вегуд вне форума   Ответить с цитированием
Старый 23.09.2009, 18:07   #2
Посетитель
 
Аватар для Pop
 
Регистрация: 20.02.2007
Сообщений: 3,191
По умолчанию

Если будет переведена вся документация (обратно) на русский язык, то уже большая часть недовольных будет удовлетворена :-)
И еще. Дайте подумать.
__________________
— <...>
— Да, кошки, медведи и страусы.
Pop вне форума   Ответить с цитированием
Старый 23.09.2009, 19:39   #3
Посетитель
 
Аватар для jiij
 
Регистрация: 23.09.2009
Адрес: Rustavi
Сообщений: 6
По умолчанию

Zdrastvuite , izvinite mojet etot vopros gde-to vstrechaetsia no ia vse ravno sproshu , kak menjat dizain formi v fifa , sponsora ,cveta , pod svoio usmotrenie
jiij вне форума   Ответить с цитированием
Старый 23.09.2009, 22:50   #4
Посетитель
 
Регистрация: 23.08.2009
Сообщений: 2
По умолчанию

Насколько я понял програмку нужно запускать через командную строку, что я и сделал. А далее растерялся) приведите пожалуйста пример какой-нибудь операции с помощью этой программы (я имею ввиду ваши рассуждения о том как бы вы вставляли новую форму в игру или что-то подобное...)
Virett вне форума   Ответить с цитированием
Старый 24.09.2009, 00:13   #5
Посетитель
 
Регистрация: 14.09.2007
Адрес: лужки
Сообщений: 131
По умолчанию

Есть вопрос-как с помощью fifafs вставлять в игру звуковые файлы? С лицами и формами вроде понятно, но со звуком я так и не разобрался.Выложите пожалуйста пример скрипта для вставки файлов в audio.big и dat.rus.big. Конверчу вставленые аудио файлы саундмастером в hdr и dat,далее убиваю исходный пропатченый аудио биг, пытаюсь вставить той же прогой в свежий(иходный) аудио биг hdr и dat файлы-всё равно на некоторых моментах начинаются вылеты комментов.Заранее огромное спасибо, тому кто откликнется.
balaban вне форума   Ответить с цитированием
Старый 24.09.2009, 01:37   #6
Администратор
 
Аватар для вегуд
 
Регистрация: 13.07.2005
Сообщений: 317
По умолчанию

Цитата:
Сообщение от jiij Посмотреть сообщение
Zdrastvuite , izvinite mojet etot vopros gde-to vstrechaetsia no ia vse ravno sproshu , kak menjat dizain formi v fifa , sponsora ,cveta , pod svoio usmotrenie
fifafs умеет только вставлять готовый материал в игру. Поэтому для начала, нужно изготовить или где-то взять файлы с формами, спонсорами и т.п. в формате FSH. Далее, файлы должны быть соответствующим образом названы. Например, файл с именем t75__0_0_5.fsh - содержит в себе домашнюю футболку Челси.
Только теперь дело доходит до fifafs.
Запускаете
Цитата:
fifafs.exe -ar $dir_fifa10demo$\data\ t75__0_0_5.fsh
и упомянутая футболка благополучно устанавливается в демку 10-ой фифы (подразумевается, что t75__0_0_5.fsh лежит в папке, откуда запускается приведенная команда).


Добавлено через 4 минуты
Цитата:
Сообщение от Virett Посмотреть сообщение
Насколько я понял програмку нужно запускать через командную строку, что я и сделал. А далее растерялся) приведите пожалуйста пример какой-нибудь операции с помощью этой программы (я имею ввиду ваши рассуждения о том как бы вы вставляли новую форму в игру или что-то подобное...)
Virett, рассуждения приведены чуть выше.
Запускать программу нужно обязательно с параметрами, иначе она не поймет, зачем ее запустили и тоже растеряется
__________________
Who's got better legs, Robby or Anne Francis?

Последний раз редактировалось вегуд; 24.09.2009 в 01:37.. Причина: Добавлено сообщение
вегуд вне форума   Ответить с цитированием
Старый 24.09.2009, 08:57   #7
Посетитель
 
Регистрация: 21.02.2008
Сообщений: 15
По умолчанию

Реально ли в fifafs внести функции fshtool'a? Ведь исходники fshtool'a в свободном доступе

Последний раз редактировалось Nuno; 24.09.2009 в 08:59..
Nuno вне форума   Ответить с цитированием
Старый 24.09.2009, 10:47   #8
Администратор
 
Аватар для вегуд
 
Регистрация: 13.07.2005
Сообщений: 317
По умолчанию

Цитата:
Сообщение от balaban Посмотреть сообщение
Есть вопрос-как с помощью fifafs вставлять в игру звуковые файлы? С лицами и формами вроде понятно, но со звуком я так и не разобрался.Выложите пожалуйста пример скрипта для вставки файлов в audio.big и dat.rus.big. Конверчу вставленые аудио файлы саундмастером в hdr и dat,далее убиваю исходный пропатченый аудио биг, пытаюсь вставить той же прогой в свежий(иходный) аудио биг hdr и dat файлы-всё равно на некоторых моментах начинаются вылеты комментов.Заранее огромное спасибо, тому кто откликнется.
Вылеты могут происходить из-за кривизны вставляемых HDR и DAT. fifafs с этим помочь не сможет, к сожалению.

DAT лежат в dat_rus.big, а HDR в hdr_rus.big, который находится внутри audio.big.

Соответственно, чтобы вставить DAT в dat_rus.big скрипт такой:
Цитата:
mountbig $dir_fifa09$\data\audio\dat_rus.big, dat_rus
-ar *, *.dat, dat_rus
или из командной строки (вставит все DAT файлы в текущем каталоге)
Цитата:
fifafs.exe -ar $dir_fifa09$\data\audio\dat_rus.big *.dat
Теперь HDR. hdr_rus.big сначала нужно вынуть из audio.big:
Цитата:
fifafs.exe -e $dir_fifa09$\data\audio\audio.big hdr_rus.big .
Вставить туда HDR'ы и засунуть обратно
Цитата:
fifafs.exe -ar hdr_rus.big *.hdr
fifafs.exe -ar $dir_fifa09$\data\audio\audio.big hdr_rus.big

Добавлено через 2 минуты
Цитата:
Сообщение от Nuno Посмотреть сообщение
Реально ли в fifafs внести функции fshtool'a? Ведь исходники fshtool'a в свободном доступе
Лучше сделать отдельную утилиту для этого. Все-таки функция fifafs - работа с "файловой системой фифы". Хотя, хм, fsh хэши он поправляет
__________________
Who's got better legs, Robby or Anne Francis?

Последний раз редактировалось вегуд; 24.09.2009 в 10:47.. Причина: Добавлено сообщение
вегуд вне форума   Ответить с цитированием
Старый 25.09.2009, 22:58   #9
Посетитель
 
Аватар для SOKOLoff
 
Регистрация: 20.11.2008
Адрес: Гродно, Беларусь
Сообщений: 125
Отправить сообщение для SOKOLoff с помощью ICQ
Thumbs up

вегуд, БОЛЬШОЕ спасибо тебе за эту твою работу. Особенно хочу отметить запись про вставку озвучек фамилий. Я еще не пробывал всунуть фамилии, но думаю, что будет все нормально. А то я пробовал и не получалось.
SOKOLoff вне форума   Ответить с цитированием
Старый 26.09.2009, 12:52   #10
Посетитель
 
Регистрация: 12.09.2008
Сообщений: 12
По умолчанию

А вот если я хочу вставить несколько форм мне нужно будет прописовать в инсталл.тхт
-ar $dir_fifa09$\data\ t75__2_0_38.fsh | t75__1_0_38.fsh? Верно или я ошибаюсь?
Cyxo вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 00:25.