Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Раскопки обжа на предмет юзабельных вещей | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 5
На страницу: 1, 2, 3, 4, 5  След. | Все страницы
Поиск в этой теме:
Канал X-Tension/X-BTF: «Раскопки обжа на предмет юзабельных вещей»
Non
 802 EGP


Модератор
Рейтинг канала: 6(383)
Репутация: 239
Сообщения: 801

Зарегистрирован: 27.06.2006
Вместо бесполезной воды, собственно, раскопки. Улыбка

Чего уже накопано полезного?

- Старт в случайном секторе
- Старт в фиксированном секторе
- Старт со случайным кораблём среди расовых М4-М5
- Старт на шаттле
- Отключение "цель в зоне поражения" и "цель покинула зону поражения"
- Отключение случайного уничтожения оборудования в бою
- Отключение захвата
- Максимальные апгрейды скорости/поворота для NPC
- Средние апгрейды скорости/поворота для NPC
- Ксенонское безумие
- Пиратское безумие
- Отключение задержки в управлении при открытии / закрытии меню
- Отключение античит защиты
- Оставить только сету на старте
- Задать определенное количество денег на старте
- Турбо двигатель для шаттла с тряской кокпита

Совместимо с сейвами

Как использовать?

Скачать архив xt-obj-patching и смотреть readme.html внутри. Улыбка

Составлять патчи, базируясь на дизассемблированном обже гораздо удобнее с архивом ниже (свой убрал).

Очень важное вложение от Shaddie, содержащее транслированный XASM->XC код XT обжа. Доступны не все процедуры, но в качестве справки для составления своих патчей на XC крайне полезно.

Супер важный пост от CheckerTwo, описывающий принцип работы обж файла (в курсе, что это не совсем корректное описание). После него очень многие вещи про XASM модификацию становятся значительно понятнее. Улыбка

xt-obj-patching.7z
 Описание:
Среда для ковыряния обжа XT с использованием транслятора XC->XASM
Версия 4 от 27 апреля 2019
 Имя файла:  xt-obj-patching.7z
 Размер файла:  210.46 KB
 Скачано:  847 раз(а)


Последний раз редактировалось: Non (15:16 06-05-2019), всего редактировалось 32 раз(а)
    Добавлено: 16:35 08-03-2015   
KWON
 408 EGP


Рейтинг канала: 8(857)
Репутация: -10
Сообщения: 171
Откуда: Україна. Чигирин.
Зарегистрирован: 24.11.2014
Я ковыряю в таком виде (мне так удобнее):

Результаты здесь -
https://www.elite-games.ru/conference/viewtopic.php?p=3234217#3234217

001.7z
 Описание:
Розобрано на запчасти.
 Имя файла:  001.7z
 Размер файла:  3.12 MB
 Скачано:  953 раз(а)


Последний раз редактировалось: KWON (16:43 27-08-2019), всего редактировалось 1 раз
    Добавлено: 16:30 09-03-2015   
KWON
 408 EGP


Рейтинг канала: 8(857)
Репутация: -10
Сообщения: 171
Откуда: Україна. Чигирин.
Зарегистрирован: 24.11.2014
Вот и первый результат (Спасибо помогшим разобраться - Non и Shaddie).

Усиленная мина. Если в Х2 она сбивала 10000 мв,
то я решил все удвоить (и по аналогии из Х2)
сделал мину на 20 000 МВ. Думаю теперь слова "Вери дистрактив майн" начнут себя оправдывать.
Пробуйте, тестируйте, но на Ксенонский крейсер нужно их многовато, да и щит быстро восстанавливает, гад.

Еще бы заставить пир. корабли (которые возят мины постоянно)
разбрасывать их при нападении, по аналогии из боевыми дронами.

Оригинал кода ХТ в разделе 2066-TMINE.txt:
 Cкрытый текст   (кликните здесь для просмотра)

; procedure TMINE.___blowUp
001617B0: 0001 1388 | 5 pushw 5000d ; 1388h
001617B4: 0001 1324 | 6 pushw 4900d ; 1324h
001617B8: 0005 0004 | 7 push SP[3] ; loc4
001617BC: 0001 00DE | 8 pushw 222d ; 0DEh
001617C0: 0041 | 9 div SP[0],SP[1]
001617C2: 0040 | 8 mul SP[0],SP[1]
001617C4: 0001 0514 | 7 pushw 1300d ; 0514h

Оригинал кода Х2 в разделе 2066-TMINE.txt:
 Cкрытый текст   (кликните здесь для просмотра)

; procedure TMINE.___blowUp
0012AFA2: 0001 2EE0 | 6 pushw 12000d ; 2EE0h
0012AFA6: 0001 2E7C | 7 pushw 11900d ; 2E7Ch
0012AFAA: 0005 0004 | 8 push SP[3] ; loc5
0012AFAE: 0001 00DE | 9 pushw 222d ; 0DEh
0012AFB2: 0041 | 10 div SP[0],SP[1]
0012AFB4: 0040 | 9 mul SP[0],SP[1]
0012AFB6: 0001 09C4 | 8 pushw 2500d ; 09C4h


Поделитесь впечатлениями на счет работоспособности.
Вот пример обсуждения оригинальной мины:
http://www.elite-games.ru/conference/viewtopic.php?t=12410

Mina.7z
 Описание:
Немного усиленная мина.
 Имя файла:  Mina.7z
 Размер файла:  3.41 KB
 Скачано:  731 раз(а)


Последний раз редактировалось: KWON (16:42 27-08-2019), всего редактировалось 1 раз
    Добавлено: 02:30 10-03-2015   
Non
 802 EGP


Модератор
Рейтинг канала: 6(383)
Репутация: 239
Сообщения: 801

Зарегистрирован: 27.06.2006
Чтобы изменения обжа по части мин вступили в силу нужно начать новую игру? Подозрение.
Надо тогда в редакторе карт накидать корабль с полным трюмом мин и прочей всячины для тестов.
    Добавлено: 17:54 16-03-2015   
KWON
 408 EGP


Рейтинг канала: 8(857)
Репутация: -10
Сообщения: 171
Откуда: Україна. Чигирин.
Зарегистрирован: 24.11.2014
Я, приблизительно, так и делал.
Редактором карт ставил, близенько, аргонскую минницу, включал режим отладки, для денег, добавлял в глубине сектора сильного, но медленного Ксенон М1 и над ним издевался.

Но суть вопроса: как человекам, интересны такие вещи, если да, то щаслив быть полезным.
    Добавлено: 19:41 16-03-2015   
AlexYar
 1846 EGP


Рейтинг канала: 6(304)
Репутация: 328
Сообщения: 31404

Зарегистрирован: 26.10.2003
Если бы ты ксенонов научил мины скидывать, которые бы дамажили только собственность игрока - тогда было бы интересно Улыбка

А так, игрок и без мин сильнее всех. А усиление мин сделает его ещё сильнее (что по сути чит).
    Добавлено: 19:44 16-03-2015   
Non
 802 EGP


Модератор
Рейтинг канала: 6(383)
Репутация: 239
Сообщения: 801

Зарегистрирован: 27.06.2006
Kwon. :
Но суть вопроса: как человекам, интересны такие вещи, если да, то щаслив быть полезным.

Когда есть какие-то готовые штуки, то их можно потом применить в каком-то проекте. В том же XTNL.
Цель темы как раз в сборе подобных штук. Улыбка
Я летаю сейчас в XT, т.ч. если что накопаю - сюда тоже выложу.
Спасибо за ресерч. Улыбка
Надо замутить обж с картой для обкатки и с ним линковать эти патчи.
    Добавлено: 20:12 16-03-2015   
KWON
 408 EGP


