Welcome, guest. You can be a Login или register
« Previous 1 2 3 4 Next » | All
Author
Topic title
Maphfus
Offline
27 posts
Karma 5
Раздаю на Рутракере свою сборку текстур, моделей и объектов "Maphfus’s QUAKE compilation".
http://rutracker.org/forum/viewtopic.php?t=3057334

Приглашаю посмотреть и скачать. Моя сборка базируется на текстурах QRP, но содержит их дополнение, сделанное самостоятельно, ну, и много другого вкусного.

Сейчас я с большим интересом рассматриваю проект г-на QuakeZombie! Тебе БОЛЬШОЙ ПРИВЕТ и РЕСПЕКТ!

ВСЕМ Квейк КАЙФА!!!!
Берсеркер
Offline
Суровый челябинский программист
2266 posts
Karma 201
обязатна качну!
ЗЫ: могу попробовать вылечить вылет на E4M2, у меня большой опыт по исцелению такого рода косяков 8)
Но гарантий не даю, ибо времени жуть как не хватает. Но могу попытаться.
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Maphfus
Offline
27 posts
Karma 5
Спасибо большое! Буду очень рад! Глюк раздражающий, он как бы обламывает завершенность изделия.
Берсеркер
Offline
Суровый челябинский программист
2266 posts
Karma 201
Обещание сдержано, поправил движок DarkPlaces. Поясняю в чём проблема краша на E4M2:
В файле svbsp.c определен лимит на кол-во вершин на полигон:
#define MAX_SVBSP_POLYGONPOINTS 16
Моё мнение: маловато вершин зарезервировано. В Q2Bers я зарезервировал 64 вершины. Ну да ладно.

В том же файле:
typedef struct svbsp_polygon_s
{
float points[MAX_SVBSP_POLYGONPOINTS][3];
//unsigned char splitflags[MAX_SVBSP_POLYGONPOINTS];
int facesplitflag;
int numpoints;
}
svbsp_polygon_t;

Там же:
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)
{
int i;
int nodenum;
svbsp_polygon_t poly;
// don't even consider an empty polygon
// note we still allow points and lines to be tested...
if (numpoints < 1)
return 0;

poly.numpoints = numpoints;
for (i = 0;i < numpoints;i++)
{
poly.points[i][0] = points[i*3+0];
poly.points[i][1] = points[i*3+1];
poly.points[i][2] = points[i*3+2];
//poly.splitflags[i] = 0; // this edge is a valid BSP splitter - clipped edges are not (because they lie on a bsp plane)
poly.facesplitflag = 0; // this face is a valid BSP Splitter - if it lies on a bsp plane it is not
}
...

В момент падения numpoints = 24, т.е. явно превышает MAX_SVBSP_POLYGONPOINTS.
Поэтому я вижу 2 способа лечения:
1. Увеличить
#define MAX_SVBSP_POLYGONPOINTS 32 /// Berserker: was 16

2. Вставить проверку:
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)
{
int i;
int nodenum;
svbsp_polygon_t poly;
// don't even consider an empty polygon
// note we still allow points and lines to be tested...
if (numpoints < 1)
return 0;

/// Berserker's fix: crash on E4M2
if (numpoints > MAX_SVBSP_POLYGONPOINTS)
return 0;
/// End of fix

poly.numpoints = numpoints;
for (i = 0;i < numpoints;i++)
{
poly.points[i][0] = points[i*3+0];
poly.points[i][1] = points[i*3+1];
poly.points[i][2] = points[i*3+2];
//poly.splitflags[i] = 0; // this edge is a valid BSP splitter - clipped edges are not (because they lie on a bsp plane)
poly.facesplitflag = 0; // this face is a valid BSP Splitter - if it lies on a bsp plane it is not
}
...

Впрочем, 1 и 2 методы можно применить сразу оба: увеличить лимит вершин на полигон, и проверка на переполнение тоже не лишняя.
Но возможно, метод 1 может вызвать заметно большую потребность в оперативной памяти.
Я лично попробовал только метод 2, и движок перестал падать на E4M2 ;) 24-вершинные полигоны просто игнорируются.
Maphfus, тебе остаётся только внести изменения в исходники DP и собрать. Я не смогу предоставить готовую сборку, т.к. пришлось кое что в исходнике подрезать (были проблемы с библиотекой SDL).
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Берсеркер
Offline
Суровый челябинский программист
2266 posts
Karma 201
Нашел свежий SDL, скомпилировал, вот:
http://files.mail.ru/U4MH5Z
пользуйтесь ;)
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Maphfus
Offline
27 posts
Karma 5
ПОТРЯСАЮЩЕ!!! ВЫ ГЕНИЙ!!!
Я просто не могу себе представить, как это можно, залезть в такой сложный чужой код, разобраться в проблеме, найти эффективное лечение, все пересобрать… Как же это круто! Восхищаюсь Вами! Спасибо!

