.::Russian Blood Community Forum::. »Blood: The Game We Playing In » Blood TC for Duke3D » Главная |
Страниц (45): первая страница « 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 » |
409. flanker - 06 Мая, 2014 - 21:50:15 | |
>Конвертор карт сделать сможешь? как сказать, такой чтобы вообще ручной работы не требовал, я вряд ли сделаю, а вот всякую мелочовку вроде тех же амбиент звуков, врагов, патроны разбосанные по всем углам, тривиальные свойства секторов, я должен суметь перекинуть на eduke32. Если так подумать, то все это, помноженое на колчество уровней в обоих аддонах, это колосальный объем рутинной работы который можно избежать. > Хотя, кстати говоря, на каждый спрайт в дюке еще должны быть переменные xvel, yvel, zvel, clipdist и owner. да, все эти перемыенные описаны в структурах: Код:
|
410. [M210®] - 06 Мая, 2014 - 22:37:34 |
Это структура Blood-карт? Тут для меня неизвестная переменная только filler ну и data1-data4 ) |
411. flanker - 07 Мая, 2014 - 05:06:29 |
это структура спрайта дюка. в бладе структура может содержать дополнительную секцию xSprite которая и содержит переменные data1-data4 по формату MAP карт на форуме существует тема, ээээ... девятилетней свежости http://bloodgame.ru/forum/topic.php?forum=2&topic=2 и как результат иследования, итоговй excel-файл, где все структуры кроме xSprite расписаны: http://bloodgame.ru/download/mapformat.rar зы про конвертор. индексакцию текстур я сделал, но на твоих картах на всех стенах заполнено поле overpic значением 5120. Его обязательно забивать? Потом, не совсем понял, что с масштабом. Оружие, враги и медикаменты утопают в полу... какие занчения на сколько надо поменять? (Отредактировано автором: 07 Мая, 2014 - 14:08:39) |
412. [M210®] - 07 Мая, 2014 - 20:51:54 | ||
Цитата:
нет, не обязательно. видимо он сам забивается после конвертации. Цитата:
Дюк ровно в полтора раза меньше Калеба Карту нужно уменьшать, если знаешь как, уменьш, если нет забей, потом сам уменьшу...хотя вроде как mapster32 новый такое умеет |
413. flanker - 11 Мая, 2014 - 20:59:19 |
Разобрался более-менее с геометрической системой простроения уровня. Как оказалось, х/y координаты блада и дюка совместимы, а вот про z-координату так не скажешь. И поэтому, когда загружаешся в немасштабированный уровень, воникает ощущение, что не идешь, а ползешь на брюхе. Про конвертор. Доработать blud2b под полноценный конвертор, никак не получится, по той причине, что blud2b работает единовременно только о с одной записью т.е. посмотреть что записано в одном спрайте, и с учетом этого поменять информацию в другом спрайте, он никак не сможет. Нужно программу, которая бы загружала все карту в оперативку и могла бы прочесть/изменить произвольную запись. К счастью, когда я ковырял формат карт, я переписал blud2b на c++11, что бы программа мне распечатывала поля записей карты. Что бы сделать из нее конвертор, оставалось добавить запись в дюковский формат. В принципе, если сравнивать со скриптами mapster'a( я почитал немного вики, но пока бегло) то последний в разы удобнее будет конечно, и цель конвертора не в том что бы заменить мапстер, а том чтобы перекинуть недостающую инифу, которую blud3b режет. Исходник, не знаю нужен или нет, но все-же выложил сюда: http://sourceforge.net/p/bloodcmhrp/blud2e/ci/master/tree/ написано под компилятор gcc, у кого нет его под рукой, могут спокойно собрать утилитку на облаке, например http://koding.com утилита, пока почти без правил, переобразования, просто основа программы. Работая без правил, программа выдает результат идентичный blud2b. Сейчас нужно придумывать правила. (Отредактировано автором: 11 Мая, 2014 - 21:11:05) |
414. [M210®] - 12 Мая, 2014 - 08:52:08 |
Спасибо за исходники, будет с чего начать изучать с++ Видимо, надо будет составить таблицу соответствия номеров звуков оригинала с номерами звуков BloodCM (звуки в игру добавлял по мере необходимости, поэтому нумерация не совпадает) Список лучше хранить и загружать в программу из txt файла, так настройка будет более гибкой. Ну видимо, скоро у нас появится новый конвертер карт, это круто |
415. flanker - 12 Мая, 2014 - 21:31:17 |
>Спасибо за исходники, будет с чего начать изучать с++ ок. будет, что-то непонятно, спрашивай. >надо будет составить таблицу соответствия номеров звуков оригинала с номерами звуков BloodCM (звуки в игру добавлял по мере необходимости, поэтому нумерация не совпадает) да, задачка. пока единственное что приходит в голову: натравить программку сравнивать оригинальные карты и уже готовые. понятно что номера спрайтов сбиты, но каждый спрайт приписан к определенному сектору, кроме того имеет четкие пространственные координаты. и даже если оригинальный спрайт был передвинут, то скорее всего недалеко, и сравнивая модули векторв, можно построить таблицу соответствия. >Список лучше хранить и загружать в программу из txt файла, так настройка будет более гибкой. на мой взгляд сомнительно. в конфиг-файл надо пихать те данные которые придиться постоянно менять, т.е. это обычно пользовательские настройки: видео-режим и пр. а номера звуков зачем менять? я бы вынес табличку в заголовочный файл. но если очень хочется, могу прикрутить конфиг на LUA, это десять строчек в коде, а возможностей должно с головой хватить. Но так, чтобы дефолтные значения все равно задавались хардкорно, благо при открытых исходниках их посмотреть не проблема, а конфиг файл только бы менял их значения по необходимости. |
416. [M210®] - 12 Мая, 2014 - 23:39:31 | |||
Цитата:
Это как раз и будут те самые данные, сама по себе blud2b должна конвертировать звуки один к одному, но если будет особый параметр, как в случае с BloodCM, то использовать его...ну другими словами, лучше сделать настройки по-умолчанию как в blud2b, а таблица звуков - это частный случай. Цитата:
Номера спрайтов как раз не сбиты, там смещение на 5120, грубо говоря, в оригинале все картинки хранятся с TILE000.ART, но т.к. в eduke32 эти тайлы заняты, то первый тайл BloodCM имеет TILE020.ART. Сначала я просто хотел сделать BloodCM как мод к дюку, поэтому решил сделать такое смещение....в общем абсолютно все текстуры в конверторе подчиняются этому правилу, за исключением некоторых текстур в самом конце архива тайлов (там уже просто подгоняли по размеру текстуры, которые плохо смотрелись на полу, после машстабирования уровня) И приведу пример переменные звуков в BloodCM: Код:
Может это тебе как-то поможет? Если что, весь список звуков есть в файле sounds.con, хотя я не помню, притерпел ли он изменения с момента выхода версии 06.2013 |
417. flanker - 14 Мая, 2014 - 22:30:01 |
> Номера спрайтов как раз не сбиты, там смещение на 5120, мы наверно говорили о разных переменных. я имел ввиду порядковый номер спрайта, а ты номер картинки. если в уровне всего около 500 спрайтов, то его номер не может быть более 5120 обновил программку. реализовал чтение переменных: data1-4 и launch байта. это позволило мне сделать: враги расставлены по уровням, предметы, оружие патроны на мультиплеер AmbientSFX, радиус вроде корректно преобразовывет, номер мелодии пока нет. SectorSFX только fix pic number т.е. Gib Object - удаление Explode Object/разрушаемый объект - вроде сделал, но не уверен, что правильно Aplayer(multiplay) - вроде сделал Сейчас вроде все в вытаскивание сектор-зффектов уперлось. |
418. [M210®] - 15 Мая, 2014 - 22:07:28 | |
Цитата:
Ченить придумал, где эти переменные будут у дюка? |
419. flanker - 16 Мая, 2014 - 06:11:41 |
зависит от типа объекта. если это оружие или боеприпасы и launch байт равн 0x50 то в палитру пишем еденицу, и предмет помечается как для мультиплея. если это монстр, то в зависимости от значения того же launch байта пишем в lotag спрайта и монстр появляется на том уровне сложности, каком задумали левел-дизайнеры. если это амбиент, то дата3, номер мелодии, пишем в лотег, а дата2, раудиус, умножаем на десять и пишим в хайтег. ну и так далее и тому подобное) |
420. [M210®] - 16 Мая, 2014 - 06:57:17 |
Ну впринципе да, чтото можно использовать. Не в курсе, в оригинале переменые xvel-zvel для спрайтов используются? |
421. flanker - 16 Мая, 2014 - 09:00:55 |
в xvel какие-то данные есть. yvel/zvel забиты нулями, так что можно сделать вывод, что не используются. |
422. [M210®] - 16 Мая, 2014 - 10:04:52 |
У меня скоро тоже будет что показать Поднял производительность в 2 раза, а может и выше...зомби стал немного умнее, буду теперь переделывать остальных врагов, и искать глюки |
423. [M210®] - 28 Мая, 2014 - 13:31:34 |
flanker, есть какие-нить новости? |
424. flanker - 28 Мая, 2014 - 18:55:47 | |
в прошлую неделю времени не было совсем, сейчас полегче. бьюсь с sectorSFX и ambientSFX, т.е. со звуковыми спрайтами. Цитата:
я сделал как и было предложено, чтение con файла sounds.con. алгоритм простейший: файл парсится на ключевое слово define, по следующим за ним двум словам составляется табличка типа: название звука | его номер сейчас нужно будет табличку соответствия с оригинальной нумерацией составить. ну и когда со звуками будет покончено, можно будет браться за двери. а то сейчас не интересно, дверь работает, а звука нет) в целом, из-за парсинга con файлой и двух режимов работы, програмка стала несколько мудрёной по сравнению c blud2b процесс идет потихоньку) |
425. [M210®] - 28 Мая, 2014 - 21:37:51 |
А двери тоже можно переделывать программно? В это пока с трудом верится, даже просто алгоритм закрытия придумать сложно ) (Добавление) Таблицу соответствия можно взять тут.... http://rghost.ru/55936180 я сейчас поговорил с empy, он сказал, что не все звуковые эффекты можно будет заменить автоматом....т.к. в оригинале звуковой спрайт имеет 4 звука, у дверей - 2 для открытия и 2 для закрытия....в нашем ТСе мы для этого используем 2 звуковых спрайта (Отредактировано автором: 28 Мая, 2014 - 21:49:53) |
426. flanker - 28 Мая, 2014 - 23:54:59 |
> Таблицу соответствия можно взять тут.... О! это мне порядочно сэкономило времени, теперь можно к дверям приступать > даже просто алгоритм закрытия придумать сложно я не стану говорить о чем пока не делал, а делал я пока floor door, а там его главное распознать что это имено floor door, присвоить лотаг соответствующий и z-координате пола присвоить z-координату потолка. и дверь работает. что касается остальных типов, вроде тоже не должно быть проблем. немного возни с координатами, но все решаемо. > 2 для открытия и 2 для закрытия....в нашем ТСе мы для этого используем 2 звуковых спрайта проблем со вставкой дополнительных спрайтов по определенным правилам нет. Правда пока нет четкого мнения как выбирать x/y координаты для них. |
427. [M210®] - 29 Мая, 2014 - 07:03:06 | ||
Цитата:
Да можно одни и те же координаты использовать, а потом уже вручную разнести, если надо будет, а можно использовать вращающийся вектор и ставить второй спрайт на каком-нить расстоянии в пустое место, предварительно проверив, что 100% находшься в том же секторе, где и основной спрайт. Цитата:
На floor и ceiling двери я тоже делал скрипты, это не сложно....а вот слайд двери мы заменяем вручную, удаляем старую дверь, делаем дверной проем заново, а потом строим там саму дверь (дополнительный сектор)...поэтому просто протащить две вершины до закрытия двери не достаточно |
428. empy - 29 Мая, 2014 - 11:50:39 |
Менять ceiling-floor двери на дюковские и закрывать их не нужно. Дюковские мы уже не используем. Вместо них се69-70, и двери должны оставаться открытыми, как в оригинале. В принципе, сделать скриптом их тоже нетрудно. Нужно просто поставить в секторе двери 3 спрайта: локер, се и мувер поинт. Остальные двери, типа двустворчатых или раздвижных, требуют полной переделки вручную. (Отредактировано автором: 29 Мая, 2014 - 11:52:17) |
429. flanker - 29 Мая, 2014 - 12:59:26 |
по поводу звуков. преобразование id звуковых спрайтов я сделал. работает это так. имеется файл sounds.con взятый из con скриптов bloodcm. из него извлекается таблица вида: название звука | номер звука в bloodcm также имеется файл sounds_old.con созданый на основе выложенной вчера таблички. из него извлекается следующая таблица: номер звука в blood | название звука название звука явяется связующим элементом, который объединяет записи в общую таблицу вида http://pastebin.com/raw.php?i=UMFD6v3W т.о. при конвертации на входе имеем id блада, на выходе id bloodcm. |
430. [M210®] - 01 Июня, 2014 - 23:53:06 |
flanker можешь выложить новый конвертер? Основная работа занимается звуковые спрайты и уровни сложности, раз это все уже есть, значит можно использовать для 3го и 4го эпизода (все двери там уже сделаны) |
431. flanker - 02 Июня, 2014 - 05:41:57 |
исходники лежат в репозитории, я ссылку давал: http://sourceforge.net/p/bloodcmhrp/blud2e/ci/master/tree/ собрать можно везде где есть более-менее свежий gcc. SectorSFX там пока реализован только в виде одного спрайта, т.е. случай когда data1, data2 совпадают c data3, data4. вставку спрайта еще только предстоит реализовать. но проблема не в этом. программа в качестве входного файла читает карту из блада. т.е. она не может взять уже полу-готовую карту из дюка и дописать туда свою инфу. Може у тебя есть способ перетащить инфу из одной дюковской карты в другую? в приципе можно попытаться прикрутить функцию стравнения секторов по х/у координатам стен и на основании этого переписывать инфу. но, там, где геометрия изменена, т.е. двери, я просто незнаю как программе показать, что это бывший сектор такой-то. |
432. [M210®] - 02 Июня, 2014 - 07:41:54 |
Сравнивать дюковские карты не обязательно, пропустим через конвертер карты оригинала, потом выделим оттуда звуковые спрайты и вставим в уже рабочие карты, ничего сложного быть не должно (Добавление) чето он больше не компилится blub2e.cpp не может найти путь к .h а если компилить сам blub2e.h то куча ошибок (Добавление) Пришлось подключать <cstdlib>, чтобы прога понимала EXIT_FAILURE и EXIT_SUCCESS (Добавление) Конвертация E3M5 не получилась, Invalid map format, nothing loaded (code -3). Редактор зависает (Добавление) Удалось сконвертировать и открыть простенькую карту-коробку Может это поможет разобраться в ошибке http://rghost.ru/56078630 (Отредактировано автором: 02 Июня, 2014 - 08:23:40) |
433. flanker - 02 Июня, 2014 - 09:19:12 | |
нет, наверно у тебя что-то не так собирается. там теперь сборка идет утилитой make. твоя коробочка у меня без проблем конвертируется http://fc07.deviantart.net/fs70/f/2014/152/8/e/duke0055_by_flankerus-d7kp9rh.png и E3M5 в редакторе открывается. а тот файл который у тебя получился SPRITES-DUKE.MAP, он действительно поврежден. Цитата:
т.е. мне достаточно будет сейчас отконвертировать 3-й, 4-й эпизоды и послать карты тебе? |
434. empy - 02 Июня, 2014 - 09:28:40 |
Что в итоге получится сконвертировать? Со спавном второго спрайта для двойных звуков нет проблем? Можно ли перенести уровни сложности врагов (там тоже есть нюансы) и мульти-синглплеерное оружие? |
435. flanker - 02 Июня, 2014 - 09:39:53 |
добавление второго страйта, займет может строчки три в исходнике програмы, но я еще е тестировал такие объекты. если я для второго спрайта задам те же x/y/z координаты, можно ли в редакторе будет увидеть, что там именно два спрайта? ну так, в целом, коныертируются враги, оружие, снаряжение, амбиент звуки. SectorSFX пока частично, как говорил. (Добавление) карта e3m5 для примера: http://yadi.sk/d/wyagqpE9Rx5Y6 (Отредактировано автором: 02 Июня, 2014 - 09:41:29) |
436. [M210®] - 02 Июня, 2014 - 11:28:52 | |||
Цитата:
Я в конечном итоге и собрал прогу с помощью make, а на выходе кривые карты Цитата:
На первое время да. Цитата:
В редакторе этого видно не будет, пока не разнесешь спрайты вручную, но чисто логически, можно будет ожидать два спрайта в зоне сектора двери, а т.к. дверь все равно переделывать, то два спрайта легко будет обнаружить, так что это не проблема. и да, как empy предлагает, мультиплеерному оружию применяй сразу палитру №1 при конвертации (Добавление) Кстати, на уровнях есть спрайты с номером 9117, из-за которых игра не запускается, пишет много спрайтов игрока...эти спрайты я обычно удалял, если они тебе нужны, тогда лучше обнуляй им картинку или удалять вообще с уровня (Отредактировано автором: 02 Июня, 2014 - 11:30:04) |
Powered by ExBB 1.9.1 Original Style v1.5a2 created by Daemon.XP |