Рейтинг канала: 8(857)
Репутация: -10
Сообщения: 171
Откуда: Україна. Чигирин.
Зарегистрирован: 24.11.2014
Замечание AlexYar очень актуальное, но сам решить не в силах. (Давайте гуртом, пожалуйста!)
Предложить могу алгоритм:
Есть процедура заставляющая кораблей при нападении выбрасывать дронов:
"; procedure TSHIP.TestAndLaunchFightDrones(arg1);" находится в - 2004-TSHIP.txt
Думаю нужно найти эту (такую же) процедуру специально для пиратских кораблей,
(которые постоянно занимаются перевозками мин)
и когда они выбрасывают дроны (2067) заменить на мины (2066).
Казалось-бы просто 67 заменить на 66, но где?
    Добавлено: 21:41 16-03-2015   
AlexYar
 1846 EGP


Рейтинг канала: 6(304)
Репутация: 328
Сообщения: 31404

Зарегистрирован: 26.10.2003
Надо и таймер тогда минам добавлять, чтобы через время самоликвидировались, как дроны. Иначе мигом загадят (заминят) всю вселенную Улыбка

Kwon. :
Казалось-бы просто 67 заменить на 66, но где?


Ну, для пробы можно прямо в момент выброса дронов. Т.е. заменить там new(2067) на new(2066). И там вроде команда ещё даётся дронам на атаку, её заменить на команду минам "на взвод".
    Добавлено: 23:58 16-03-2015   
Non
 802 EGP


Модератор
Рейтинг канала: 6(383)
Репутация: 239
Сообщения: 801

Зарегистрирован: 27.06.2006
AlexYar :
Надо и таймер тогда минам добавлять, чтобы через время самоликвидировались, как дроны. Иначе мигом загадят (заминят) всю вселенную

Может просто радиус детонирования поднять? Улыбка
Неписи кстати в игре скидывают дронов друг на друга? Или только на игрока?
Если на игрока - верный бабах с бОльшим радиусом детонирования. Улыбка

Я себе плохо представляю расширение функционала мины до самодетонирования по таймеру. Тут поидее без нормального написания функций на высокоуровневом языке не обойтись.

Еще интересно, можно ли писать какие-то простенькие функции на XC как для Х2/Х3, потом конвертить их в asm, причесывать и линковать с обжем XT?
Или может даже не линковать, а динамически подключать.. Подозрение.
Пока не смотрел, в чем конкретно разница результатов конвертации ASM->XC для XT/X2.

Еще есть выдержка из БД по ХТ
Цитата:
-location — Подключение обьектных файлов с квестами

Память мне подсказывает, что Kwon писал о возможности подключать доп. патчи. По дефолту их там два: 001 и 002.

Последний раз редактировалось: Non (01:53 17-03-2015), всего редактировалось 1 раз
    Добавлено: 01:46 17-03-2015   
KWON
 408 EGP


Рейтинг канала: 8(857)
Репутация: -10
Сообщения: 171
Откуда: Україна. Чигирин.
Зарегистрирован: 24.11.2014
yakim81 :
Пожелание, скорее, чем что либо другое. Сделать озвучку под мод, с названием секторов, с описанием товаров, фабрик, кораблей, много другого... Квестов, что бы квест не только читался, но и дублировался голосом. Можно такое сделать?


Как озвучить миссии.

Нужно иметь большое терпение и усидчивость поскольку это требует продолжительной работы.
А людей в разделе ХТ мало (нет контенгента для старания), поэтому раскажу как самому сделать.

1. Скачать дизасемблированый обж из первого моего сообщения этой темы.

2. Скачать файл звуковой разметки.
Там есть озвучка из бэтээф начиная из диалогов Гонеров.

3. Выбрать интересующую миссию (от 4002-TQUEST_002_COMPLEX_FIGHTING.txt до 4113-TQUEST_113_PERSEUS_MISSION.txt).

4. Потом сравнивая текст выбранной миссии в файле игры 44001 с диалогами в файле звуковой разметки, которые начинаются с 8-ки, находите пошожие фразы.

5. Далее гексредактором по адресам миссии меняете цифру текстовых описаний.

Например. Миссия Персея.
В файле 44101 есть такая строка:
6011358 "Приветствую Вас, сын мой. Вы уже нашли астероид?"
В звуках находите сходное:
<t id="803030" s="18661528" l="3463"/>"Добро пожаловать обратно к нам, сын мой. Ты нашел астероид?"

Теперь в текстовом файле 44101 меняете 6011358 на 803030 и вносите гексредактором эти изменения в обж.

Где искать? Задаете в поиск в файле 4113-TQUEST_113_PERSEUS_MISSION.txt цифру 6011358.
Получаете такой ответ:

001A6C0C: 0002 005BB9DE | 5 pushd 6011358d ; 005BB9DEh
001A6C12: 000A | 6 push 1
001A6C14: 005A 000002FD | 7 callasm SE_ReadText ; 000002FD

И по адресу 001A6C0C производите замену.
Что для этого нужно. Калькулятор виндовса переводите в инженерный вид.
Пишете 803030, нажимаете "Гекс", получаем C40D6.
В обж запишем так:
001A6C0C: 0002 000C40D6

Одно предложение есть Улыбка .

Проблема в том, как это проверить.
Я недавно обращался к Хвале с просьбой насильного запуска миссий, но меня отправили в Егософт, а кто там с неизвестным будет разговаривать.
Поэтому я сию идею отложил.

Upgr
 Cкрытый текст   (кликните здесь для просмотра)

В обжэ прописаны не все миссии, которые есть в текстовых файлах, а только эти:

4002 = "QUEST_002_COMPLEX_FIGHTING" 6000200 "Комплексная боевая миссия"
4003 = "QUEST_003_SICK_PRINCESS" 6000300 "Больная принцесса"
4004 = "QUEST_004_DELIVER_THE_PACKAGE" 6000400 "Доставка багажа"
4005 = "QUEST_005_FREIGHTER_CRASHING_INTO_ASTEROID" 6000500 "Грузовое судно и астероид"
4006 = "QUEST_006_GENERIC_ASSASSINATION_MISSION" 6000600 "Общая миссия уничтожения"
4018 = "QUEST_018_DOCKING_RACE_BET" 6001800 "Пари на стыковочных гонках"
4021 = "QUEST_021_LITTLE_SIEGE" 6002100 "Небольшая осада"
4025 = "QUEST_025_SAKRA_SYNDICATE_PART_1" 6002500 "Сакра синдикат часть 1"
4026 = "QUEST_026_SAKRA_SYNDICATE_PART_2" 6002600 "Сакра синдикат часть 2"
4027 = "QUEST_027_SAKRA_SYNDICATE_PART_3_1" 6002700 "Сакра синдикат часть 3-1"
4028 = "QUEST_028_SAKRA_SYNDICATE_PART_3_2" 6002800 "Сакра синдикат часть 3-2"
4029 = "QUEST_029_SAKRA_SYNDICATE_PART_3_3" 6002900 "Сакра синдикат часть 3-3"
4034 = "QUEST_034_PHOTOGRAPH_MISSION" 6003400 "Миссия фотографирования"
4036 = "QUEST_036_CAMPAIGNS_VS_HOSTILE_PLAYER" 6003600 "Кампании против вражеских игроков"
4040 = "QUEST_040_STOERTEBEKER_I" 6004000 "Стоертебекер I - начало"
4041 = "QUEST_041_STOERTEBEKER_II_B" 6004100 "Стоертебекер II-B"
4042 = "QUEST_042_STOERTEBEKER_III_B" 6004200 "Стоертебекер III-B"
4043 = "QUEST_043_STOERTEBEKER_IV_B" 6004300 "Стоертебекер IV-B"
4044 = "QUEST_044_STOERTEBEKER_V_B" 6004400 "Стоертебекер V-B"
4045 = "QUEST_045_STOERTEBEKER_II_P" 6004500 "Стоертебекер II-P"
4046 = "QUEST_046_STOERTEBEKER_III_P" 6004600 "Стоертебекер III-P"
4047 = "QUEST_047_STOERTEBEKER_IV_P" 6004700 "Стоертебекер IV-P"
4048 = "QUEST_048_STOERTEBEKER_V_P" 6004800 "Стоертебекер V-P"
4049 = "QUEST_049_PASSENGER_TRANSPORT" 6004900 "Пассажирский транспорт"
4060 = "QUEST_060_VIRUS_INFECTED_BASE_1" 6006000 "Инфицированная вирусом база 1"
4062 = "QUEST_062_INDUSTRIAL_SABOTAGE_PART_1" 6006200 "Промышленная диверсия - часть 1"
4063 = "QUEST_063_INDUSTRIAL_SABOTAGE_PART_2" 6006300 "Промышленная диверсия - часть 2"
4066 = "QUEST_066_VIRUS_INFECTED_BASE_2" 6006600 "Зараженная вирусом база 2"
4068 = "QUEST_068_STRIKE_AGAINST_SOMEONES_COMPENTITOR" 6006800 "Удар против некоего противника"
4069 = "QUEST_069_STOP_TELADI_SMUGGLER" 6006900 "Остановить теладианских контрабандистов"
4075 = "QUEST_075_ACTION_SHOW" 6007500 "Шоу Гладиатор"
4079 = "QUEST_079_PIRAT_MISSION" 6007900 "Пиратская миссия"
4080 = "QUEST_080_KILL_ESCAPING_MURDERER" 6008000 "Убить бежавшего киллера"
4085 = "QUEST_085_HELP_TELADI_RECOVER_FROM_ARGONFLU" 6008500 "Помошь Телади от аргонского гриппа"
4090 = "QUEST_090_HELP_FIGHTERS_TO_PROTECT_TRANSPORTER" 6009000 "Помощь истребителям в защите транспорта"
4096 = "QUEST_096_DESTROY_SPIONAGE_DRONE" 6009600 "Уничтожение шпионского зонда"
4097 = "QUEST_097_MORE_COMPLEX_TRADING" 6009700 "Более комплексная торговля"
4106 = "QUEST_106_BORON_PRINCESS_BY_TOMST_SECOND_ATTEMPT" 6010600 "Боронская Принцесса"
4113 = "QUEST_113_PERSEUS_MISSION" 6011300 "Миссия 'Персея'"

