#331
31 марта 2011 в 04:52
Против такой ошибки сделал обход<br />ээээ... два байта на индекс в протоколе берса?
#332
31 марта 2011 в 05:54
нет, тут не в протоколе изменение, а чтоб из игры не выбрасывало.<br />При переполнении индекса, печатается ворнинг, и возвращается максимально занятый индекс (чужой индекс естественно). Но зато игра не умрёт.<br /><br />И до 2 байт расширю индекс в протоколе. Заодно может сделаю поддержку больших карт... вот бы кто пример такой карты подкинул для проверки.
#333
31 марта 2011 в 13:31
вот бы кто пример такой карты подкинул для проверки.<br />Легко сказать( Мой q2bsp при компиляции принудительно отсекает всё, что выпадает из доступных 800 метров(<br />
#334
31 марта 2011 в 14:35
[quote author=Берсеркер link=topic=638.msg14969#msg14969 date=1301550842]Заодно может сделаю поддержку больших карт... вот бы кто пример такой карты подкинул для проверки.[/quote]<br /><br />Насколько помню в q2bsp было ограничение.. толи 8192 юнита от 0 по каждой из осей, толи 8192 всего амксимально. самая "большая" карта, которую я видел - base64, слепленная из всех уровней первого hub-уровня Q2. Но там вроде все более-менее компактно сделано.<br />
#335
02 апреля 2011 в 10:36
http://upload.com.ua/get/902487160/q2b_shortIndexes.rar<br />тестовый билд: расширены индексы моделей, звуков и текстур<br />#define MAX_MODELS_BERS 1024<br />#define MAX_SOUNDS_BERS 2048<br />#define MAX_IMAGES_BERS 1024<br />Было 256. Не стал делать лимит моделей больше чем ентитей (1024), ибо нет смысла. Лимит на звуки сделал побольше, т.к. один ентити может иметь несколько звуков.<br />Можно было конечно легко сделать 8192, но не стал, для экономии памяти. Думаю, 1024/2048 достаточно.<br />Соответственно поменялся сетевой протокол Берса (Для протокола Ку2 конечно без изменений, и лимиты старые - 256).<br />Похвастаюсь: реализация передачи расширенных индексов по сети у меня получше, чем в kmquake2 ::)<br />Если Knightmare просто передает 16-битные индексы, увеличив сетевой трафик, я же, передаю индекс в 8-битном представлении если его значение меньше 256, и в 16-битном формате, если больше 255. Т.к. вероятность появления 16-битных индексов очень мала, можно сказать, что моя реализация почти не увеличила объем передаваемой информации по сети.<br /><br />Проверил: на q2dm1 поставил всех монстров, проблем не ощутил.<br />
#336
02 апреля 2011 в 11:46
ооо) Это кул)<br />Есть идеи у кого-нибудь как можно большие карты делать?
#337
02 апреля 2011 в 11:58
уже делаю. Сейчас в код добавляю поддержку, а попозже попробую создать такую карту. Для этого скачал kmqbsp_113b.zip
#338
02 апреля 2011 в 15:21
Кстати, кто-то вообще занимается динамической музыкой? А то первый уровень впечатляет :)
#339
02 апреля 2011 в 17:37
Сделал поддержку сверхбольших карт (1М х 1М х 1М). Напомню, стандарт до 4К х 4К х 4К.<br />Основано на базе kmquake2, но опять же, с оптимизацией сетевого трафика: если передаваемая координата меньше +/-4096, то передаем как обычно, 16 бит. Иначе - 24 бита. Работает только под протоколом берса, на ку2-протоколе выругается.<br />http://upload.com.ua/get/902487867/q2bers_largemap.rar<br />В архиве прилагается пример карты + сурс .map<br />Вот в доказательство шот ;) посмотрите на координаты игрока:<br /><br /><br />
Кстати, кто-то вообще занимается динамической музыкой? А то первый уровень впечатляет<br />был музыкант, но что то пропал :(
#340
02 апреля 2011 в 19:24
крууууть)<br />От края до края по прямой бежал ~25 (!) секунд)