Разработка и ромхакинг > Ромхакинг и программирование
[SMD] хакинг Dune: The Battle for Arrakis
<< < (350/447) > >>
SeregaZ:
хы... давайте рассмотрим бюджетный вариант фразы (который без Ti_) - фразы общей для всех домов.

попробуем сделать пока английский вариант.

заходим в гугл транслейтер и вбиваем фразу типа:
Congratulations! you are a new Emperor of Dune! и жмем кнопку динамика - женский голос произносит эту фразу :) мне бы конечно хотелось бы больше выражения на слове Дююн, ну уж как есть.

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

финальная музыка это 018 или 018_rus - у кого русская дорожка. копируем в неё наш записанный сэмпл. (я назвал его sample_16.snd - так как последний сэмпл sample_15.snd в этой папке.)

теперь надо для него создать информационный файл - для чего копируем sample_15.sfx и переименовываем копию в sample_16.sfx. открываем этот sample_16.sfx, и меняем в первой строчке
RAW 'sample_15.snd' на строчку RAW 'sample_16.snd'
FLAGS =$45 - так и должно быть $45 все правильно
FIRST =$0370 - размер файла сэмпла в хекс. у меня размер файла был 40800 байт, то есть $9F60 (тут важная ремарка - сэмпл не может быть больше, чем $FFFF - то есть 65535. если у вас все-же больше придется резать его на два или три или стописят восемь частей по 65535)

итааак... сэмпл готов, информационный файл готов, теперь его надо зарегистрировать. открываем файл 018.cfg и в конце дописываем sample sample_16,'sample_16.sfx'

теперь нам нужно его добавить уже в саму песню - открываем 018.code. того звука соник танка, при котором происходит закрашивание планеты в нем нет. будем ориентироваться в слепую :) если послушать эту мелодию в конце игры, то этот писк закрашивания планеты происходит практически в самом начале мелодии. примерно на 2 целой ноте может на третьей... как бы это объяснить то? говорила мама иди в музыкальную школу... не послушал... ну кароче! в начале, чтоб не портить дорожки - мы просто добавим свою отдельную:

--- Цитата --- SECTION HEADER
 dc.b 6
 dc.t channel_0
 dc.t channel_1
 dc.t channel_2
 dc.t channel_3
 dc.t channel_4
 dc.t channel_5
--- Конец цитаты ---

и добавляем в конец файла эту самую пятую (точнее шестую) дорожку:

--- Цитата ---channel_5:
 delay 0
 nop
 samplerate 4
 volume 0
 delay 48
 pitch $0000
 delay 0
 patch patch_63
 duration 10
 delay 10
 note sample_16
 delay 0
 eos
--- Конец цитаты ---
выделенная 48 это пауза перед фразой. можно увеличить, чтоб прозвучала чуть позже скажем.

Добавлено позже:
для более русского звучания текст видимо надо будет писать с пробелами в некоторых местах:

--- Цитата ---поздравляем! вы новый импе ратор Дю ны!
--- Конец цитаты ---
M3tro ™:
Решил запилить апдэйт своего хака.