В дизасемблированном обже (мое первое сообщение этой темы) каждая миссия в отдельном файле,
что очень удобно для редактирования и нахождения нужных гекс-смещений.
Под номерами описаний действий миссии всегда стоит "ReadText" (для удостоверения, что правильно ищем).

Миссии 36, 60, 66, 96 (хоть и есть в обже) - в версии 2.1 и 2.2 выключены.
Кто хочет их пройти, то нужно скачать обновление №2 моего сборника.
Там есть описание и скриншоты миссий 36 и 60, ни на каком форуме об этом информации нет, наверно я единственный кто их проходил.
Версия игры 1.0! Очень сложная, поскольку примитивная против 2.1, активность пиратов зашкаливает.
Нужно время от времени использовать кнопку "Армагедон" для востановления разрушенных станций.

В файле звуковой разметки есть много пустых строк. Не беспокойтесь, там почти одна и та же фраза на разный манер.
Очевидно програмисты егософта расчитывали в основном на безбашенных игроков, которые будут стрелять во все что движется и не движется.
Суть почти всех диалогов экстэновских рас и пиратов сводится к теореме: "Прекрати огонь или Щас получишь!"
Еще под номерами 105035-105040 скрываются диалоги с Тээлами Аргона при покупках станций.
И далее по аналогии: 205...- ТЛы Борона, 305...- ТЛы Сплита, 405...- ТЛы Паранида, 505...- ТЛы Телади.


00144.dat.rar
 Описание:
Звуковая разметка файла 00144.
 Имя файла:  00144.dat.rar
 Размер файла:  68.45 KB
 Скачано:  738 раз(а)

_________________
Следи за собой, будь осторожен. В.Цой

Последний раз редактировалось: KWON (21:48 10-06-2015), всего редактировалось 1 раз
    Добавлено: 01:03 07-06-2015   
yakim81
 305 EGP


Рейтинг канала: 6(417)
Репутация: 18
Сообщения: 220

Зарегистрирован: 07.02.2015
Красота, конечно... Я тут на днях искал нормальный речевой синтезатор для озвучки... так ничего и не выбрал... все картавят, акцент нехороший, и ударения не умеют выставлять так как нужно. Нужны 2 диктора хороших: мужской и женский голос.
    Добавлено: 17:57 12-06-2015   
Non
 802 EGP


Модератор
Рейтинг канала: 6(383)
Репутация: 239
Сообщения: 801

Зарегистрирован: 27.06.2006
Могу подиктовать. Улыбка
    Добавлено: 09:22 13-06-2015   
KWON
 408 EGP


Рейтинг канала: 8(857)
Репутация: -10
Сообщения: 171
Откуда: Україна. Чигирин.
Зарегистрирован: 24.11.2014
Хорошая шутка. Не думаю, что у вас шото получится.
А вот серьезно:

Как добавить новое озвучивание.

В обжэ резервная область, которую можно использовать, очень небольшая:

1. В звуковой разметке:
 Cкрытый текст   (кликните здесь для просмотра)

<t id="814001" s="3421" l="60372"/>
<t id="814002" s="64793" l="12725"/>
<t id="814003" s="78518" l="5108"/>
<t id="814004" s="84626" l="3640"/>
<t id="814005" s="89266" l="20427"/>
<t id="814006" s="110693" l="35319"/>
<t id="814007" s="147012" l="66687"/>
<t id="814008" s="214699" l="20434"/>
<t id="814009" s="236133" l="15310"/>
<t id="814010" s="252443" l="7996"/>
<t id="814011" s="261439" l="120745"/>

2. В 001.obj (0001-TX_AUDIO.txt):
 Cкрытый текст   (кликните здесь для просмотра)

00014BA0: 0002 0001D7A9 | 8223 pushd 120745d ; 0001D7A9h
00014BA6: 0002 0003FD3F | 8224 pushd 261439d ; 0003FD3Fh
00014BAC: 000B | 8225 push 2
00014BAE: 002F | 8226 create_array
00014BB0: 0002 000C6BBB | 8224 pushd 814011d ; 000C6BBBh

00014BB6: 0001 1F3C | 8225 pushw 7996d ; 1F3Ch
00014BBA: 0002 0003DA1B | 8226 pushd 252443d ; 0003DA1Bh
00014BC0: 000B | 8227 push 2
00014BC2: 002F | 8228 create_array
00014BC4: 0002 000C6BBA | 8226 pushd 814010d ; 000C6BBAh

00014BCA: 0001 3BCE | 8227 pushw 15310d ; 3BCEh
00014BCE: 0002 00039A65 | 8228 pushd 236133d ; 00039A65h
00014BD4: 000B | 8229 push 2
00014BD6: 002F | 8230 create_array
00014BD8: 0002 000C6BB9 | 8228 pushd 814009d ; 000C6BB9h

00014BDE: 0001 4FD2 | 8229 pushw 20434d ; 4FD2h
00014BE2: 0002 000346AB | 8230 pushd 214699d ; 000346ABh
00014BE8: 000B | 8231 push 2
00014BEA: 002F | 8232 create_array
00014BEC: 0002 000C6BB8 | 8230 pushd 814008d ; 000C6BB8h

00014BF2: 0002 0001047F | 8231 pushd 66687d ; 0001047Fh
00014BF8: 0002 00023E44 | 8232 pushd 147012d ; 00023E44h
00014BFE: 000B | 8233 push 2
00014C00: 002F | 8234 create_array
00014C02: 0002 000C6BB7 | 8232 pushd 814007d ; 000C6BB7h

00014C08: 0002 000089F7 | 8233 pushd 35319d ; 000089F7h
00014C0E: 0002 0001B065 | 8234 pushd 110693d ; 0001B065h
00014C14: 000B | 8235 push 2
00014C16: 002F | 8236 create_array
00014C18: 0002 000C6BB6 | 8234 pushd 814006d ; 000C6BB6h

