Maphfus
27 постов
Карма: 5
#1 22 сентября 2010 в 19:46
Раздаю на Рутракере свою сборку текстур, моделей и объектов &quot;Maphfus’s QUAKE compilation&quot;.<br />http://rutracker.org/forum/viewtopic.php?t=3057334<br /><br />Приглашаю посмотреть и скачать. Моя сборка базируется на текстурах QRP, но содержит их дополнение, сделанное самостоятельно, ну, и много другого вкусного.<br /><br />Сейчас я с большим интересом рассматриваю проект&nbsp; г-на QuakeZombie! Тебе БОЛЬШОЙ ПРИВЕТ и РЕСПЕКТ!<br /><br />ВСЕМ Квейк КАЙФА!!!!
Берсеркер
2318 постов
Карма: 216
#2 25 сентября 2010 в 13:04
обязатна качну!<br />ЗЫ: могу попробовать вылечить вылет на E4M2, у меня большой опыт по исцелению такого рода косяков&nbsp; 8)<br />Но гарантий не даю, ибо времени жуть как не хватает. Но могу попытаться.
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Maphfus
27 постов
Карма: 5
#3 25 сентября 2010 в 20:03
Спасибо большое! Буду очень рад! Глюк раздражающий, он как бы обламывает завершенность изделия.
Берсеркер
2318 постов
Карма: 216
#4 26 сентября 2010 в 14:39
Обещание сдержано, поправил движок DarkPlaces. Поясняю в чём проблема краша на E4M2:<br />В файле svbsp.c определен лимит на кол-во вершин на полигон:<br />#define MAX_SVBSP_POLYGONPOINTS 16<br />Моё мнение: маловато вершин зарезервировано. В Q2Bers я зарезервировал 64 вершины. Ну да ладно.<br /><br />В том же файле:<br />typedef struct svbsp_polygon_s<br />{<br /> float points[MAX_SVBSP_POLYGONPOINTS][3];<br /> //unsigned char splitflags[MAX_SVBSP_POLYGONPOINTS];<br /> int facesplitflag;<br /> int numpoints;<br />}<br />svbsp_polygon_t;<br /><br />Там же:<br />int SVBSP_AddPolygon(svbsp_t *b, int numpoints, const float *points, int insertoccluder, void (*fragmentcallback)(void *fragmentcallback_pointer1, int fragmentcallback_number1, svbsp_t *b, int numpoints, const float *points), void *fragmentcallback_pointer1, int fragmentcallback_number1)<br />{<br /> int i;<br /> int nodenum;<br /> svbsp_polygon_t poly;<br /> // don&#39;t even consider an empty polygon<br /> // note we still allow points and lines to be tested...<br /> if (numpoints &lt; 1)<br /> return 0;<br /><br /> poly.numpoints = numpoints;<br /> for (i = 0;i &lt; numpoints;i++)<br /> {<br /> poly.points[i][0] = points[i*3+0];<br /> poly.points[i][1] = points[i*3+1];<br /> poly.points[i][2] = points[i*3+2];<br /> //poly.splitflags[i] = 0; // this edge is a valid BSP splitter - clipped edges are not (because they lie on a bsp plane)<br /> poly.facesplitflag = 0; // this face is a valid BSP Splitter - if it lies on a bsp plane it is not<br /> }<br />...<br /><br />В момент падения numpoints = 24, т.е. явно превышает MAX_SVBSP_POLYGONPOINTS.<br />Поэтому я вижу 2 способа лечения:<br />1. Увеличить <br />#define MAX_SVBSP_POLYGONPOINTS 32&nbsp; /// Berserker: was 16<br /><br />2. Вставить проверку:<br />int SVBSP_AddPolygon(svbsp_t *b, int numpoints, const float *points, int insertoccluder, void (*fragmentcallback)(void *fragmentcallback_pointer1, int fragmentcallback_number1, svbsp_t *b, int numpoints, const float *points), void *fragmentcallback_pointer1, int fragmentcallback_number1)<br />{<br /> int i;<br /> int nodenum;<br /> svbsp_polygon_t poly;<br /> // don&#39;t even consider an empty polygon<br /> // note we still allow points and lines to be tested...<br /> if (numpoints &lt; 1)<br /> return 0;<br /><br />/// Berserker&#39;s fix:&nbsp; crash on E4M2<br />if (numpoints &gt; MAX_SVBSP_POLYGONPOINTS)<br /> return 0;<br />/// End of fix<br /><br /> poly.numpoints = numpoints;<br /> for (i = 0;i &lt; numpoints;i++)<br /> {<br /> poly.points[i][0] = points[i*3+0];<br /> poly.points[i][1] = points[i*3+1];<br /> poly.points[i][2] = points[i*3+2];<br /> //poly.splitflags[i] = 0; // this edge is a valid BSP splitter - clipped edges are not (because they lie on a bsp plane)<br /> poly.facesplitflag = 0; // this face is a valid BSP Splitter - if it lies on a bsp plane it is not<br /> }<br />...<br /><br />Впрочем, 1 и 2 методы можно применить сразу оба: увеличить лимит вершин на полигон, и проверка на переполнение тоже не лишняя.<br />Но возможно, метод 1 может вызвать заметно большую потребность в оперативной памяти.<br />Я лично попробовал только метод 2, и движок перестал падать на E4M2&nbsp; ;)&nbsp; 24-вершинные полигоны просто игнорируются.<br />Maphfus, тебе остаётся только внести изменения в исходники DP и собрать. Я не смогу предоставить готовую сборку, т.к. пришлось кое что в исходнике подрезать (были проблемы с библиотекой SDL).<br />
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Берсеркер
2318 постов
Карма: 216
#5 26 сентября 2010 в 15:07
Нашел свежий SDL, скомпилировал, вот:<br />http://files.mail.ru/U4MH5Z<br />пользуйтесь ;)
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Maphfus
27 постов
Карма: 5
#6 26 сентября 2010 в 19:34
ПОТРЯСАЮЩЕ!!! ВЫ ГЕНИЙ!!!<br />Я просто не могу себе представить, как это можно, залезть в такой сложный чужой код, разобраться в проблеме, найти эффективное лечение, все пересобрать… Как же это круто! Восхищаюсь Вами! Спасибо! <br /><br />Вы сказали, что у Вас есть собственный движок Квейка? Можно его попробовать?<br />Еще вопрос, я видел на каком-то скриншоте в интернете лаву, от которой поднимается пар, Вы не знаете, откуда это, и что это за движок?<br />Еще вопрос,&nbsp; существует ли в ДП возможность включить туман? Все обычно ругают туман, но мне кажется, что если включено слабое затуманивание предметов вдалеке,&nbsp; то это придает картинке больший реализм.<br />Искренне благодарен!<br />
Берсеркер
2318 постов
Карма: 216
#7 27 сентября 2010 в 04:32
да не сложно было, отладчик рулит ;)<br />
Вы сказали, что у Вас есть собственный движок Квейка? Можно его попробовать?
<br />конечно ))<br />
Еще вопрос, я видел на каком-то скриншоте в интернете лаву, от которой поднимается пар, Вы не знаете, откуда это, и что это за движок?
<br />откуда мне знать, картинки то нет.<br />
Еще вопрос,&nbsp; существует ли в ДП возможность включить туман?
<br />без понятия.<br /><br />ЗЫ: Кстати, сборка понравилась, качественные текстуры.
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Barnes
1965 постов
Карма: 153
#8 27 сентября 2010 в 06:56
туман можно прикрутить к дп за пару минут<br />но возникнут проблемы с аддатив сурфами. это лечится конечно но подольше чем просто добавление тумана.
Какой богатый внутренний мир! Дай-ка посмотрю.....
Maphfus
27 постов
Карма: 5
#9 27 сентября 2010 в 07:43
[quote author=Берсеркер link=topic=629.msg13954#msg13954 date=1285561926]<br />да не сложно было, отладчик рулит ;)конечно ))откуда мне знать, картинки то нет.без понятия.<br /><br />ЗЫ: Кстати, сборка понравилась, качественные текстуры.<br />[/quote]<br /><br /><br />Я на КвейкВане написал про глюк, Лорд Хавок туда отписался, говорит, что про глюк знал, что даже исправил его, но не выкладывает новый буилд, так как не может добиться стабильности. Видимо, много нового туда подпихнул.<br />Если бы отвечал людям, то можно было бы и подождать, да? А так, мы ведь даже не знаем, он вообще свой движок дорабатывает и поддерживает, или спёкся. Напишешь ему, ни ответа, ни привета.<br /><br />Вы сделали движок для Ку2, это отлично! Вообще-то, я люблю Ку1, а Ку2 хоть и прошел с дополнениями когда-то, но сильно не впечатлился. Но для Ку2 выходил такой мод Джагернот, который мне злобно понравился. Попробую в него поиграть на Вашем движке.<br /><br />Еще мне для Ку2 очень понравился Кингпин. Я его прошел раза три или больше. Очень круто. Вы не планируете движок для Кингпина сделать? Я бы хотел позаниматься ретекстуром к Кингпину. Этого никто не делает, я знаю точно. Это одна из старых игр, которая мне понравилась почти также сильно, как Ку1. (Еще был Реднек на дюковском движке, сильно увлек атмосферой и музыкой, музыка там просто сказочная. Еще любил Realms Of The Hounting). Это вообще сложно, перекрутить Ваш движок для Кингпина? Родной движок Кингпиновский вообще на Виндозе семёре не пашет. Хотел поиграть, но не получилось.<br /><br />Картинку с дымящейся лавой найду и скину. Очень интересно.<br /><br />Спасибо за отзыв на сборку. Очень ценю Вашу оценку. Собственно лично мной сделанных текстур там не много, только то, что отсутствовало в проекте QRP (арки с костями, потолок с фонарем, арки с черепушками, некоторые тех текстуры, окно с красным фонарем). Мои текстуры не на том же уровне, как QRP, я просто из кусочков их собрал. Но они подходят к другим и не выбиваются, как чужие. Когда проект QRP будет завершен, необходимость в моих текстурах отпадет. Не сомневаюсь, что художники из QRP сделают работу лучше меня.<br />
Maphfus
27 постов
Карма: 5
#10 27 сентября 2010 в 07:47
[quote author=Barnes link=topic=629.msg13955#msg13955 date=1285570618]<br />туман можно прикрутить к дп за пару минут<br />но возникнут проблемы с аддатив сурфами. это лечится конечно но подольше чем просто добавление тумана.<br />[/quote]<br /><br />Расскажите, пожалуйста, а в чем именно проблема. Я простак в терминологии и построении движков, я не совсем понимаю. Это невидимые стены, да? Или это поверхности, по которым происходит многопроходная обработка изображения? Извините за глупые вопросы, как-то более компетентно я их задать не могу.