#1
14 ноября 2011 в 08:18
Решил сделать сингл-карту для Quake 2, и возникл вопрос - какие ограничения в оригинальном движке Quake 2 на размеры карты (8192 юнита в каждом измерении вроде в Q1 было)? А также на количество брашей и энтитей, видимых полигонов и т.п?
#2
14 ноября 2011 в 14:22
в ку2 тоже лимит: куб со сторонами 8192 у.е. (в ку2берс-протоколе лимит расширен до 32768)<br />#define MAX_MAP_AREAS 256 это разделяемые дверями зоны (точнее func_areaportal)<br />#define MAX_PARSE_ENTITIES 1024<br />ещё:<br />//<br />// per-level limits<br />//<br />#define MAX_CLIENTS 256 // absolute limit<br />#define MAX_GENERAL (MAX_CLIENTS*2) // general config strings<br />#define MAX_EDICTS 1024 // must change protocol to increase more<br />#define MAX_ITEMS 256<br />#define MAX_LIGHTSTYLES 256<br /><br />далее лимиты на видимую часть сцены, то, что передаёт сервер клиенту:<br />// for Q2 protocol<br />#define MAX_MODELS_Q2 256 // these are sent over the net as bytes<br />#define MAX_SOUNDS_Q2 256 // so they cannot be blindly increased<br />#define MAX_IMAGES_Q2 256<br />// for Berserker protocol<br />#define MAX_MODELS_BERS 1024 // можно легко увеличивать до 65536, используются 16-бит<br />#define MAX_SOUNDS_BERS 2048<br />#define MAX_IMAGES_BERS 1024<br /><br />лимиты геометрии карты:<br />#define MAX_MAP_MODELS 1024<br />#define MAX_MAP_BRUSHES 16384 // в ку2 было 8192, LARGE_MAP_SIZE support<br />// #define MAX_MAP_ENTITIES 2048 // unused<br />#define MAX_MAP_ENTSTRING 0x80000 // в ку2 было 0x40000, LARGE_MAP_SIZE support<br />#define MAX_MAP_TEXINFO 8192<br /><br />#define MAX_MAP_AREAPORTALS 1024<br />#define MAX_MAP_PLANES 65536<br />#define MAX_MAP_NODES 65536<br />#define MAX_MAP_BRUSHSIDES 65536<br />//#define MAX_MAP_LEAFS 65536<br />#define MAX_MAP_VERTS 65536<br />#define MAX_MAP_FACES 65536<br />#define MAX_MAP_LEAFFACES 65536<br />#define MAX_MAP_LEAFBRUSHES 65536<br />#define MAX_MAP_PORTALS 65536<br />#define MAX_MAP_EDGES 128000<br />#define MAX_MAP_SURFEDGES 256000<br />#define MAX_MAP_LIGHTING 0x200000<br />#define MAX_MAP_VISIBILITY 0x100000<br /><br />
#3
18 ноября 2011 в 14:53
Сергей, вот касательно последнего блока дефайнов (начиная с #define MAX_MAP_AREAPORTALS 1024) это относительно онригинала или из Berserker@Q2 ?
#5
18 ноября 2011 в 18:16
Thanks. Больше вопросов пока вроде нет.
#6
02 февраля 2012 в 16:14
Возможно ли увеличить лимиты на видимые элементы?
#7
02 февраля 2012 в 16:30
можно, в q2bers так и сделано, конечно же для своего сетевого протокола:<br />// for Q2 protocol<br />#define MAX_MODELS_Q2 256 // these are sent over the net as bytes<br />#define MAX_SOUNDS_Q2 256 // so they cannot be blindly increased<br />#define MAX_IMAGES_Q2 256<br />// for Berserker protocol<br />#define MAX_MODELS_BERS 1024 // можно легко увеличивать до 65536, используются 16-бит<br />#define MAX_SOUNDS_BERS 2048<br />#define MAX_IMAGES_BERS 1024<br />
#8
02 февраля 2012 в 17:16
вот что написано в q_shared.h<br /><br />
//<br />// per-level limits<br />//<br />#define MAX_CLIENTS 128 // absolute limit<br />#define MAX_LOCATIONS 64<br /><br />#define GENTITYNUM_BITS 10 // don't need to send any more<br />//#define GENTITYNUM_BITS 11 // don't need to send any more (SA) upped 4/21/2001 adjusted: tr_local.h (802-822), tr_main.c (1501), sv_snapshot (206)<br />#define MAX_GENTITIES ( 1 << GENTITYNUM_BITS )<br /><br />// entitynums are communicated with GENTITY_BITS, so any reserved<br />// values thatare going to be communcated over the net need to<br />// also be in this range<br />#define ENTITYNUM_NONE ( MAX_GENTITIES - 1 )<br />#define ENTITYNUM_WORLD ( MAX_GENTITIES - 2 )<br />#define ENTITYNUM_MAX_NORMAL ( MAX_GENTITIES - 2 )<br /><br /><br />#define MAX_MODELS 256 // these are sent over the net as 8 bits<br />#define MAX_SOUNDS 256 // so they cannot be blindly increased
<br /><br />и если MAX_MODELS задефайнить больше 256, то перестают отображаться модели либо коверкается расположение модели<br /><br />и как сделать чтобы these are sent over the net as 8 bits можно было бы отправлять 16 бит и более?
#9
03 февраля 2012 в 18:55
Приветствую, камрады. Лимит моделей, не единственная наша проблема, в которую сейчас упёрлись. На данный момент на нескольких картах превышен лемит, чего пока не знаем сами, т.к по колличеству энтитиесов, вершин и т.д, видимых в свойствах карты, вроде как ничего не превышено. Но баг не приятный, и заключается в пропадении и мерцании различных энтитиесов, таких как эксплозивы, скриптмуверы, двери, различные пикапы (аптечки, аммо, оружие). Кто-то сталкивался с чем-то подобным и может знает причину проблемы и варианты её решения?<br />
#10
03 февраля 2012 в 20:35
Krot, под чем тестим? неужто под ориджинал Quake2 3.21? так бросайте это неблагодарное занятие и пересаживайтесь под Berserker@Quake2 1.36! и траблы пропадут - есть где развернуться, да и глазу приятней. ;)<br />(реклама проведена под эгидой организции "Сейф зе Строггос!")