00014C1E: 0001 4FCB | 8235 pushw 20427d ; 4FCBh
00014C22: 0002 00015CB2 | 8236 pushd 89266d ; 00015CB2h
00014C28: 000B | 8237 push 2
00014C2A: 002F | 8238 create_array
00014C2C: 0002 000C6BB5 | 8236 pushd 814005d ; 000C6BB5h

00014C32: 0001 0E38 | 8237 pushw 3640d ; 0E38h
00014C36: 0002 00014A92 | 8238 pushd 84626d ; 00014A92h
00014C3C: 000B | 8239 push 2
00014C3E: 002F | 8240 create_array
00014C40: 0002 000C6BB4 | 8238 pushd 814004d ; 000C6BB4h

00014C46: 0001 13F4 | 8239 pushw 5108d ; 13F4h
00014C4A: 0002 000132B6 | 8240 pushd 78518d ; 000132B6h
00014C50: 000B | 8241 push 2
00014C52: 002F | 8242 create_array
00014C54: 0002 000C6BB3 | 8240 pushd 814003d ; 000C6BB3h

00014C5A: 0001 31B5 | 8241 pushw 12725d ; 31B5h
00014C5E: 0002 0000FD19 | 8242 pushd 64793d ; 0000FD19h
00014C64: 000B | 8243 push 2
00014C66: 002F | 8244 create_array
00014C68: 0002 000C6BB2 | 8242 pushd 814002d ; 000C6BB2h

00014C6E: 0002 0000EBD4 | 8243 pushd 60372d ; 0000EBD4h
00014C74: 0001 0D5D | 8244 pushw 3421d ; 0D5Dh
00014C78: 000B | 8245 push 2
00014C7A: 002F | 8246 create_array
00014C7C: 0002 000C6BB1 | 8244 pushd 814001d ; 000C6BB1h

Как видим, читается снизу вверх.


Я себе озвучил Экспериментал и Персей из Х2.

Что нужно для этого?
1. Соунд фордж.
2. Знать последнее значение в разметке 00144 ХТ:
<t id="1100126" s="20689337" l="2088"/>
3. Файл звуковой разметки Х2 или Х3 (смотря откуда нужно озвучить) - 00007.XML.
4. Файл текста 70001.xml (Х2 или Х3), в котором будем искать идетиф. номер.
5. Резервная область ХТ (см. выше).

Работа:

1. В файле 70001.xml (Х2, Х3) находим нужное описание.
2. Идентиф. номер ищем в файле разметки - 00007.XML
3. Берем оттуда нужные три значения (номер, положение в разметке, продолжельность звука).
4. Правим гекс-редактором резервную область.
5. Вносим новые номера (из резерва ХТ 814001-814011) в экзешник
и в текстовый файл (44001.txt), кроме номеров, названия и описания.
6. Соундфоржем приклеиваим в конец файла 00144.mp3 (переименовав расширение перед этим) нужный участок звука из Х2 или Х3.
7. Проверяем.

Правка резервной области.

1. Вычисляем последний участок: 20689337+2088=20691425.
2. Розпишем новую разметку <t id="814011" s="20691425" l="найденная продолжительность в файле Х2 - 00007.XML"/>
3. Теперь вносим в обж место в 00144 - 20691425 и продолжительность озвучивания.

Более детально:
00014BA0: 0002 0001D7A9 | 8223 pushd 120745d ; 0001D7A9h - Продолжительность звука
00014BA6: 0002 0003FD3F | 8224 pushd 261439d ; 0003FD3Fh - Положение в звуковом файле
00014BAC: 000B | 8225 push 2
00014BAE: 002F | 8226 create_array
00014BB0: 0002 000C6BBB | 8224 pushd 814011d ; 000C6BBBh - Идентиф. номер для єкзе и для текста.

Очень сложно. Не уверен, что кто-то будет заниматся таким.
_________________
Следи за собой, будь осторожен. В.Цой

Последний раз редактировалось: KWON (15:51 14-06-2015), всего редактировалось 2 раз(а)
    Добавлено: 11:03 14-06-2015   
yakim81
 305 EGP


Рейтинг канала: 6(417)
Репутация: 18
Сообщения: 220

Зарегистрирован: 07.02.2015
Печалька, однако, получается... Свободных мест под озвучку всего-то только 11 получается? А расширить ее никак?
    Добавлено: 21:33 14-06-2015   
KWON
 408 EGP


Рейтинг канала: 8(857)
Репутация: -10
Сообщения: 171
Откуда: Україна. Чигирин.
Зарегистрирован: 24.11.2014
Можно, но немного.
В ХТ нет тренировочной миссии. Возможно взять её участки:
 Cкрытый текст   (кликните здесь для просмотра)

Начальная Тренировка БТФ.
<t id="813010" s="19799540" l="2975"/>
<t id="813011" s="19803515" l="2150"/>
<t id="813012" s="19806665" l="2760"/>
<t id="813013" s="19810425" l="1797"/>
<t id="813014" s="19813222" l="1727"/>
<t id="813015" s="19815949" l="3496"/>
<t id="813016" s="19820445" l="2925"/>
<t id="813017" s="19824370" l="2253"/>
<t id="813018" s="19827623" l="2760"/>
<t id="813019" s="19831383" l="1803"/>
<t id="813020" s="19834186" l="1757"/>
<t id="813021" s="19836943" l="3492"/>
<t id="813022" s="19841435" l="3064"/>
<t id="813023" s="19845499" l="2263"/>
<t id="813024" s="19848762" l="2757"/>
<t id="813025" s="19852519" l="1811"/>

Тренировка ХТ.
<t id="199001" s="8320153" l="10170"/>Привет, я Трой, с земной станции гамма. проведем тесты все ли системы нормально функционируют.
<t id="199002" s="8331323" l="13084"/>
<t id="199003" s="8345407" l="5886"/>
<t id="199004" s="8352293" l="8649"/>
<t id="199005" s="8361942" l="7930"/>
<t id="199006" s="8370872" l="5538"/>
<t id="199007" s="8377410" l="12899"/>
<t id="199008" s="8391309" l="5526"/>
<t id="199009" s="8397835" l="5735"/>
<t id="199010" s="8404570" l="3820"/>
<t id="199011" s="8409390" l="7303"/>
<t id="199012" s="8417693" l="14884"/>
<t id="199014" s="8433577" l="3262"/>
<t id="199015" s="8437839" l="1173"/>
<t id="199016" s="8440012" l="6130"/>
<t id="199017" s="8447142" l="4145"/>
<t id="199018" s="8452287" l="6153"/>
<t id="199020" s="8459440" l="12376"/>
<t id="199021" s="8472816" l="10321"/>
<t id="199025" s="8484137" l="6153"/>
<t id="199026" s="8491290" l="3750"/>
<t id="199028" s="8496040" l="5213"/>
<t id="199030" s="8502253" l="15314"/>
<t id="199031" s="8518567" l="9915"/>
<t id="199032" s="8529482" l="13990"/>
<t id="199033" s="8544472" l="8057"/>
<t id="199034" s="8553529" l="6293"/>
<t id="199035" s="8560822" l="15314"/>
<t id="199040" s="8577136" l="2020"/>
<t id="199041" s="8580156" l="12539"/>
<t id="199042" s="8593695" l="13157"/>


Бэтээфовские названия секторов тоже в ХТ не участвуют:
 Cкрытый текст   (кликните здесь для просмотра)

