Как создать свой распаковщик/упаковщик
Автор
Marshall_J
, Mar 20 2009 04:36
Сообщений в теме: 16
#1
Отправлено 20 March 2009 - 04:36
Как создать свой распаковщик/упаковщик игровых форматов? Есть ли какие-нибудь тулзы, которые мне в этом помогут?
#2
Отправлено 20 March 2009 - 14:59
тебе поможет отладчик и дизасемблер. разберёшься как пакуется, и сделаешь распаковщик/упаковщик.
#3
Отправлено 20 March 2009 - 16:27
Мне и нужно понять, как пользоваться отладчиком и дизассемблером, чтобы узнать алгоритм сжатия. А далее научиться создавать распаковщик/упаковщик. Есть туторы?
#5
Отправлено 21 March 2009 - 05:51
-=CHE@TER=-, спасибо за ссылки. Хорошая инфа!
На данный момент мне нужны два распаковщика/упаковщика:
1. Для тестурных бинов из NFSMW. Распаковщиков для них много, также есть программы, которые позволяют заменять текстуры, но они ограничены в возможностях, например, нельзя заменить текстуры с другим форматом сжатия или размером. Но мне нужно создать упаковщик этих текстурных архивов. Забыл, также есть упаоквщик, но он можнт запаковывать ддски ТОЛЬКО форматов дхт1 и дхт3. Хотелось бы для начала сделать упаковщик текстурных бинов, который будет упаковывать все виды dds. А позже замутить прогу наподобие TXDworkshop для GTAsa.
2. Для звуковых архивов форматов *.mus и *.big. Для *.mus есть только конверторы и плейеры, а распаковщика/упаковщика нету. Инфу про этот формат не нашел(. Для *.big тоже ничего не нашел, были распаковщики бигов, но для других игр. Кстати, очень различаются по структуре.
Какой мой следующий шаг?
На данный момент мне нужны два распаковщика/упаковщика:
1. Для тестурных бинов из NFSMW. Распаковщиков для них много, также есть программы, которые позволяют заменять текстуры, но они ограничены в возможностях, например, нельзя заменить текстуры с другим форматом сжатия или размером. Но мне нужно создать упаковщик этих текстурных архивов. Забыл, также есть упаоквщик, но он можнт запаковывать ддски ТОЛЬКО форматов дхт1 и дхт3. Хотелось бы для начала сделать упаковщик текстурных бинов, который будет упаковывать все виды dds. А позже замутить прогу наподобие TXDworkshop для GTAsa.
2. Для звуковых архивов форматов *.mus и *.big. Для *.mus есть только конверторы и плейеры, а распаковщика/упаковщика нету. Инфу про этот формат не нашел(. Для *.big тоже ничего не нашел, были распаковщики бигов, но для других игр. Кстати, очень различаются по структуре.
Какой мой следующий шаг?
#6
Отправлено 22 March 2009 - 13:02
Marshall_J!
Что-то ты мощно с места в карьер взял - слишком уж сложные для новичка перед собой задачи ставишь.
1. А ты уверен, что игра будет поддерживать другой формат? Если игра работает с DXT1 и DXT3, совсем не факт, что разработчики игры догадались сделать там поддержку какого-нибудь другого формата. Так что перевести-то ты переведёшь, а будет ли игра с ним работать?
2. Насчёт .BIG - была статья, там даже формат описан и программа для распаковки.
А .MUS - это не совсем архив в привычном понимании этого слова. Это банк кусков песен (если речь идёт про .MUS в играх NFS) и отдельным файлом порядок проигрывания и связи этих кусков друг с другом. Там так просто не распакуешь и не запакуешь. Для всех NFS начиная с NFSMW и старше алгоритм распаковки неизвестен - вытаскивается только то, что опознано на слух и то, в некоторых случаях (как, например, с NFSMW) - довольно примитивным способом. Так что речь не то что об упаковке - о нормальной распаковке даже не стоит.
Есть, в принципе, один способ замены музыки - это взять такую же по звучанию мелодию, разбить её на соответствующего размера куски и закодировать при помощи sx.exe (или сначала закодировать, а потом разбить, по SCDl-блокам). Потом заменить ими те блоки, в которых содержится оригинальная музыка в .MUS.
Но это довольно сложно, неудобно и не факт, что будет работать.
Проще выключить музыку в игре и включить Winamp.
Что-то ты мощно с места в карьер взял - слишком уж сложные для новичка перед собой задачи ставишь.
1. А ты уверен, что игра будет поддерживать другой формат? Если игра работает с DXT1 и DXT3, совсем не факт, что разработчики игры догадались сделать там поддержку какого-нибудь другого формата. Так что перевести-то ты переведёшь, а будет ли игра с ним работать?
2. Насчёт .BIG - была статья, там даже формат описан и программа для распаковки.
А .MUS - это не совсем архив в привычном понимании этого слова. Это банк кусков песен (если речь идёт про .MUS в играх NFS) и отдельным файлом порядок проигрывания и связи этих кусков друг с другом. Там так просто не распакуешь и не запакуешь. Для всех NFS начиная с NFSMW и старше алгоритм распаковки неизвестен - вытаскивается только то, что опознано на слух и то, в некоторых случаях (как, например, с NFSMW) - довольно примитивным способом. Так что речь не то что об упаковке - о нормальной распаковке даже не стоит.
Есть, в принципе, один способ замены музыки - это взять такую же по звучанию мелодию, разбить её на соответствующего размера куски и закодировать при помощи sx.exe (или сначала закодировать, а потом разбить, по SCDl-блокам). Потом заменить ими те блоки, в которых содержится оригинальная музыка в .MUS.
Но это довольно сложно, неудобно и не факт, что будет работать.
Проще выключить музыку в игре и включить Winamp.
#7
Отправлено 23 March 2009 - 16:17
-=CHE@TER=-!
1. Да, игра поддерживает все виды ддс. Поэтому я взялся за это). Так, что есть возможность это сделать?
2. Я все статьи перечитал про БИГ. Ни один не подходит, нет,н-р, заголовка БИГФ. ГеймЕхтрактор еще пытается его распаковать, но он его поделил на 13000 кусков, в чем я сомневаюсь.
МУС. Ты знаешь где находятся границы этих блоков? Значит шанс есть?
ПОлучается, что секундаж песен должен быть как у оригинальных?
Спасибо.
1. Да, игра поддерживает все виды ддс. Поэтому я взялся за это). Так, что есть возможность это сделать?
2. Я все статьи перечитал про БИГ. Ни один не подходит, нет,н-р, заголовка БИГФ. ГеймЕхтрактор еще пытается его распаковать, но он его поделил на 13000 кусков, в чем я сомневаюсь.
МУС. Ты знаешь где находятся границы этих блоков? Значит шанс есть?
ПОлучается, что секундаж песен должен быть как у оригинальных?
Спасибо.
#8
Отправлено 24 March 2009 - 12:07
Marshall_J!
Цитата |
1. Да, игра поддерживает все виды ддс. Поэтому я взялся за это). Так, что есть возможность это сделать? |
Не знаю - меня это никогда не интересовало. Попробуй спросить у авторов тех конвертеров или на каком-нибудь NFS-ориентированном ресурсе.
Цитата |
2. Я все статьи перечитал про БИГ. Ни один не подходит, нет,н-р, заголовка БИГФ. ГеймЕхтрактор еще пытается его распаковать, но он его поделил на 13000 кусков, в чем я сомневаюсь. |
Значит там что-то другое.
Цитата |
МУС. Ты знаешь где находятся границы этих блоков? Значит шанс есть? ПОлучается, что секундаж песен должен быть как у оригинальных? Спасибо. |
Вот тут есть оригиналы доков Валерия Анисимовского (к сожалению, здесь, на Extractor.ru, почему-то не все):
http://www.wotsit.or...asp?fc=9&page=2
Там же по .MUS и другие его документы есть - про .ASF, например.
Читаем и разбираемся - этой документации более, чем достаточно.
http://www.wotsit.or...asp?fc=9&page=2
Там же по .MUS и другие его документы есть - про .ASF, например.
Читаем и разбираемся - этой документации более, чем достаточно.
#9
Отправлено 24 March 2009 - 12:44
-=CHE@TER=- !
1. Спрашивал, никто не хочет браться за это.
Я, в общем, исследовал бин. Я пробовал заменять текстуры с дхт1 на дхт5 через хекс и вполне удачно! Но это очень геморно. Хочу спросить: можно как-нибудь это автоматизировать? Этот бин фактически контейнер, только добавлены некоторые блоки и заголовки ддс слегка перемешаны. Но четкие границы есть. Есть какая-нибудь утилита, которая позволит мне это автоматизировать? Или нужно программировать свою? в программировании я нуб(.
2. На биг я временно забил, сейчас меня волнуют первый пункт и MUS.
Спасибо за ссылку. Сейчас буду разбираться .
1. Спрашивал, никто не хочет браться за это.
Я, в общем, исследовал бин. Я пробовал заменять текстуры с дхт1 на дхт5 через хекс и вполне удачно! Но это очень геморно. Хочу спросить: можно как-нибудь это автоматизировать? Этот бин фактически контейнер, только добавлены некоторые блоки и заголовки ддс слегка перемешаны. Но четкие границы есть. Есть какая-нибудь утилита, которая позволит мне это автоматизировать? Или нужно программировать свою? в программировании я нуб(.
2. На биг я временно забил, сейчас меня волнуют первый пункт и MUS.
Спасибо за ссылку. Сейчас буду разбираться .
#10
Отправлено 24 March 2009 - 21:47
Marshall_J!
Скорее всего тебе придётся писать утилиту самому.
Разбирай .BIN формат до конца (см. ссылки на статьи выше о том как это делается) и делай свой простенький упаковщик / распаковщик.
"If you wanna job done right - you gotta do it yourself." ©
Скорее всего тебе придётся писать утилиту самому.
Разбирай .BIN формат до конца (см. ссылки на статьи выше о том как это делается) и делай свой простенький упаковщик / распаковщик.
"If you wanna job done right - you gotta do it yourself." ©
#11
Отправлено 25 March 2009 - 16:53
-=CHE@TER=-!
А есть исходники похожей программы? На примере легче делать, чем с нуля.
Спасибо за помощь.
А есть исходники похожей программы? На примере легче делать, чем с нуля.
Спасибо за помощь.
#12
Отправлено 26 March 2009 - 08:16
Marshall_J!
Не понял, что значит "похожей"?
Которая работала с .BIN'ами что-ли?
Может и есть, но я такой не знаю.
Зато есть много других исходных кодов, как здесь, на Extractor.ru, так и на CTPAX-X.org - берёшь любую программу с исходными кодами и смотришь, какая больше понравится.
Плюс в двух из упомянутых последних ссылок были программы с комментариями как на Си так и на Delphi.
Если непонятно, что делает какая-то команда в программе - справка по тому или иному языку программирования с Google.com в помощь.
Не понял, что значит "похожей"?
Которая работала с .BIN'ами что-ли?
Может и есть, но я такой не знаю.
Зато есть много других исходных кодов, как здесь, на Extractor.ru, так и на CTPAX-X.org - берёшь любую программу с исходными кодами и смотришь, какая больше понравится.
Плюс в двух из упомянутых последних ссылок были программы с комментариями как на Си так и на Delphi.
Если непонятно, что делает какая-то команда в программе - справка по тому или иному языку программирования с Google.com в помощь.
#13
Отправлено 26 March 2009 - 11:56
Мне нравится твой оптимизм!
Говори, что тебе нужно - я те напрагаммлю)
Говори, что тебе нужно - я те напрагаммлю)
#14
Отправлено 28 March 2009 - 04:27
-=CHE@TER=-Спасибо тебе еще раз!буду искать.
Sash
Sash
Цитата |
Мне нравится твой оптимизм! Говори, что тебе нужно - я те напрагаммлю) |
Ууух ты!!!Класс!!!
В общем нужна прога которая автоматизирует хекс изменения. Напиши свое мыло здесь или в личку, я тебе пришлю полное исследование и пару текстурок и сгенерированный бин. Спасибо тебе!!
По *.MUS. Я скачал пару прог для этого формата. EAmusplayer - который может "проигрывать" музыку. В кавычках, потому что она явно не доработана. Может экспортировать по одному куску на винт. В принципе, для исследования пойдет. Также скачал SoundExchange. Может конвертировать wav в формат который MUS напичкан. Я уже обрадовался, но тут-то было. Для удачной сборки MUS нужны песни с таким же битрейтом и секундажем . Битрейт не проблема, а секундаж...
Начал опять исследования - оказалось что за секундаж отвечает рядом находящияся файл с разширением *.mpf. Вот тут полный мздец - вообще ничего не понятно, что в этом файле. То есть, как его редактировать я вообще не знаю.
Есть мысли?
В общем нужна прога которая автоматизирует хекс изменения. Напиши свое мыло здесь или в личку, я тебе пришлю полное исследование и пару текстурок и сгенерированный бин. Спасибо тебе!!
По *.MUS. Я скачал пару прог для этого формата. EAmusplayer - который может "проигрывать" музыку. В кавычках, потому что она явно не доработана. Может экспортировать по одному куску на винт. В принципе, для исследования пойдет. Также скачал SoundExchange. Может конвертировать wav в формат который MUS напичкан. Я уже обрадовался, но тут-то было. Для удачной сборки MUS нужны песни с таким же битрейтом и секундажем . Битрейт не проблема, а секундаж...
Начал опять исследования - оказалось что за секундаж отвечает рядом находящияся файл с разширением *.mpf. Вот тут полный мздец - вообще ничего не понятно, что в этом файле. То есть, как его редактировать я вообще не знаю.
Есть мысли?
#15
Отправлено 28 March 2009 - 07:41
EAmusplayer ?
Забавно), но мне удобнее проводить исследования по исходникам этой программы, ведь это я её написАл)
Забавно), но мне удобнее проводить исследования по исходникам этой программы, ведь это я её написАл)
#16
Отправлено 28 March 2009 - 16:36
Sash
Цитата |
EAmusplayer ? Забавно), но мне удобнее проводить исследования по исходникам этой программы, ведь это я её написАл) |
Че серьезно что ли? Офигеть! Какое совпадение!!!Прикольно!
А ты сможешь ее доделать, чтоб она могла экспортировать музыку извне? Хотя бы, чтоб заменялся, если куски оригинальные и мои одинаковые по размерам?Я в масштабах работы не шарю, может я что-то невозможное попросил.
Тебе скоро письмо пришлю, там очень много описать надо. Есть NFSMW?
Кстати, о EAmusplayer, я не мог его в сети найти, мне об этой проге один чел скачал, потом он же ее и подогнал).
#17
Отправлено 23 April 2009 - 14:42
Кто-нибудь сможет помочь выдернуть текстуры из BurnOut paradise?