А так, по теме PS3 - мне кажется это как-то неправильным - выход Skyrim на PS3.
ну правильно не правильно, а большая часть копий игры была продана именно на консолях. то есть консоли в разы больше принесли прибыли от продаж. Ты настоящий мужчина. Если у тебя есть сердце, яйца и стиль.
Здравствуйте. Очень прошу - помогите, пожалуйста, решить небольшую проблемку. У меня до селе стояла эта версия игры Skyrim для PS3 - https://goldenshara.com/viewtopic.php?t=231508 Но мне захотелось попробовать сборку - https://goldenshara.com/viewtopic.php?t=237069 И возникла маленькая, но серьезная проблема - сохранения никак, совершенно никак не хотят переноситься с одного образа на другой. Я и ini файл мучал, и игру переустанавливал, и с сейвами шаманил - результата никакого. Поможете советом?
Но мне захотелось попробовать сборку - https://goldenshara.com/viewtopic.php?t=237069 И возникла маленькая, но серьезная проблема - сохранения никак, совершенно никак не хотят переноситься с одного образа на другой. Я и ini файл мучал, и игру переустанавливал, и с сейвами шаманил - результата никакого. Поможете советом?
версии скорее всего разные. у скайрима есть такая проблема. Ты настоящий мужчина. Если у тебя есть сердце, яйца и стиль.
Захотелось мне что-то поностальгировать со Skyrim'ом)) Решил я, ну если уж играть, то понабивая трофейчики, тобишь на PS3) До этого я на PS3 не играл. Но я поставил себе маленькое условие - я сделаю на PS3 плагин, не использующий SKSE, который, выражусь так, поправляет несправедливость, где при том, что учиться у учителей можно 5 раз на уровне, если ты не успеешь задействовать эти 5 раз, то ... ты их не задействуешь) Эти попытки, так сказать, сгорают. Плагин я написал, это книга (найти первую попавшуюся испорченную, и она станет "Конспектом"), активируя которую перед учителем, она проверяет а учитель ли это вообще, сканирует учитель чего он, каков его лимит, почём за урок, и если всё корректно, кол-во раз обучения ("Уроки" в статистике) меньше, чем уровень * 5 минус 5, и денег достаточно, то появится кнопка "Учиться", и можно будет отучиться. Следующий этап был вопрос как внедрить это в PS3'шный Skyrim. Посмотрев в хексе PS3'шный файл SKYRIM.ESM, увидел, что он байтсвапнутый. И я принял интересное решение - я напишу байтсваппер сигнатур, чтоб SKYRIM.ESM можно было б открыть в ПК'шных редакторах Скайримских мастер-файлов/плагинов, там внедрить мой плагин, байтсвапнуть обратно, залить на PS3. Но всё оказалось вообще не так, как я того предполагал...
Создав байтсвапперы и плагин, я было хотел начать воплощать идею, но потом заметил, что в том скачанном образе игры для PS3 у меня ещё и имелся мастер-файл от Immersive Weapons. Ну это уж точно сторонний плагин! Я его глядь в хексе - а он и не байтсваппленный вообще! Я Dawnguard.esm, Dragonborn, Heartfires.esm глядь, что с образа PS3, что потом ещё скачивал посмотреть, которые в папке NPDRM и для них какие-то .edat (не знаю кстати как оно работает, и .rap'ы я для таких не нашёл) - а они тоже никакой не байтсвапплены! Я сделал предположение, что игра принимает и, так сказать, ПК'шные мастер-файлы в порядке Little-Endian, и так оно и есть. И месяц писки, 4300+ строчек кода, всё оказалось насмарку)) Свапать-то можно ничего и не свапать оказалось. Но я всё-таки решил сделать релиз, может будут и другие предназначения (незнай, может байтсвапнутые Dawnguard.esm, Dragonborn.esm быстрее бы загружались, или может будет кто копать PS3 ресурсы SKYRIM.ESM для выуживания каких-нибудь не оставшихся на ПК "пасхалок", или правки самого мастер-файла для фикса багов, и прочие). И вдобавок, написана инструкция как запустить и байтсвапнуть плагин для Скайрима на PS3.
Итак, вот как конвертировать заносить плагин/мастер-файл в PS3 образ на примере BLUS-31202.
- берёшь мастер-файл и его .bsa-файл, переименовываешь ВСЁ ЗАГЛАВНЫМИ БУКВАМИ ВКЛЮЧАЯ .РАСШИРЕНИЕ, - ложишь их в PS3_GAME/USRDIR/DATA , - правим PS3_GAME/USRDIR/SKYRIM.INI. Добавляем в верх списка sTestFileX наш мастер-файл. К примеру, последний был
Добавляем в конец переменной sEssentialFileCacheList (но можно попробовать добавить не туда, а в sUnessentialFileCacheList) через запятую .BSA и .ESM файлы. К примеру, было
Добавляем в конец переменной sResourceArchiveList (но можно попробовать добавить не туда, а в sResourceArchiveList2 или даже sResourceArchiveListBeta) .BSA файл. К примеру, было
Всё. С учётом того, что образ нужно будет пересобрать, этого будет достаточно, чтобы мастер-файл подцеплялся игрой. При первом запуске игра копирует все подцепленные мастер-файлы в /dev_hdd0/game/BLUS30778_CACHE/USRDIR/DATA/ . Если вы произвели изменения .esm/.bsa файлов так, что те, что находятся на HDD отличаются от тех, что находятся на образе - игра самостоятельно перезапишет те, что на внутреннем HDD теми, что на образе.
При загрузке игры, в секции "ЗАГРУЖАЕМЫЙ КОНТЕНТ" есть список всех подцепленных мастер-файлов, за исключением самого Skyrim. И если вы всё сделали правильно, здесь будет фигурировать и подцепленные сторонние DLC подобным образом:
Код
$НАЗВАНИЕМАСТЕРФАЙЛА_ESMName
- если оно отображается так, это означает, что мастер-файл подцепился, но переменная вот точно с таким названием не была найдена, чтоб подцепить оттуда string с названием. Если хочется это поправить, нужно править архив "SKYRIM - RUS.BSA". Т.к. его ещё и собрать обратно нужно будет, понадобится прога BSAopt. Вот так распаковывать:
Код
"BSAopt x64.exe" -game sk -passthrough "SKYRIM - RUS.BSA" iface
правим iface/interface/translate_russian.txt . Заносим переменную с переводом кастомного вживлённого дополнения в место по алфавиту. Как пример, я написал
Код
$TEACHINGFOLIANT_ESMName TeachingFoliant
между переменными $TAKE GIFT и $Texture Size Как всё, запаковываем обратно в архив.bsa :
Заменяем соответствующий файл в PS3 образе, проверяем в секции "ЗАГРУЖАЕМЫЙ КОНТЕНТ", где всё должно быть ОК. Если не ОК... то файл translate_russian.txt не единственный среди архивов .bsa, и такой архив стоит в порядке загрузки после SKYRIM - RUS.BSA - поищите этот файл (можно в хекс-редакторе) в других архивах.
Если задача сводится к подцепке не мастер-файла, а именно плагина .esp, то... делаем из .esp .esm Сделать это можно открыв .esp плагин в проге TES5Edit . Ставим галочку только на вашем .esp плагине, запускаем. Разворачиваем плюсик у загрузившегося .esp плагина, выделяем File Header, работаем в правой части. Сперва нужно чтоб прога поняла, что мы пытаемся что-то править. Два медленных раза щёлкаем на, допустим, поле значения Version - появится окно "Warning!", где мы щёлкаем "Yes, I'm absolutely sure". Теперь, пр.кн.мыши щёлкаем по полю значения Record Flags и ставим галочку у "ESM". Всё, закрываем, сохранится, в теории можно внедрять в PS3 образ.
А вот это уже экстримально экспериментально)) Если хочется сделать прям "подарок" для своей PS3, можно попробовать прогнать мастер-файл через skytoyks. НО! Прежде, чем это сделать, нужно убедиться, что мастер-файл в таком виде, который содержит текстовые ресурсы переводов на языки в файлах .STRINGS , .DLSTRINGS , ILSTRINGS . Если он не такой, то можно сделать его таким. Инструкция разнится в зависимости от того, для какого языка ваш плагин, но вот можете посмотреть её здесь. А так, вкратце, запустить Skyrim String Localizer, галочку на "Override Code Page", где справа выбираем 1251 (Cyrillic), выбираем .esm плагин, выбираем Skyrim_Russian.STRINGS (если ваш редактируемый мастер-файл изначально для русской версии/содержит русскоязычный текст), жмём кнопки process, Create IDs, Write esp + Strings in esp, всё. Кстати, после этого если посмотреть такой получившийся мастер-файл в TES5Edit'е, то в его File Header->Record Flags можно увидеть кроме флага ESM, что теперь ещё и отмечен флаг Localized . Итак, мастер-файл Localized. В моём релизе skytoyks тупо скомпилен (с помощью Cygwin'а) для простого запуска из-под командной строки (но можно и так щёлкнуть, только если что ошибки не будут видны, если они есть...), предварительно переименовав ваш 'подопытный' мастер-файл в Skyrim_.esm . Если процесс байтсваппинга пройдёт успешно, то кроме "Done" ничего другого в консоле видно и не будет. Но и это на самом деле не показатель того, что всё сконвертировалось "как надо", ведь в алгоритмах я много где не видел зависимостей при сравнениях, и делал свои предположения как надо... Все data-файлы мастер-файла (включая и новообразованные strings) необходимо запаковать в .bsa архив (пример смотрите в спойлере "Нюанс с названием DLC"). Полученные файл _Skyrim.esm и .bsa архив переименовываем уже ЗАГЛАВНЫМИ БУКВАМИ В Т.ЧИСЛЕ И .РАСШИРЕНИЕ в нужное вам имя файла, имя плагина. Ну и внедряем в образ подобно тому, как описано в "Самом простом сценарии".
Что интересно, байтсвапленный в BE плагин.esp/мастер-файл.esm можно проверить и на ПК! Подключив его как и любой другой обычный плагин/мастер-файл. Вот где показало бы, что конвертация где-то имеет ошибку в логике сваппинга какой-то сигнатуры (правда, не подскажет конкретно какой и где...). Более того, байтсвапленный в BE плагин.esp/мастер-файл.esm можно открыть в CreationKit! Внести правки, конечно, будет можно, всё с этим нормально, но вот сохранится уже потом опять в "небайтсвапленный" ПК'шный LE.
Ну и для вдруг англоязычной аудитории. Same in English: So, here is how to convert inject a plugin/master-file into a PS3 ISO using BLUS-31202 as an example.
- take the master-file and its .bsa-file, then rename EVERYTHING IN ALL CAPS, INCLUDING THE .EXTENSION, - place them into PS3_GAME/USRDIR/DATA , - edit PS3_GAME/USRDIR/SKYRIM.INI. Add the master-file to the top of the sTestFileX list. For example, if the last one was
Add the .BSA and .ESM files to the end of the sEssentialFileCacheList variable, separated by a comma (though you can try adding them to sUnessentialFileCacheList instead). For example, if it was
Add the .BSA file to the end of the sResourceArchiveList variable (you can also try adding it to sResourceArchiveList2 or even sResourceArchiveListBeta). For example, if it was
That's it. Given that you'll need to rebuild the ISO, this will be enough for the game to load the master-file. During the first launch, the game copies all the set master-files to /dev_hdd0/game/BLUS30778_CACHE/USRDIR/DATA/ . If you made changes for .esm/.bsa the way that those which are located on HDD are different with those which are located in the ISO - the game automatically rewrites those which located on internal HDD by those from ISO.
(I didn't do that for English version, so this is just my suppose). When launching the game, the "DOWNLOADABLE CONTENT" section lists all loaded master-files except for Skyrim itself. If you did everything correctly, the third-party DLC added this way will appear here like this:
Код
$MASTERFILENAME_ESMName
- if it displays this way, it means that the addon was set up, but a variable with this exact name was not found to pull the localized name string from. If you want to fix this, you need to edit the "SKYRIM - INTERFACE.BSA" archive. Since you will also need to pack it back, you'll need the BSAopt tool. Here is how to unpack it:
Код
"BSAopt x64.exe" -game sk -passthrough "SKYRIM - INTERFACE.BSA" iface
edit iface/interface/translate_english.txt . Insert the translation variable for your custom injected DLC in alphabetical order. For example, I added
Код
$TEACHINGFOLIANT_ESMName TeachingFoliant
between the $TAKE GIFT and $Texture Size variables. Once done, pack it back into the .bsa archive:
Replace the corresponding file in the PS3 ISO and check the "DOWNLOADABLE CONTENT" section, where everything should now be OK. Case if not... then translate_english.txt is not the only one among .bsa-archives, and likely that .bsa-archive is placed in higher loading order than SKYRIM - INTERFACE.BSA - search for that file (for ex., in some HEX-editor) in the other archives.
If your task approximates to load an .esp plugin rather than a master-file, then... we just turn the .esp into an .esm You can do this by opening the .esp plugin in TES5Edit . Check the box only next to your .esp plugin and run the program. Expand the plus sign next to the loaded .esp plugin, select File Header, and move your sight to the right pane. First, you need to let the program know that you are trying to edit something. Slowly double-click on, for ex., the Version value field - a "Warning!" window will pop up, where you should click "Yes, I'm absolutely sure". Now, right-click on the Record Flags value field and check the box next to ESM. That's it, close the program, it will save, and in theory it's ready to be injected into the PS3 ISO.
Now this is where things get extremely experimental)) If you want to give a real "gift" to your PS3, you can try running the master-file through skytoyks. BUT! Before you do that, you need to make sure that the master-file is in a format that stores its translated text resources in external .STRINGS , .DLSTRINGS , and .ILSTRINGS files. If it isn’t, you must convert it to this format. The steps vary depending on the language of your plugin, and unlike the upper spoiler for russians, I do not know the website where is the proper nice manual how to do that, sorry :S Anyway, to put it briefly, the convertion process arranges in Skyrim String Localizer. Launch it, check the "Override Code Page" box for your language if it is not English, select the appropriate codepage on the right, choose your .esm plugin, and select Skyrim_YourLanguage.STRINGS (Skyrim_English.STRINGS for English version obviously), click the buttons - process, Create IDs, Write ESP + Strings, that's it. BTW, if you check this modified master-file in TES5Edit afterwards, you will notice that in its File Header->Record Flags, the Localized flag is now checked alongside ESM. Alright, now our master-file is Localized. In my release, skytoyks is dumbly compiled (via Cygwin) to be run easily from the command line (you can just double-click it too, but then you won't see any error messages if something goes wrong...). Before running it, rename your testing-one master-file to Skyrim_.esm . If the byte-swapping process finishes successfully, you won't see anything in the console except for the word "Done". However, even this doesn't guarantee that everything converted perfectly, as I noticed many gaps in the algorithms where I was not able to arrange dependencies, so I had to make my own assumptions on how it should work... All the data-files of the master-file (including the newly generated strings) must be packed into a .bsa archive (check the "DLC naming nuance" spoiler for an example). Rename the resulting _Skyrim.esm file and .bsa archive using ALL CAPS, INCLUDING THE .EXTENSION, changing them to your desired file, desired plugin name. Then, inject them into the ISO just like described in "The easiest scenario".
Interestingly enough, an .esp-plugin/.esm-master-file byte-swapped into BE can actually be tested on a PC! You can load it just like any other regular plugin/master file. This is exactly where it would be possible to find out if the conversion has a mistake somewhere in the swapping logic of a specific signature (though it won't tell you exactly which one or where...). Furthermore, a BE-swapped .esp-plugin/.esm-master-file can be opened right in the CreationKit! Though ofc, there will be no problems in editing, but once you save it, it will be written back into the "non-byte-swapped" PC LE format.
Шо могу сказать) Как минимум, здесь есть ссылочка на хороший плагин)
А вот если б кто поделился торрент-файликом было б вообще пушка! Ато я без тапок)) Там починили букву ч и ЗАГЛАВНЫЕ БУКВЫ - видать сам EBOOT правили, это СТОИТ ТОГО, чтоб оно сидело в коллекции!
Значит, скачал я тот торрент. В действительности, там исправлена проблема с буквой 'ч' наравне с самим написанием русских слов в некоторых местах (таких, как при повышении навыка, в описании предмета в инвентаре, в "космосе навыков") в верхнем регистре. И в действительности, не обошлось без правки EBOOT.ELF
Следующее что, как по мне, не так в той сборке. Не, она так-то неплоха, претензий 0, просто добавлять в таковую плагины непонятно как, ведь ESM файлы плагинов в ней цепляются со внутреннего HDD из папки игры, причём учитывая наличие .edat ключей для каждого из них... Вот как пересобрать ту сборку в такое, в которое можно будет внедрять сторонние esm плагины.
Из архивов DATA000.pkg, лежащих в PS3_EXTRA, распаковать содержимое, переименовать ЗАГЛАВНЫМИ БУКВАМИ, переместить в PS3_GAME\USRDIR\DATA . Удалить папку PS3_EXTRA, а вместо неё создать пустую папку PS3_UPDATE . Удалить папку PS3_GAME\PKGDIR . Редактировать PARAM.SFO - снять галочку "Install package / PS3_EXTRA" . Привести PS3_GAME\USRDIR\SKYRIM.INI к следующему виду:
Код
[General];SCEA Lead SKU BLUS-30778 sLeadTitleID=BLUS30778
;bAllowProfileTransfer should be set to 0 or removed when we ship. bAllowProfileTransfer=0
[Russian]sFailureMessage="Something is broken" sSysUtil_Retry=Do you wish to retry? sSysUtil_AutoSaveWarning=This game saves data automatically at certain points. Do not switch off the power when the HDD access indicator is flashing, as doing so may cause data to be corrupted. sSysUtil_GameDataInsufficientSpace=There is not enough available space in the HDD. To create game and save data at least %d MB more space is required. Exit the game and then restart after creating more space in the HDD. sSysUtil_GameDataCorrupt=Game data is corrupt. Please exit the game and delete this game data. sSysUtil_SaveDataCreateNew=Create New Data sSysUtil_SaveDataInsufficientSpace=%d KB of free space is needed for this save. Do you wish to delete previous saves? sSysUtil_SaveDataOwnershipWarning=This saved data is owned by another user. Trophies cannot be unlocked and saving will not be allowed. sSysUtil_DiscEject=The game disc has been ejected.\n\nPlease re-insert the disc and retry.\n\nRetry? sSysUtil_DirtyDisc=Disc reading error.\n\nPlease check the game disc and retry.\n\nRetry? sSysUtil_AwardsLoading=Loading Trophies sSysUtil_AwardsInstalling=Installing Trophies sSysUtil_AwardsReinstalling=Re-installing Trophies sSysUtil_AwardsConfiguring=Setting up Trophies sSysUtil_AwardsUpdating=Updating Trophies sSysUtil_NPDRMInstalling=Updating Content sSysUtil_GameContentInstalling=Installing game data, please wait. Do not power off your PlayStation®3 system.
Пересобрав, проверив, что всё это заработало, те файлы, что вроде в /dev_hdd0/BLUS30778/USRDIR/NPDRM , можно удалить.
Насчёт упомянутой проблемы Эсберна среди постов с тапок. Там попытались это пофиксить, включив в раздачу SKYRIM - VOICESEXTRA.BSA . На практически момент написания поста, я протестировал тот момент с Эсберном с этим .bsa-архивом, который в том торренте предлагался как фикс (по крайней мере тот, что шёл с торрентом, а тот, что на Яндекс-диске там я не смог скачать...) - Эсберн за дверью молчит, губами не двигает. Интереса ради я посмотрел что там внутри того фикса и удивился - там набор .lip и .xwm файлов, причём у некоторых .xwm нет ни заголовков, ни парных .lip . Я не уверен, подцепливаются ли движком озвучка диалогов с движениями губ когда всё выглядит вот так парными файлами и без header'а в xwm... но конкретно тот файл архива фиксом не является. Ну и, учитывая, что в одноимённом файле на ПК, что является фиксом для аналогичной ситуации на ПК, внутри лежат файлы .fuz, и в других местах других .bsa архивов PS3, в частности SKYRIM - VOICES.BSA, так же лежат .fuz файлы, то я решил пересобрать .bsa архив ПК'шного фикса так же содержащий файлы .fuz .
Среди постов на тапках большими буквами написана благодарность некой кастомной утилите, которая только среди тех постов и упоминается, ссылка на которую канула в лета. Как пересобирать диалоговые файлы тоже никто из тех пользователей особо не расписывает, тем более с ручным выуживанием с помощью HEX-редактора, одно бахвальство какие они молодцы. Так и пришлось вникать во всё да вот расписывать)
Распаковал я Oldrim'ский Skyrim - VoicesExtra.bsa . Увидел в распаковавшемся sound\voice\skyrim.esm\maleuniqueesbern файлы .fuz . Для оперированием с файлами .fuz я воспользовался прогой Skyrim Audio Converter . Но я пошёл нубским тяжёлым путём... Несмотря на то, что я настроил его .ini так, что при добавлении файлов .fuz в окно запущенной проги, подхватываются параметры: Sampling Frequency - 48k audio file bitrate - 64k xwm/fuz file bitrate - 64k Channels - 1 Keep lip file - галочка Вот output Codec непреклонно всегда при добавленных файлах ставился по-умолчанию mp3. А нужно выставить wav. Файлов в Skyrim - VoicesExtra.bsa - 438 штук. Нутк вот я все 438 раз вручную изменял кодек на wav. Конвертил по партиям меньшим 100 штук (ато бывает "захлёбывается" когда много). Таким образом, по-сути, получил 438 штук сконвертированных из xwm в моно wav звуковых диалоговых аудиофайлов, и соответствующе названные им парные файлы анимации губ .lip. Далее, нужно сконвертировать их в тот формат звуковых диалоговых аудиофайлов, который понимается тем движком, что на PS3. Упустим название расширения этих медиафайлов, название утилиты-конвертера, откуда его взяли, ибо есть какие-то конспирологические причины на сайтах об этом умалчивать. Но и молча прикрепим суды нужную утилиту)) флаги (без команды-названия утилиты) для конвертации прогой из прикреплённого архива, с учётом того, что моно wav-файлы имеют частоту дискретизации 48кГц, такая:
Файлы анимации губ конвертировать не нужно, PS3 использует такой же формат. <--- не факт! На этот момент у меня получилось 438 пар файлов .lip и соответствующих им звуковых диалоговых аудиофайлов для того движка, что на PS3. Они готовы для компоновки в PS3-годный файл .fuz . Делается это fuz_extractor'ом, что уже любезно был положен в папку bin Skyrim Audio Converter'а, для каждой пары из которых:
Код
fuz_extractor -c файл.msf файл.lip файл.fuz
ну или .xwm вместо .msf, но тут название расширения никакой роли не играет для компоновщика
Всё. Остаётся только рассунуть все файлы по их местам распакованного .bsa архива с заменой оригиналов, собрать SKYRIM - VOICESEXTRA.BSA архив обратно и закинуть его в сборку с заменой. Вот так я и пересобирал. Удалось дойти до бажного места и протестировать ситуацию с пересобранным архивом - Эсберн за дверью говорит! Но губами не шевелит. Грубо говоря, получился полу-фикс - на PS3 то место теперь пройти можно, дверь открывается, квест продолжается как и должно. Но сам факт того, что губы из файла .fuz не двигаются, но при этом звук из того же файла .fuz подцепляется, наталкивают на мысль того, что формат .lip для PS3 специфичен. Ну или я ещё что-либо не учёл... Частота дискретизации xwm в исходном файле равна частоте в конечном файле PS3'шного формата... При сравнении файлов cw00a_cw00hello_000d3c58_1.fuz из SKYRIM - VOICES.bsa между PS3 и ПК можно заметить, что .lip содержимое у них отличается, в том числе и длиной, но при этом звуковая дорожка (не форматами, конечно же, а тем, что на ней говорится) одинакова. Прям загадка. В инете инфы никак не найду что тут можно сделать...
В процессе конвертации я пользовался bat'никами, но они на момент написания поста куда-то делись... Также, ввиду того, что fuz_extractor при распаковке не справляется с такими .fuz файлами, у которых внутри не содержится .lip, я тут с ИИ сгенерировал и скомпилил такую прогу, которая с этим справляется. А точнее, берёт всю кипу .fuz файлов и распаковывает их на звуковой и .lip. И обратную прогу, которая пройдётся по всем звуковым файлам определённых расширений, и если для них есть парный .lip, она их скомпонует в .fuz . Те проги рядышком с ссылкой на бинарники релиза yks'N'sky. Тем, кто умеет писать батники, и кто догадается, как из xwm конвертировать в 48кГц моно wav, станет быстрее и легче пересобирать диалоги для PS3 Skyrim.