<t id="1030101" s="5799288" l="996"/>
<t id="1030102" s="5801284" l="979"/>
<t id="1030103" s="5803263" l="1061"/>
<t id="1030104" s="5805324" l="1225"/>
<t id="1030105" s="5807549" l="1400"/>
<t id="1030106" s="5809949" l="1072"/>
<t id="1030107" s="5812021" l="1060"/>
<t id="1030201" s="5814081" l="926"/>
<t id="1030202" s="5816007" l="792"/>
<t id="1030203" s="5817799" l="1247"/>
<t id="1030204" s="5820046" l="1012"/>
<t id="1030205" s="5822058" l="1044"/>
<t id="1030206" s="5824102" l="809"/>
<t id="1030207" s="5825911" l="1174"/>
<t id="1030301" s="5828085" l="1462"/>
<t id="1030302" s="5830547" l="1097"/>
<t id="1030303" s="5832644" l="2570"/>
<t id="1030304" s="5836214" l="1147"/>
<t id="1030305" s="5838361" l="1280"/>
<t id="1030306" s="5840641" l="1046"/>
<t id="1030307" s="5842687" l="1133"/>
<t id="1030308" s="5844820" l="1161"/>
<t id="1030401" s="5846981" l="1043"/>
<t id="1030402" s="5849024" l="1032"/>
<t id="1030403" s="5851056" l="1911"/>
<t id="1030406" s="5853967" l="879"/>
<t id="1030407" s="5855846" l="1152"/>
<t id="1030408" s="5857998" l="1272"/>
<t id="1030501" s="5860270" l="1004"/>
<t id="1030502" s="5862274" l="703"/>
<t id="1030503" s="5863977" l="1005"/>
<t id="1030506" s="5865982" l="1070"/>
<t id="1030507" s="5868052" l="1094"/>
<t id="1030601" s="5870146" l="1287"/>
<t id="1030602" s="5872433" l="640"/>
<t id="1030603" s="5874073" l="1498"/>
<t id="1030605" s="5876571" l="1715"/>
<t id="1030606" s="5879286" l="1051"/>
<t id="1030607" s="5881337" l="1197"/>
<t id="1030701" s="5883534" l="1198"/>
<t id="1030702" s="5885732" l="1178"/>
<t id="1030703" s="5887910" l="1086"/>
<t id="1030704" s="5889996" l="1121"/>
<t id="1030705" s="5892117" l="1781"/>
<t id="1030706" s="5894898" l="1772"/>
<t id="1030802" s="5897670" l="1084"/>
<t id="1030803" s="5899754" l="1116"/>
<t id="1030804" s="5901870" l="1160"/>


Немного экспериментировал. Озвучить новые сектора абсолютно реально.
Возьмите любой новый сектор, посмотрите его номер в 44001.txt.
Просто, для проверки, взять из звуковой разметки любую понравившуюся фразу.
Например: <t id="816001" s="20250312" l="5677"/>"Добро пожаловать в аргонопедию, Вы выбрали статью о вторжении Ксенона."
В файле дизасемблированного обжа 0001-TX_AUDIO.txt задайте в поиск 816001d (d-значит dec а не hex), (816001d встретится два раза - первый для индекса 44, второй для 49)
получится такой ответ:
00000920: 0001 162D | 233 pushw 5677d ; 162Dh
00000924: 0002 0134FEC8 | 234 pushd 20250312d ; 0134FEC8h
0000092A: 000B | 235 push 2
0000092C: 002F | 236 create_array
0000092E: 0002 000C7381 | 234 pushd 816001d ; 000C7381h
Теперь номер 816001 меняете на 1020108 (для примера возьмем первый новый сектор за системой "Семья Ви").
Производим замену в обжэ:
было -
0000092E: 0002 000C7381
стало -
0000092E: 0002 000F90СС
Далее редактором карт ставите "Семья Ви" - стартовым. Подлетаете к вратам, выбираете ворота нового сектора в цель, слушаете.

Теперь по сути.
Вся сложность в точном вырезании звуковым редактором участка с названиями секторов из Х3.
Как видим: s="20250312" l="5677" - какие то очень маленькие единицы времени (микросекунды наверно, 1000 этих единиц, кажется, равно = 1сек.).
Нужно очень точно обрезать начало звукового участка из 00144 из Х3.
Само начало названий секторов в Х3 находится в конце звукового файла.
Искать нужно в файле разметки 00044.xml в папке "mov".
Вот оно: <t id="1020514" s="34968450" l="1615"/>.

Кто знает? есть ли звуковой редактор оперирующий такими единицами (микросекунды или милисекунды)?
Чтобы задать в поиск значение 34968450 (место начала названий секторов)?
Если нет тогда делаем как я, вырезаем просто на слух посматривая на рисунок звука.

Потом обрезанный участок присоединяем соундфорджем к файлу звука ХТ 00144.
Теперь наступает этап титаничной подготовки к гексредактированию обжа.
Сначала из файла 00044.xml из Х3 переносим в новый текстовый файл участок имен секторов:
 Cкрытый текст   (кликните здесь для просмотра)

<t id="1020514" s="34968450" l="1615"/>Heretics End
<t id="1020619" s="34970564" l="1615"/>Family Z'rt
<t id="1020620" s="34972679" l="1669"/>Z'rt's Dominion
<t id="1020818" s="34974848" l="1760"/>Midnight Star
<t id="1020720" s="34977108" l="3447"/>Xenon Sector 598
<t id="1020801" s="34981054" l="1596"/>Savage Spur
<t id="1020805" s="34983151" l="1524"/>Freedom's Reach
<t id="1020806" s="34985174" l="3302"/>Xenon Sector 101
<t id="1020819" s="34988976" l="1850"/>Belt of Aguilar
<t id="1020820" s="34991326" l="1560"/>Grand Exchange
<t id="1020901" s="34993386" l="1868"/>Ocracoke's Storm
<t id="1020920" s="34995755" l="1633"/>Merchant Haven
<t id="1021020" s="34997888" l="925"/>Maelstrom
<t id="1021202" s="34999313" l="1596"/>Rhy's Crusade
<t id="1021502" s="35001409" l="1850"/>Shining Currents
<t id="1021603" s="35003759" l="2177"/>Mists of Elysium
<t id="1021609" s="35006436" l="2122"/>Unholy Descent
<t id="1021610" s="35009059" l="1887"/>Consecrated Fire
<t id="20000" s="35011445" l="1016"/>Avarice
<t id="20001" s="35012961" l="1741"/>Perdition's End
<t id="20002" s="35015203" l="1161"/>Redemption
<t id="20003" s="35016864" l="1342"/>Legend's Home
<t id="20004" s="35018706" l="1261"/>Gaian Star
<t id="20005" s="35020467" l="2104"/>Prophecy Fulfilled
<t id="20006" s="35023071" l="1034"/>Magrathea
<t id="30000" s="35024605" l="2050"/>Spires of Elusion
<t id="30001" s="35027155" l="1669"/>Clarity's End
<t id="30002" s="35029324" l="1832"/>Weaver's Tempest
<t id="30003" s="35031656" l="2449"/>Senator's Badlands
<t id="30004" s="35034605" l="2340"/>Vestibule of Creation
<t id="30005" s="35037445" l="1669"/>Faded Dreams
<t id="30006" s="35039614" l="1778"/>Gunne's Crusade
<t id="30007" s="35041892" l="1923"/>Elysium of Light
<t id="30010" s="35044315" l="2413"/>Menelaus' Oasis
<t id="30011" s="35047228" l="1488"/>Queen's Harbour
<t id="30012" s="35049215" l="2558"/>Queen's Retribution
<t id="30013" s="35052273" l="2177"/>Veil of Delusion
<t id="30014" s="35054950" l="2776"/>Homily of Perpetuity
<t id="30015" s="35058225" l="1034"/>The Shallows
<t id="30020" s="35059759" l="1633"/>Duke's Citadel
<t id="30021" s="35061892" l="1868"/>Cathedral of Xaar
<t id="30022" s="35064261" l="2358"/>Pontifex' Conclusion
<t id="30023" s="35067119" l="1506"/>Perpetual Sin
<t id="30024" s="35069125" l="2086"/>Third Redemption
<t id="30025" s="35071711" l="1796"/>Heaven's Assertion
<t id="30030" s="35074007" l="1651"/>Hollow Infinity
<t id="30031" s="35076157" l="1469"/>Tears of Greed
<t id="30032" s="35078127" l="2322"/>Sanctity of Corruption
<t id="30033" s="35080949" l="1506"/>Wretched Skies
<t id="30034" s="35082954" l="1941"/>Desecrated Skies
<t id="30035" s="35085396" l="1796"/>Twisted Skies
<t id="30040" s="35087691" l="1850"/>Tharka's Ravine
<t id="30041" s="35090042" l="2159"/>Thyn's Excavation
<t id="30042" s="35092700" l="2268"/>Patriarch's Collusion
<t id="30043" s="35095468" l="2032"/>Contorted Dominion
<t id="30044" s="35098000" l="1705"/>Rhonkar's Might
<t id="30045" s="35100205" l="1488"/>Rhonkar's Trial
<t id="30050" s="35102193" l="2014"/>CEO's Investment
<t id="30051" s="35104706" l="2449"/>Acquisition Repository
<t id="30052" s="35107655" l="2449"/>CEO's Wellspring
<t id="30053" s="35110604" l="1923"/>Company Strength
<t id="30054" s="35113027" l="1578"/>Bright Profit
<t id="30055" s="35115105" l="1542"/>Spaceweed Grove
<t id="30060" s="35117147" l="2540"/>Unknown Xenon Sector
<t id="30061" s="35120187" l="2503"/>Unknown Enemy Sector
<t id="30062" s="35123190" l="2558"/>Unknown Allied Sector
<t id="30063" s="35126248" l="1868"/>Kha'ak Sector
<t id="30064" s="35128617" l="1687"/>Xenon Sector
<t id="1020000" s="35130804" l="1429"/>Unknown Sector
<t id="1020101" s="35132733" l="1118"/>Kingdom End
<t id="1020102" s="35134351" l="1412"/>Rolk's Drift
<t id="1020103" s="35136263" l="1367"/>Queen's Space
<t id="1020104" s="35138130" l="1915"/>Menelaus' Frontier
<t id="1020105" s="35140545" l="1725"/>Ceo's Buckzoid
<t id="1020106" s="35142770" l="1542"/>Teladi Gain
<t id="1020107" s="35144812" l="1456"/>Family Whi
<t id="1020114" s="35146768" l="1857"/>The Vault
<t id="1020118" s="35149125" l="3113"/>Xenon Sector 534
<t id="1020120" s="35152737" l="3265"/>Xenon Sector 596
<t id="1020201" s="35156502" l="1228"/>Three Worlds
<t id="1020202" s="35158231" l="1238"/>Power Circle
<t id="1020203" s="35159969" l="1849"/>Antigone Memorial
<t id="1020204" s="35162318" l="1410"/>Rolk's Fate
<t id="1020205" s="35164228" l="1263"/>Profit Share
<t id="1020206" s="35165991" l="1022"/>Seizewell
<t id="1020207" s="35167513" l="1473"/>Family Zein
<t id="1020214" s="35169486" l="1862"/>Shareholder's Fortune
<t id="1020215" s="35171849" l="1986"/>Mines Of Fortune
<t id="1020218" s="35174334" l="1388"/>Getsu Fune
<t id="1020219" s="35176222" l="2268"/>Menelaus' Paradise
<t id="1020220" s="35178990" l="3300"/>Xenon Sector 597
<t id="1020301" s="35182790" l="2243"/>Cloudbase North West
<t id="1020302" s="35185532" l="1565"/>Herron's Nebula
<t id="1020303" s="35187598" l="823"/>The Hole
<t id="1020304" s="35188921" l="2113"/>Atreus' Clouds
<t id="1020305" s="35191534" l="1831"/>Spaceweed Drift
<t id="1020306" s="35193865" l="1537"/>Greater Profit
<t id="1020307" s="35195903" l="1571"/>Thuruk's Pride
<t id="1020308" s="35197974" l="1441"/>Family Pride
<t id="1020310" s="35199914" l="1805"/>Patriarch's Retreat
<t id="1020315" s="35202219" l="1740"/>Home Of Opportunity
<t id="1020319" s="35204460" l="1516"/>Bluish Snout
<t id="1020401" s="35206475" l="1528"/>Ringo Moon
<t id="1020402" s="35208503" l="1467"/>Argon Prime
<t id="1020403" s="35210470" l="926"/>The Wall
<t id="1020404" s="35211897" l="1658"/>Farnham's Legend
<t id="1020405" s="35214055" l="2100"/>Bala Gi's Joy
<t id="1020406" s="35216654" l="1270"/>Blue Profit
<t id="1020407" s="35218425" l="1640"/>Rhonkar's Fire
<t id="1020408" s="35220564" l="1867"/>Rhonkar's Clouds
<t id="1020409" s="35222931" l="1551"/>Tharka's Sun
<t id="1020410" s="35224982" l="1443"/>Cho's Defeat
<t id="1020415" s="35226925" l="1496"/>Family Tkr
<t id="1020416" s="35228921" l="1929"/>Tkr's Deprivation
<t id="1020417" s="35231350" l="1432"/>Ghinn's Escape
<t id="1020418" s="35233282" l="1443"/>Hila's Joy
<t id="1020419" s="35235224" l="1746"/>Ocean of Fantasy
<t id="1020501" s="35237471" l="1121"/>Red Light
<t id="1020502" s="35239092" l="1324"/>Home of Light
<t id="1020503" s="35240916" l="1416"/>President's End
<t id="1020504" s="35242832" l="1528"/>Elena's Fortune
<t id="1020505" s="35244860" l="2059"/>Olmancketslat's Treaty
<t id="1020506" s="35247418" l="1524"/>Ceo's Sprite
<t id="1020507" s="35249443" l="1719"/>Family Rhonkar
<t id="1020510" s="35251662" l="1499"/>Patriarch's Keep
<t id="1020511" s="35253660" l="1242"/>Two Grand
<t id="1020517" s="35255403" l="1718"/>Family Njy
<t id="1020518" s="35257621" l="1710"/>Njy's Deception
<t id="1020519" s="35259831" l="1351"/>Family Ryk
<t id="1020601" s="35261682" l="2030"/>Cloudbase South West
<t id="1020602" s="35264213" l="1096"/>Ore Belt
<t id="1020603" s="35265809" l="2084"/>Cloudbase South East
<t id="1020604" s="35268392" l="1286"/>Split Fire
<t id="1020605" s="35270178" l="1624"/>Brennan's Triumph
<t id="1020606" s="35272302" l="1324"/>Company Pride
<t id="1020607" s="35274126" l="1337"/>Thuruk's Beard
<t id="1020611" s="35275964" l="1747"/>Profit Center Alpha
<t id="1020612" s="35278211" l="2405"/>PTNI Headquarters
<t id="1020614" s="35281116" l="1534"/>Circle Of Labour
<t id="1020616" s="35283150" l="2994"/>Xenon Sector 472
<t id="1020617" s="35286644" l="1321"/>Thyn's Abyss
<t id="1020701" s="35288465" l="1367"/>Emperor Mines
<t id="1020702" s="35290333" l="1377"/>Paranid Prime
<t id="1020703" s="35292210" l="1250"/>Priest Rings
<t id="1020704" s="35293959" l="1301"/>Priest's Pity
<t id="1020705" s="35295760" l="1621"/>Danna's Chance
<t id="1020706" s="35297881" l="2083"/>Nopileos' Memorial
<t id="1020707" s="35300464" l="1458"/>Hatikvah's Faith
<t id="1020708" s="35302422" l="1306"/>Aladna Hill
<t id="1020709" s="35304229" l="1595"/>Akeela's Beacon
<t id="1020712" s="35306324" l="1723"/>Scale Plate Green
<t id="1020713" s="35308547" l="1631"/>Nyana's Hideout
<t id="1020714" s="35310678" l="1586"/>Omicron Lyrae
<t id="1020715" s="35312764" l="1212"/>Treasure Chest
<t id="1020716" s="35314476" l="1479"/>Black Hole Sun
<t id="1020802" s="35316455" l="1364"/>Empire's Edge
<t id="1020803" s="35318320" l="1449"/>Duke's Domain
<t id="1020804" s="35320269" l="1482"/>Emperor's Ridge
<t id="1020808" s="35322251" l="1380"/>Light of Heart
<t id="1020811" s="35324130" l="1491"/>Eighteen Billion
<t id="1020812" s="35326121" l="2802"/>Xenon Sector 347
<t id="1020816" s="35329423" l="1598"/>Nathan's Voyage
<t id="1020817" s="35331522" l="1210"/>Wastelands
<t id="1020902" s="35333232" l="1238"/>Preacher's Void
<t id="1020904" s="35334970" l="1651"/>Pontifex' Realm
<t id="1020906" s="35337121" l="1204"/>Light Water
<t id="1020908" s="35338825" l="1238"/>Montalaar
<t id="1020910" s="35340563" l="1191"/>New Income
<t id="1020911" s="35342254" l="1561"/>Ianamus Zura
<t id="1020917" s="35344315" l="1332"/>Interworlds
<t id="1021002" s="35346147" l="1172"/>Duke's Vision
<t id="1021003" s="35347819" l="1470"/>Emperor's Wisdom
<t id="1021004" s="35349789" l="1705"/>Trinity Sanctum
<t id="1021005" s="35351994" l="1768"/>Preacher's Refuge
<t id="1021006" s="35354262" l="1717"/>Shore of Infinity
<t id="1021007" s="35356479" l="1390"/>Lucky Planets
<t id="1021008" s="35358369" l="1540"/>Rolk's Legacy
<t id="1021009" s="35360409" l="1386"/>Great Trench
<t id="1021010" s="35362295" l="1468"/>Ceo's Doubt
<t id="1021104" s="35364264" l="1106"/>Bad Debt
<t id="1021110" s="35365870" l="2262"/>LooManckStrat's Legacy
<t id="1021203" s="35368632" l="1460"/>Rhy's Desire
<t id="1021204" s="35370592" l="1868"/>Ministry Of Finance
<t id="1021210" s="35372959" l="1817"/>Mi Ton's Refuge
<t id="1021215" s="35375276" l="1904"/>Unknown Enemy Sector
<t id="1021217" s="35377681" l="1943"/>Unknown Enemy Sector
<t id="1021303" s="35380124" l="1327"/>Family Rhy
<t id="1021310" s="35381952" l="2009"/>Moo-Kye's Revenge
<t id="1021316" s="35384461" l="1874"/>Unknown Enemy Sector
<t id="1021401" s="35386835" l="1775"/>Depths Of Silence
<t id="1021402" s="35389110" l="1430"/>Dark Waters
<t id="1021403" s="35391040" l="2310"/>Reservoir Of Tranquillity
<t id="1021404" s="35393850" l="1438"/>Barren Shores
<t id="1021409" s="35395789" l="1716"/>Priest Refuge
<t id="1021410" s="35398005" l="1602"/>Cardinal's Domain
<t id="1021411" s="35400106" l="1341"/>Sacred Relic
<t id="1021415" s="35401948" l="1973"/>Unknown Enemy Sector
<t id="1021417" s="35404420" l="1936"/>Unknown Enemy Sector
<t id="1021503" s="35406857" l="963"/>Great Reef
<t id="1021509" s="35408320" l="1447"/>Spring Of Belief
<t id="1021510" s="35410267" l="1510"/>Friar's Retreat
<t id="1021511" s="35412277" l="2295"/>Pontifex' Seclusion

Дальше идет мучительная работа с калькулятором. (Наверно месяц нужен для 202 строк!)
В 00044.xml начало розписано так:
<t id="1020514" s="34968450" l="1615"/>
<t id="1020619" s="34970564" l="1615"/>
...
Нам нужно для переноса в 00144 ХТ чтобы продолжительность была точнее.
1615 это чисто название, далее идет ещё 500 едениц тишины.
Нужно вычислить правильные цифры вычитанием: 34970564-34970564=2114.
Это будет выглядеть так:
<t id="1020514" s="34968450" l="2114 (здесь переписать)"/>

Второй этап, меняем цифры положения в звуковом файле.
Из файла звуковой разметки ХТ берем конечную цифру - 20689337+2088=20691425.
Создаем новую разметку.
<t id="1020514" s="20691425" l="2114"/> (первая цифра не будет нужна, это номера для Х3)
Сложением положениия и продолжительности звука получаем все последующие места названий:
20691425+2114=20693539 (ещё месяц для вычислений для 202 строк).
Заменяем 34968450 на 20691425.
Заменяем 34970564 на 20693539 и т.д.

Третий этап.
Когда второй этап закончен, переносим правильную продолжительность в резервные места звуковой разметки 00144 ХТ.
Создаем текстовый файл с местами которые можно поменять:
 Cкрытый текст   (кликните здесь для просмотра)

<t id="1030101" s="5799288" l="996"/>
<t id="1030102" s="5801284" l="979"/>
<t id="1030103" s="5803263" l="1061"/>
<t id="1030104" s="5805324" l="1225"/>
<t id="1030105" s="5807549" l="1400"/>
<t id="1030106" s="5809949" l="1072"/>
<t id="1030107" s="5812021" l="1060"/>
<t id="1030201" s="5814081" l="926"/>
<t id="1030202" s="5816007" l="792"/>
<t id="1030203" s="5817799" l="1247"/>
<t id="1030204" s="5820046" l="1012"/>
<t id="1030205" s="5822058" l="1044"/>
<t id="1030206" s="5824102" l="809"/>
<t id="1030207" s="5825911" l="1174"/>
<t id="1030301" s="5828085" l="1462"/>
<t id="1030302" s="5830547" l="1097"/>
<t id="1030303" s="5832644" l="2570"/>
<t id="1030304" s="5836214" l="1147"/>
<t id="1030305" s="5838361" l="1280"/>
<t id="1030306" s="5840641" l="1046"/>
<t id="1030307" s="5842687" l="1133"/>
<t id="1030308" s="5844820" l="1161"/>
<t id="1030401" s="5846981" l="1043"/>
<t id="1030402" s="5849024" l="1032"/>
<t id="1030403" s="5851056" l="1911"/>
<t id="1030406" s="5853967" l="879"/>
<t id="1030407" s="5855846" l="1152"/>
<t id="1030408" s="5857998" l="1272"/>
<t id="1030501" s="5860270" l="1004"/>
<t id="1030502" s="5862274" l="703"/>
<t id="1030503" s="5863977" l="1005"/>
<t id="1030506" s="5865982" l="1070"/>
<t id="1030507" s="5868052" l="1094"/>
<t id="1030601" s="5870146" l="1287"/>
<t id="1030602" s="5872433" l="640"/>
<t id="1030603" s="5874073" l="1498"/>
<t id="1030605" s="5876571" l="1715"/>
<t id="1030606" s="5879286" l="1051"/>
<t id="1030607" s="5881337" l="1197"/>
<t id="1030701" s="5883534" l="1198"/>
<t id="1030702" s="5885732" l="1178"/>
<t id="1030703" s="5887910" l="1086"/>
<t id="1030704" s="5889996" l="1121"/>
<t id="1030705" s="5892117" l="1781"/>
<t id="1030706" s="5894898" l="1772"/>
<t id="1030802" s="5897670" l="1084"/>
<t id="1030803" s="5899754" l="1116"/>
<t id="1030804" s="5901870" l="1160"/>
<t id="199001" s="8320153" l="10170"/>
<t id="199002" s="8331323" l="13084"/>
<t id="199003" s="8345407" l="5886"/>
<t id="199004" s="8352293" l="8649"/>
<t id="199005" s="8361942" l="7930"/>
<t id="199006" s="8370872" l="5538"/>
<t id="199007" s="8377410" l="12899"/>
<t id="199008" s="8391309" l="5526"/>
<t id="199009" s="8397835" l="5735"/>
<t id="199010" s="8404570" l="3820"/>
<t id="199011" s="8409390" l="7303"/>
<t id="199012" s="8417693" l="14884"/>
<t id="199014" s="8433577" l="3262"/>
<t id="199015" s="8437839" l="1173"/>
<t id="199016" s="8440012" l="6130"/>
<t id="199017" s="8447142" l="4145"/>
<t id="199018" s="8452287" l="6153"/>
<t id="199020" s="8459440" l="12376"/>
<t id="199021" s="8472816" l="10321"/>
<t id="199025" s="8484137" l="6153"/>
<t id="199026" s="8491290" l="3750"/>
<t id="199028" s="8496040" l="5213"/>
<t id="199030" s="8502253" l="15314"/>
<t id="199031" s="8518567" l="9915"/>
<t id="199032" s="8529482" l="13990"/>
<t id="199033" s="8544472" l="8057"/>
<t id="199034" s="8553529" l="6293"/>
<t id="199035" s="8560822" l="15314"/>
<t id="199040" s="8577136" l="2020"/>
<t id="199041" s="8580156" l="12539"/>
<t id="199042" s="8593695" l="13157"/>
<t id="813010" s="19799540" l="2975"/>
<t id="813011" s="19803515" l="2150"/>
<t id="813012" s="19806665" l="2760"/>
<t id="813013" s="19810425" l="1797"/>
<t id="813014" s="19813222" l="1727"/>
<t id="813015" s="19815949" l="3496"/>
<t id="813016" s="19820445" l="2925"/>
<t id="813017" s="19824370" l="2253"/>
<t id="813018" s="19827623" l="2760"/>
<t id="813019" s="19831383" l="1803"/>
<t id="813020" s="19834186" l="1757"/>
<t id="813021" s="19836943" l="3492"/>
<t id="813022" s="19841435" l="3064"/>
<t id="813023" s="19845499" l="2263"/>
<t id="813024" s="19848762" l="2757"/>
<t id="813025" s="19852519" l="1811"/>
<t id="814001" s="3421" l="60372"/>
<t id="814002" s="64793" l="12725"/>
<t id="814003" s="78518" l="5108"/>
<t id="814004" s="84626" l="3640"/>
<t id="814005" s="89266" l="20427"/>
<t id="814006" s="110693" l="35319"/>
<t id="814007" s="147012" l="66687"/>
<t id="814008" s="214699" l="20434"/>
<t id="814009" s="236133" l="15310"/>
<t id="814010" s="252443" l="7996"/>
<t id="814011" s="261439" l="120745"/>

Мест 106 а новых секторов 110 (Гетсу Фан тоже не озвучен и входит в это число), значит повезет не всем системам.

Например:
Было-
<t id="1030101" s="5799288" l="996"/>
Будет-
<t id="1020108 (номер нового сектора)" s="новое место звука - 20691425" l="здесь пишем полученные вычитанием цифры продолжительности названия сектора.

Четвертый этап.
Используя 0001-TX_AUDIO.txt находим адреса в обжэ резервных мест.
Из текстовых файлов переводим калькулятором цифры в гекс и вносим в 001.obj.

Пример, озвучим Гетсу Фан:
<t id="1020218" s="число полученное путем мучительных сложений" l="число полученное путем мучительных вычитаний - 1888"/>Getsu Fune

Берем резервное место <t id="1030101" s="5799288" l="996"/>
находим его в 0001-TX_AUDIO.txt
00011286: 0001 03E4 | 6627 pushw 996d ; 03E4h
0001128A: 0002 00587D78 | 6628 pushd 5799288d ; 00587D78h
00011290: 000B | 6629 push 2
00011292: 002F | 6630 create_array
00011294: 0002 000FB7D5 | 6628 pushd 1030101d ; 000FB7D5h
и меняем:
00011286: 0001 0760 -Продолжительность -число полученное путем вычитаний - 1888
0001128A: 0002 00...... -Место в 00144 -число полученное путем сложений
00011290: 000B
00011292: 002F
00011294: 0002 000F913A -"1020218"Getsu Fune
Вносим гексредактором полученное в 001.obj.

Надеюсь, что всё понятно изложил.
Конечно, за такую титаничную работу никто не возмется, но пару новых секторов озвучить можно.

P.S. Я не думал это все публиковать, но сегодня мне приснилось это сообщение, значит кому-то нужно.

Последний раз редактировалось: KWON (16:45 27-08-2019), всего редактировалось 1 раз
    Добавлено: 20:10 19-06-2015   
yakim81
 305 EGP


Рейтинг канала: 6(417)
Репутация: 18
Сообщения: 220

Зарегистрирован: 07.02.2015
Очень познавательно и интересно, теперь по порядку:
ведь нам без разницы, какая продолжительность была у старого участка, и где он находился, мы же можем указать новое место начала и новую продолжительность, и всунуть все это в конец 0144.dat. Я правильно понимаю?
Если это верно, тогда надо просто выписать все неиспользуемые участки и поменять значения, на что нам в помощь простенький эксель с забитыми формулами... Думаю автоматизировать это все не составит труда.

UPD
было бы намного прикольней научить обж озвучивать описаловку секторов как товаров на станции - заходишь в галактическую карту, листаешь сектор и на выбранном - голосом проговаривает текст описаловки...
UPD2.
на сколько я понял, obj можно менять по размеру (ведь карту как то туда впихнули. т.е. он не завязан на физический адрес). Если да, то можно просто добавить новые конструкции в obj.
Если где то не прав - научите...

Последний раз редактировалось: yakim81 (15:57 20-06-2015), всего редактировалось 2 раз(а)
    Добавлено: 15:51 20-06-2015   
AlexYar
 1846 EGP


Рейтинг канала: 6(304)
Репутация: 328
Сообщения: 31404

Зарегистрирован: 26.10.2003
Получить 0144.dat (после добавления своего куска) без съезжания временных меток и точно того же формата, что и был, тоже довольно тяжело.

После обработки в звуковом редакторе либо тайминги уплывают, либо кодеков таких древних не найдёшь нигде.

В х3р моддеры пытались обойти эту проблему добавлением нового файла озвучки (сделать небольшой звуковой файл со своими таймингами гораздо проще, чем добавлять в существующий), но так как озвучивать свои моды никто серьёзно не горел желанием, работы в этом направлении остановились в самом начале.
    Добавлено: 16:08 20-06-2015   
yakim81
 305 EGP


Рейтинг канала: 6(417)
Репутация: 18
Сообщения: 220

Зарегистрирован: 07.02.2015
хм, ну думаю если все же можно сделать с обжем манипуляции, то установить на виртуалку голую win98 без кодеков и прочего, там же записать звук, то, думаю, все пойдет.
    Добавлено: 11:25 21-06-2015   
KWON
 408 EGP


Рейтинг канала: 8(857)
Репутация: -10
Сообщения: 171
Откуда: Україна. Чигирин.
Зарегистрирован: 24.11.2014
AlexYar :
Получить 0144.dat (после добавления своего куска) без съезжания временных меток и точно того же формата, что и был, тоже довольно тяжело.
После обработки в звуковом редакторе либо тайминги уплывают, либо кодеков таких древних не найдёшь нигде.

У меня всё работает. При том шо слабо разбираюсь в звукописании Улыбка .
Сохранял в таком формате:
Качество звука - 64 кбит/сек
Каналы - 2 (стерео)
Частота - 22 кГц
_________________
Следи за собой, будь осторожен. В.Цой
    Добавлено: 17:01 21-06-2015   
Канал X-Tension/X-BTF: «Раскопки обжа на предмет юзабельных вещей»
На страницу: 1, 2, 3, 4, 5  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Если тебе хреново, значит ты неправильно относишься к жизни (ASG)

  » Раскопки обжа на предмет юзабельных вещей | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18