Вы сказали, что у Вас есть собственный движок Квейка? Можно его попробовать?
Еще вопрос, я видел на каком-то скриншоте в интернете лаву, от которой поднимается пар, Вы не знаете, откуда это, и что это за движок?
Еще вопрос, существует ли в ДП возможность включить туман? Все обычно ругают туман, но мне кажется, что если включено слабое затуманивание предметов вдалеке, то это придает картинке больший реализм.
Искренне благодарен!
Берсеркер
Offline
Суровый челябинский программист
2266 posts
Karma 201
да не сложно было, отладчик рулит ;)
Вы сказали, что у Вас есть собственный движок Квейка? Можно его попробовать?

конечно ))
Еще вопрос, я видел на каком-то скриншоте в интернете лаву, от которой поднимается пар, Вы не знаете, откуда это, и что это за движок?

откуда мне знать, картинки то нет.
Еще вопрос, существует ли в ДП возможность включить туман?

без понятия.

ЗЫ: Кстати, сборка понравилась, качественные текстуры.
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Barnes
Offline
1848 posts
Karma 150
туман можно прикрутить к дп за пару минут
но возникнут проблемы с аддатив сурфами. это лечится конечно но подольше чем просто добавление тумана.
Какой богатый внутренний мир! Дай-ка посмотрю.....
Maphfus
Offline
27 posts
Karma 5
[quote author=Берсеркер link=topic=629.msg13954#msg13954 date=1285561926]
да не сложно было, отладчик рулит ;)конечно ))откуда мне знать, картинки то нет.без понятия.

ЗЫ: Кстати, сборка понравилась, качественные текстуры.
[/quote]


Я на КвейкВане написал про глюк, Лорд Хавок туда отписался, говорит, что про глюк знал, что даже исправил его, но не выкладывает новый буилд, так как не может добиться стабильности. Видимо, много нового туда подпихнул.
Если бы отвечал людям, то можно было бы и подождать, да? А так, мы ведь даже не знаем, он вообще свой движок дорабатывает и поддерживает, или спёкся. Напишешь ему, ни ответа, ни привета.

Вы сделали движок для Ку2, это отлично! Вообще-то, я люблю Ку1, а Ку2 хоть и прошел с дополнениями когда-то, но сильно не впечатлился. Но для Ку2 выходил такой мод Джагернот, который мне злобно понравился. Попробую в него поиграть на Вашем движке.

Еще мне для Ку2 очень понравился Кингпин. Я его прошел раза три или больше. Очень круто. Вы не планируете движок для Кингпина сделать? Я бы хотел позаниматься ретекстуром к Кингпину. Этого никто не делает, я знаю точно. Это одна из старых игр, которая мне понравилась почти также сильно, как Ку1. (Еще был Реднек на дюковском движке, сильно увлек атмосферой и музыкой, музыка там просто сказочная. Еще любил Realms Of The Hounting). Это вообще сложно, перекрутить Ваш движок для Кингпина? Родной движок Кингпиновский вообще на Виндозе семёре не пашет. Хотел поиграть, но не получилось.

Картинку с дымящейся лавой найду и скину. Очень интересно.

Спасибо за отзыв на сборку. Очень ценю Вашу оценку. Собственно лично мной сделанных текстур там не много, только то, что отсутствовало в проекте QRP (арки с костями, потолок с фонарем, арки с черепушками, некоторые тех текстуры, окно с красным фонарем). Мои текстуры не на том же уровне, как QRP, я просто из кусочков их собрал. Но они подходят к другим и не выбиваются, как чужие. Когда проект QRP будет завершен, необходимость в моих текстурах отпадет. Не сомневаюсь, что художники из QRP сделают работу лучше меня.
Maphfus
Offline
27 posts
Karma 5
[quote author=Barnes link=topic=629.msg13955#msg13955 date=1285570618]
туман можно прикрутить к дп за пару минут
но возникнут проблемы с аддатив сурфами. это лечится конечно но подольше чем просто добавление тумана.
[/quote]

Расскажите, пожалуйста, а в чем именно проблема. Я простак в терминологии и построении движков, я не совсем понимаю. Это невидимые стены, да? Или это поверхности, по которым происходит многопроходная обработка изображения? Извините за глупые вопросы, как-то более компетентно я их задать не могу.
« Previous 1 2 3 4 Next » | All