Там при подключении QC несмотря даже на преемственность архитектур существует несколько интересных проблем, которые не позволят в лоб реализовать задуманное. Так что буду вам рассказывать по мере имплементации. Из очевидного мне - квака имеет архитектуру NQ, а халфа сложную смесь из NQ и QW. Как минимум это отражается на физике игрока - в NQ игрок управляется из PlayerPreThink, в частности код прыжка и код утягивания ко дну находится там, а в QW, понятное дело он вынесен в pmove. То есть ускорение игрока меняется уже в PlayerPreThink, а потом прыжок еще и дополнительно обрабатывается в pm_shared. Можно выкинуть обработку прыжка из pm_shared, раз уж мы не можем этого сделать для progs.dat, но тогда прыжок перестанет быть предиктабельным. Поверхностное решение заключается в том, чтобы принудительно восстанавливать прежнее значение velocity после вызова PlayerPreThink, однако оно тоже стрёмное - в том же Hipnotic идёт обработка землетрясений, которые не предиктабельны, но добавляются к velocity.
Как видите задачка не решается одним махом, надо подумать.
Помните ксаш когда-то давно разучился читать вады из паков, хотя халфа умела это всегда, просто об этом мало кто знал и соответственно никогда не юзал. Ну теперь самое время научить его обратно, но это весьма непростая задачка. Главным образом потому что необходим корректный поиск во всех вадах, на предмет необходимых файлов с учётом иерархии.
Поясню на примере. Допустим у нас в папке valve и папке мода лежит два файлика decals.wad. И пусть в папке мода он содержит лишь те декали, которых нет в decals.wad в папке valve. Как бы зачем их дублировать. Для разных папок эта задача еще более-менее решается, но представьте в каком порядке должны располагаться вады, запакованные в паки, чтобы сохранить приоритет поиска не только по алфавитному порядку в рамках одной папки, но и между игровой и фаллбэк директорией. А ведь допускается отсутствие тех или иных файлов в вадах с одинаковыми именами, т.е. поиск должен уметь просматривать все. Концепция архив-в-архиве очень сильно усложняет эту задачу.
Ну чтоже. Движок научился читать вады из паков с сохранением всех приоритетов. Так что в скором времени можно будет их туда прятать для релизных версий игр.
Добавлено 06-07-2017 в 00:55:
Еще по мелочи - научил читать фиксированные шрифты на манер кушных.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Интересно, а зачем их вообще разделили на 2 независимых формата? Ведь же по сути это одно и тоже, не? Чисто для того чтобы в редактор ничего лишнего не грузили вместо текстур ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Интересно, а зачем их вообще разделили на 2 независимых формата?
Так исторически сложилось. WAD - Where All Data, простейший линейный формат для предотвращения дефграментации диска. В дууме было очень-очень много мелких таких файликов, по 2-3-5 килобайт, если из дум-вада выдернуть их на жесткий диск, то они займут в два раза больше места, чем в ваде, за счёт фрагментации файловой, где размер кластера строго фиксирован и кратен степени двойки. А в кластере не может находиться два файла, только один, оставшееся место никак не использовать. Отсюда и растут все эти примитивные форматы упаковки, если вдруг кто не в курсе. А вовсе не для удобства или порядка. Ну собственно паки появились в первокваке, а вад там был изначально, т.к. квака писалась путём переписывания дуума. И вот он худел-худел-худел и в результате в ваде остались только циферки худа, ну и шрифты. Можете в дуумовский вад заглянуть, там тоже есть все эти anum и face. А остальное уже положили в пак, пак позволял создавать фейковые директории, что было удобно. Ну и вад маленький остался, кармак его тоже запихнул в пак, чёб он не болтался снаружи.
Цитата:
Cybermax писал: Мне захотелось сделать wad архив вместо pak
Вад не поддерживает директории. И типы файлов, которые в нём находятся строго определены, туда нельзя насовать любых файлов от балды.
Добавлено 07-07-2017 в 18:37:
Цитата:
FiEctro писал: Ведь же по сути это одно и тоже, не?