Так вот, в чем соль - извлеченные файлы по размеру до байта сходны с размером текстур, только первые открыть я не могу.
Просматривал эти файлы в XnView, сходны они, но не до байта. Если просмотреть первый файл в хексе, там действительно что то проскакивает с расширением .png. Допустим вы все таки смогли извлечь ресурсы, модифицировали их, а потом как их назад? Скорее всего при создании игры был написан плагин (например к фотошопу), который умел читать эти файлы и сохранять в них данные, или еще проще был создан хитрый упаковщик, с алгоритмами которого научили работать движок игры. Но все может быть намного проще, сомневаюсь что им хотелось себе усложнить жизнь во время отлаживания программы. Есть смысл ждать инструментов для модификации именно этой игры или самостоятельно копаться в "этом" и писать свои программы. Больше ничего не могу вам посоветовать. MaximTG
Нужно уточнить "что" он должен делать (должен быть редактор графики или просто нужно собрать отдельные картинки в анимацию?). Здесь есть какая то утилиткатыц. MaximTG
Еще как вариант, игра выходила на PS3 и XBOX360. С икс боксом не знаю получится ли что то, но на сони вроди-бы есть какие то распаковщики. То есть скачать (или достать) игру от сони и пройтись по ней с распаковщиком, например отсюда. MaximTG
Туми обратите внимание limbo_boot.pkg, пролистайте картинки вниз, где то на 60-65% будут укзаны ссылки на ресурсы, что-то типа "data/sprites/edges/metal_heavy.pngBLUR_A" и еще раз обратите внимания на коментарии к этим строкам.
Quote (Туми)
Я воспользовался прогой offzip, которая извлекла все из этих двух файлов. Получилось куча .dat файлов, весом в суме 515 Мб. Ни один из них не могу ничем открыть.
Вот по этим .dat файлам есть смысл проитись драгон_анпакером.
Добавлено (19.08.2011, 00:11) --------------------------------------------- Еще как вариант, узнайте какие еще были сделаны игры той "конторой" которая выпустила эту игру, если такие будут, поищите моды к тем играм (или инструменты для их модификации).
Судя по коментариям после слешей, скорее всего (мне так кажется) это скрипт в котором указано что и как выводить на экран движку, если эти .pkg файлы не большие, тогда там нет ресурсов, апро сто прописаны настройки. MaximTG
Есть еще одна програмка, фаил и описание которых есть здесь на сайте, между прочим она позволяет сохранить модельки в .obj формат, а его можно отрендерить чем хочеш (формат очень популярный). Здесь. MaximTG
Нажмите на значок “Data”, как показано на рисунке, и вы увидите полный набор объектов данных, доступных в этой версии Seccia. Чуть ниже в списке, вы сможете найти объект строки. Дайте ему имя, например m_string1 и нажмите кнопку "ОК". Обратите внимание где этот объект оказывается в иерархии - не в разделе “Dialog Objects”, а в разделе “Objects” подчеркнув тем самым, что он не появится в вашем диалоге. Он не имеет видимого компонента.
Нам нужны два пункта - первый установит содержание объекта строки m_string1 к текущему содержимому первого "edit box'а" (который я назвал m_edtString1). Из моего первого учебника, как вы помните это, вероятно Set и Get. Итак, выберите m_string1 в проекте диалога и вы увидите все, что можно сделать с текстом, пока он принадлежит объкту строки . Среди этих частей-функций есть один, который называеться Set. Вот это нам и нужно.
Опять же, с первого урока как вы помните, фрагмент в скобках зеленого цвета, после команды представляет собой данные, которые нужно присвоить функции, что бы она работала. В этом случае это текст, который вы хотите задать объекту строки. Мы не знаем сам текст, но мы знаем, что в данный момент это для первого "edit box'а". И так, убедитесь, что фрагмент зеленного цвета выделен, и выберите m_edtString1. Среди его функций есть одна, которая называется GetText. Как следует из названия, эта функция будет получать содержимое этого "edit box'а", так как он находится внутри функции Set объекта m_string1, значение последнего будет изменено на новое. Команда, которая должна получится у вас вот так: m_string1.Set(m_edtString1.GetText())
. У меня есть подозрение что он требует доработки...
Что мы можем сделать со строкой? Рад что вы спросили, ответ - " целую кучу вещей ". Например, мы может получить (Get) содержимое строки, но с таким условием, чтобы данные были представлены особым способом - заглавными буквами, если нам захочется. Давайте попробуем это, обратив процесс который мы видим в строчке кода выше – мы установим (Set) содержание нижнего "edit box'а" (m_edtString3) до полученных (Get) данных в m_string1, только заглавными буквами. Догадались какие функции строк нам нужны? Да, это GetUpper. И команда которая изменит текст в "edit box'е" - SetCaption. Вставьте ещё одну линию в " Code Editor'е" чтобы получилось: m_edtString3.SetCaption(m_string1.GetUpper())
Добавлено (23.07.2011, 23:13) --------------------------------------------- До пилил 16-й, 17-й, 18-й и 19-й абзацы.
Так что у нас есть это - две строки кода обработчика OnClick объекта m_btnDoTask и одну строчку кода m_btnQuit для выхода из программы. Попробуйте - введите текст в первый "edit box", нажмите кнопку“Do Task” и посмотрите на результат в нижнем "edit box'е".
Попробуйте теперь со строчными буквами – просто изменив строку кода обработчика, там где у нас GetUpper.
И это все - заглавные и строчные буквы? Ни в коем случае! Используя встроенные функции объекта строки, мы можем, обрабатывать эти строки - делить и группировать их. Например, что вы думаете делает GetAt? Из документации, вы увидите, что она нужна для индексации номера. Измените вторую команду в вашем "Code Edit'оре" на эту функцию и перезапустите приложение, используя текст который использовался на рисунке выше и используя значение "10" для индекса.. Обратите внимание на нижний "edit box" – всё верно, там буква “b". Две вещи, которые нужно здесь запомнить – команда извлекает символ в "точке" указаной в индексе (хотя сама строка не изменилась) и сама индексация начинается с ноля – ни одного. Буква “b", на самом деле 11-й символ в тексте. Только если вы начинаете счет с ноля, буква “b” фактично будет 10-й
Ну это все конечно хорошо, но что если нам нужно вырезать не одну букву а часть текста? Очевидно, мы должны указать начальную точку (предыдущий пример индекса), а также указать индекс последнего символа в вырезаной части текста.Это обычно называют суб- строкой (sub-string) и команда соответствующая этому GetSub. Это требует два числа для проделывания описанного выше. Допустим, вы даёте значение "2" для начала индексаци и "21" для её конца. Используя текст показанный ранее, у нас получится:
Помните - вы начинаете индексацию от нуля (в обоих случаях). Другой способ получения участков строки более традиционный:
Left – Дает направление начала "отсчета" количества символов с крайней левой стороны. Mid – Дает направление начала "отсчета"количества символов с указанного индекса. Right – Дает направление начала "отсчета" количества символов с крайней правой стороны.
Попробуйте что то из них, используя выше изложенный подход.
Удаление части строки. Я говорил,что когда мы получаем под- строку (sub-string), исходная строка не изменяется, но что, если мы хотим все таки удалить фрагмент строки? Мы используем команду Delete. Теперь слова предупреждения - вы не может использовать эту команду и ожидать возможность восстановление строки, после того как ее подправите. Эта команда - для удаления в фоновом режиме, с последующим использованием команды Get для получения текста строки. Посмотрите на текст который я использовал в примерах выше. Давайте представим, что мы хотим удалить слово “quick” от сюда (заменив его пробелом). “q” имеет индексный номер 4 и количество символов которые мы хотим удалить равно 6 (включая один из пробелов). Используйте следующий код:
Булевы функции. Если вы обратите внимание на другие части функций объекта строки, вы увидите что некоторые из них начинаются со слова Is. Это традиционный способ именования функций, который возвращает значения true (истина) или false (ложь). Например, IsNumber возвратит вам true если текст состоит только из цифр (это не означает что текст является цыфрой – это означает, что часть текста содержит неалфавитнные символы, такие как номер телефона) и false ложно, если есть символ не пренадлежащий цифрам. Например: "12" true "12.2" true "-123.36" true "12 4" false (из-за пробела)
Кто-нибудь напечатайте здесь какой-то пост,у меня есть подозрения что количество символов в одном посте ограничено и я не смогу далее сюда печатать перевод. MaximTG
edf скорее всего файл данных, как вариант можно попробовать узнать на каком движке сделана игра, найти игры сделаные на нём и если такие будут, поискать к одной из этих игр программы для модификации. MaximTG