Что изменилось относительно версии r79b:
+Исправлены ттх HoverTank, уменьшен урон, увеличена скорость движения.
+3начительно увеличена скорострельность пехоты.
+Нормальные подлинные иконки для корринских сардаукаров.
+В разы усиленны миссии за все Дома, особенно с союзником.
+Увеличена цена и броня `Thopter.
+Новый титульный экран (и лого Westwood).
+Новый экран выбора Домов.
+Исправлены ттх Diversionist.
+3начительно повышена точность Death Hand (99%) и перезарядка Дворцов с ней.
+Немного увеличены перезарядки остальных оружий Домов.
+Другие уровни угроз для юнитов.
+Подпилен ландшафт на некоторых картах.
+Новый звук выстрела для лёгкой пехоты.
+Улучшена графика Tank Factory.
+Новый звук для Flanker.
+Новая графика для Tank, Siege Tank, Harvester, HoverTank и Deviator.
+Подпилен ментат у Fremen.
+У лёгкой техники дальность атаки как у Tank.
+Песчаный цвет планеты в концовке кампании Fremen.
+Улучшен спрайт MCV.
+Другая новая музыка.
+Повышена точность GRocket.
+Уменьшена броня Deviator.
+Труперы начинают стрелять из базук через 3 клетки, а не через 2.
+Мелкие правки в тексте.
Скачать новый ром можно → отсюда. Также и с сайта https://razor-missions.16mb.com/russian.html ;).
Почитать подробности всё там же :).
Animamundi:
SeregaZ, нет нет и нет, всё я делал по твоей инструкции. У меня в папке просто нет никаких сэмплов_.snd, там есть некий "звук AU". Конвертированные сэмплы с отрезанными байтами больше не читаются обычным проигрывателем (cannot render the file) и считаются звуком в формате .wav, смотри скрин выше. Я использую англ. озвучку вместо русской, но независимо от папки game_gems_combine ничего не делает, на титульнике по-прежнему играет "Dune: the battle for Arrakis"

Может, надо было не вырезать, а обнулить байты? =-=

_________

Ладно, я понял, что au и smd это одно и то же. Всё равно звук из wav в него не перевести никак.
_________

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

Animamundi:
В общем, всё. Есть оригинал, есть полученная восьмибитка, есть с обоими вариантами удаления байтов. Я не знаю, что с этим ещё сделать. Конвертеров в SMD/AU нет нигде. В общем, целый день потратил на то, что сам SeregaZ мог сделать в два клика, и ничего не добился.
SeregaZ:
ты чот не так делаешь видимо... ты же как-то смог в своем редакторе подогнать под длительности свой сэмпл? точнее разрезав его на два? так что тебе мешает еще помимо подгонки взять и сохранить в этом самом редакторе в формате моно, 8 бит и частотой 11025?

44 байта надо именно отрезать. обнулить не поможет. и естесно что всякие винампы да медиаплейеры больше проигрывать не могут эти файлы - эти 44 байта это ж шапка главная, которая собстна и сообщает проигрывателю что он должен проигрывать. после надо переименовать эти обрезанные wav в snd, и засунуть вместо оригинальных в той папке с песней.

если игра продолжает играть оригинал - значит ты или не в той папке сделал эти изменения, или забыл запустить game_gems_combine.bat, а потом Build_new_rom.bat и потом уже в эмуляторе запускать DuneHack_r80b_NEW.bin. может быть ты в эмуляторе не тот файл запускаешь? например DuneHack_r80b.bin - а там то понятно что оригинал фразы, а не наши измененные.

так-же я вроде чото припоминаю что надо где-то было указать что использовать новый движок... надо глянуть где это я делал...
так GEMS.asm файл, там строчка NEW_MUSIC equ 1   ; 0-старая музыка и движок, 1-новая

Добавлено позже:
а... тьфу! это же мелодия вначале :))) она собирается intro_gems_combine.bat
Animamundi:

--- Цитата: SeregaZ от 13 Ноябрь 2015, 17:04:55 ---ты чот не так делаешь видимо... ты же как-то смог в своем редакторе подогнать под длительности свой сэмпл? точнее разрезав его на два? так что тебе мешает еще помимо подгонки взять и сохранить в этом самом редакторе в формате моно, 8 бит и частотой 11025?

44 байта надо именно отрезать. обнулить не поможет. и естесно что всякие винампы да медиаплейеры больше проигрывать не могут эти файлы - эти 44 байта это ж шапка главная, которая собстна и сообщает проигрывателю что он должен проигрывать. после надо переименовать эти обрезанные wav в snd, и засунуть вместо оригинальных в той папке с песней.

если игра продолжает играть оригинал - значит ты или не в той папке сделал эти изменения, или забыл запустить game_gems_combine.bat, а потом Build_new_rom.bat и потом уже в эмуляторе запускать DuneHack_r80b_NEW.bin. может быть ты в эмуляторе не тот файл запускаешь? например DuneHack_r80b.bin - а там то понятно что оригинал фразы, а не наши измененные.

так-же я вроде чото припоминаю что надо где-то было указать что использовать новый движок... надо глянуть где это я делал...
так GEMS.asm файл, там строчка NEW_MUSIC equ 1   ; 0-старая музыка и движок, 1-новая

Добавлено позже:
а... тьфу! это же мелодия вначале :))) она собирается intro_gems_combine.bat

--- Конец цитаты ---

Хорошо. Рассказываю всё по-порядку:
Чтобы разрезать сэмпл на два подходящих по длине, положил свой сэмпл параллельно оригинальных двух на разные дорожки и разделил инструментом split, потом сохранил каждый полученный кусок. Конвертировал простым конвертером в wav. Переименование файла даёт новый файл с именем sample_00.smd.wav. Возможно, поможет смена со "включенными расширениями", но я не помню, где включить эту настройку.

Добавлено позже:
О да, проканало. Правда, не особо ровно подставилось, но я немного успокоился.


Результат:

С ошибкой, что надо intro комбинить, это конечно ты меня сильно подставил  :lol:

И вообще, давай подключайся к нам в конфу в ВК, там мы быстро кооперируемся, а то такие вопросы на форуме очень тяжело решать.
M3tro добавит, ну или я *тык*.
SeregaZ:
эм... а я тож не знаю где в виндовсах выше хп включается расширение... через винрар может? там вроде показывает расширение, значит должно дать и переименоваться.
Animamundi:
Да я уже всё нашёл. Теперь будем думать, как подогнать время звучания. Слово "Снова" можно вообще удалить из дорожки, если придётся.
M3tro ™:
У меня экспи, и мне очень удобно насчёт этого. У друга 7ка стоит, но формат переименовывать можно, значит есть 7ки нормальные :lol:.

А вообще по делу, мне б найти фразу "хаус коррино" готовую где, а то микрофона нету, ы, сам бы записал. А потом уж я конвертану куда надо :D.
SeregaZ:
в переводчик в гугле вбей и нажми динамик. там женский голос будет произносить эту фразу.
M3tro ™:

--- Цитата: SeregaZ от 13 Ноябрь 2015, 18:07:34 ---в переводчик в гугле вбей и нажми динамик. там женский голос будет произносить эту фразу.

--- Конец цитаты ---
Да если б у меня тырнет робил на компе :D, я бы и сам может в поиски подался или записал бы в переводчике на крайняк, просто мне интересно, Ti_ же где-то взял для трёх Домов, возможно сайт какой есть, а возможно из дос-версии или Амиги взял…
SeregaZ:
я ж написал - это дюна вторая на компе которая трехмерная после дюне 2000 на 4 дисках. там только три дома, не было там ни фрименов ни корринов... (хотя наверное третья! первая для дос еще была, потом 2000 и потом эта)
http://rutor.org/torrent/293785/emperor-battle-for-dune-2001-pc-repack-ot-r.g-catalyst
и фраза там не просто фраза, а прям текст идет: типа дом ордосов с планеты бла бла бла имеет бла бла бла... типа краткое описание дома.
M3tro ™:

--- Цитата: SeregaZ от 13 Ноябрь 2015, 18:30:27 ---я ж написал - это дюна вторая на компе которая трехмерная после дюне 2000 на 4 дисках. там только три дома, не было там ни фрименов ни корринов... (хотя наверное третья! первая для дос еще была, потом 2000 и потом эта)
http://rutor.org/torrent/293785/emperor-battle-for-dune-2001-pc-repack-ot-r.g-catalyst
и фраза там не просто фраза, а прям текст идет: типа дом ордосов с планеты бла бла бла имеет бла бла бла... типа краткое описание дома.

--- Конец цитаты ---
A, про Emperor: Battle For Dune я знаю)), у меня есть она. Я видимо чё-то не сразу понял про 4 диска>_<, я-то думал это типа "готовые" такие фразы были, а их оказывается вырезали, оказалось-показалось :D, ну тогда не видать мне никаких корринов до тех пор пока не намучу микрофон или интернет :lol:.
Animamundi:
Спс за инфу насчёт значений файла sfx. После замены значений FIRST на нужные получилось вот что


Теперь видно, что длительность всё-таки не подходит и надо сжимать. Но теперь я точно сумею сделать это самостоятельно.
Благодарю за науку.  ;)
SeregaZ:
можно конечно, чтоб не парится, попытаться в один сэмпл все уместить, но тогда понадобится корректировка в самой дорожке - иначе собьется:

--- Код: --- delay 0
 patch patch_28
 duration 24
 delay 24
 note sample_00
 delay 0
 patch patch_29
 duration 48
 delay 48
 note sample_01
 delay 0
--- Конец кода ---
вот из этого фрагмента можно выкинуть второй сэмпл и увеличить время проигрывания первого сэмпла:

--- Код: --- delay 0
 patch patch_28
 duration 72
 delay 72
 note sample_00
 delay 0
--- Конец кода ---
тогда не будет нужды разрезать на два. уже попроще подогнать будет... ну и еще у тебя походу американские настройки эмулятора - нтсц, то есть играет очень быстро. в европейском - PAL - будет играть чуть медленнее.

Добавлено позже:
оказывается в переводчике гугла только женский голос. по идее объявлять название то надо голосом ментата, то есть если фремены - девушка, остальные мужики. и поисковик выдал шикааааарнейший сайт :) и русский, и английский - причем английский пендоский и английский мелкобританский и английский австралопитеков - на выбор куча :) и мужской и женский... да еще и всякие эффекты худобедно типа эхо можно настроить. так что можно неплохо развернутся :)
http://www.oddcast.com/home/demos/tts/tts_example.php?sitepal
Ti_:

--- Цитата: SeregaZ от 12 Ноябрь 2015, 15:45:01 ---теперь:
1. открыть в блокноте sample_14.sfx
проверить в нем, чтоб значение FLAGS =$45 было именно $45 - чтоб звучало как записано в 10 тысяч частоты, иначе будет или пискляво или грубым слоу-голосом.

--- Конец цитаты ---
Вообще-то у matre.snd, которые я добавлял семплрейт около 8000 Hz,  в отличии от остальной дюновской озвучки у которой около 11000 рейт.
И прописано это в *.ins файле.  (DAC 7 ).      ( В оригинальных DAC 4 ).
А flags одинаковые $45 .


SeregaZ:
да остальная озвучка тоже не одного стандарта - предсмертный крик пехоты или крик червяка "ааам" - тоже разные. вот по идее этот $45 за это дело и отвечает. точнее вторая пятерка. 5 - 10653 и до 10 до $4A - A это 5326. а вот первая цифра - четверка - черт знает за что отвечает.

а насчет файла ins - я думал там только может быть 4. оно или не оно припоминаю что что-то у шелла в статье написано:

--- Цитата ---|??????ss| - DAC Sample Rate (в значениях GEMS) Значение 4 - зарезервировано, означает - брать Sample Rate из описания в банке DAC
--- Конец цитаты ---
Ti_:
Вот вроде это частоты из офф дока:

--- Код: ---Opcode: Sample Playback Rate
Fields: Default/10.4/8.7/7.3/6.5/5.8/5.2
MIDI equivalent: MIDI Controller #71 = 4/5/6/7/8/9/10
Library routine:
Notes: Reset to default by program change
--- Конец кода ---
SeregaZ:
походу скоро ктонить матерный хак сделает с такими то возможностями :)))))
Ti_:
По юнитам: explode on death  не работает,  ну по сути там скрипты выполняются.  В ПК-версии там анимация взрыва из скрипта идёт.  А тут спрайт с анимацией взрыва это отдельная вещь. 
Но можно пробовать менять этот параметр, тогда пропадет задержка перед удалением юнита (влияет на пушки например когда они продолжают стрелять, в уже взорвавшийся танк).

Sand impact работает, но на оружие.  Если для bullet прописать 1, то будет большой взрыв как от ракеты, если пуля в песок попадает, на котором нет юнита.    У Grocket уже 1 прописано, но у launcher'а разницы не заметно - потому что взрыв у него такой же, но вот звук отличается.

Is_unaccurate -  это тоже свойств оружия, а не юнита (и только ракет), влияет на точность.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии