Welcome, guest. You can be a Login или register
« Previous 1 2 Next » | All
Author
Topic title
DOOMer
Offline
Хранитель и могильщик Врат
1557 posts
Karma 103
Решил сделать сингл-карту для Quake 2, и возникл вопрос - какие ограничения в оригинальном движке Quake 2 на размеры карты (8192 юнита в каждом измерении вроде в Q1 было)? А также на количество брашей и энтитей, видимых полигонов и т.п?
Вертексы должны образовывать конвексный браш
My Quake Maps

Core i5 4210U 1.7 Ghz, 8 Gb RAM, GeForce 840M
Calculate Linux 18.x [



сохранись перед дверью...два раза =)
Берсеркер
Offline
Суровый челябинский программист
2258 posts
Karma 200
в ку2 тоже лимит: куб со сторонами 8192 у.е. (в ку2берс-протоколе лимит расширен до 32768)
#define MAX_MAP_AREAS 256 это разделяемые дверями зоны (точнее func_areaportal)
#define MAX_PARSE_ENTITIES 1024
ещё:
//
// per-level limits
//
#define MAX_CLIENTS 256 // absolute limit
#define MAX_GENERAL (MAX_CLIENTS*2) // general config strings
#define MAX_EDICTS 1024 // must change protocol to increase more
#define MAX_ITEMS 256
#define MAX_LIGHTSTYLES 256

далее лимиты на видимую часть сцены, то, что передаёт сервер клиенту:
// for Q2 protocol
#define MAX_MODELS_Q2 256 // these are sent over the net as bytes
#define MAX_SOUNDS_Q2 256 // so they cannot be blindly increased
#define MAX_IMAGES_Q2 256
// for Berserker protocol
#define MAX_MODELS_BERS 1024 // можно легко увеличивать до 65536, используются 16-бит
#define MAX_SOUNDS_BERS 2048
#define MAX_IMAGES_BERS 1024

лимиты геометрии карты:
#define MAX_MAP_MODELS 1024
#define MAX_MAP_BRUSHES 16384 // в ку2 было 8192, LARGE_MAP_SIZE support
// #define MAX_MAP_ENTITIES 2048 // unused
#define MAX_MAP_ENTSTRING 0x80000 // в ку2 было 0x40000, LARGE_MAP_SIZE support
#define MAX_MAP_TEXINFO 8192

#define MAX_MAP_AREAPORTALS 1024
#define MAX_MAP_PLANES 65536
#define MAX_MAP_NODES 65536
#define MAX_MAP_BRUSHSIDES 65536
//#define MAX_MAP_LEAFS 65536
#define MAX_MAP_VERTS 65536
#define MAX_MAP_FACES 65536
#define MAX_MAP_LEAFFACES 65536
#define MAX_MAP_LEAFBRUSHES 65536
#define MAX_MAP_PORTALS 65536
#define MAX_MAP_EDGES 128000
#define MAX_MAP_SURFEDGES 256000
#define MAX_MAP_LIGHTING 0x200000
#define MAX_MAP_VISIBILITY 0x100000

Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
DOOMer
Offline
Хранитель и могильщик Врат
1557 posts
Karma 103
Сергей, вот касательно последнего блока дефайнов (начиная с #define MAX_MAP_AREAPORTALS 1024) это относительно онригинала или из Berserker@Q2 ?
Вертексы должны образовывать конвексный браш
My Quake Maps

Core i5 4210U 1.7 Ghz, 8 Gb RAM, GeForce 840M
Calculate Linux 18.x [



сохранись перед дверью...два раза =)
Берсеркер
Offline
Суровый челябинский программист
2258 posts
Karma 200
Q2
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
DOOMer
Offline
Хранитель и могильщик Врат
1557 posts
Karma 103
Thanks. Больше вопросов пока вроде нет.
Вертексы должны образовывать конвексный браш
My Quake Maps

Core i5 4210U 1.7 Ghz, 8 Gb RAM, GeForce 840M
Calculate Linux 18.x [



сохранись перед дверью...два раза =)
Eugeny
Offline
191 posts
Karma 10
Возможно ли увеличить лимиты на видимые элементы?
Берсеркер
Offline
Суровый челябинский программист
2258 posts
Karma 200
можно, в q2bers так и сделано, конечно же для своего сетевого протокола:
// for Q2 protocol
#define MAX_MODELS_Q2 256 // these are sent over the net as bytes
#define MAX_SOUNDS_Q2 256 // so they cannot be blindly increased
#define MAX_IMAGES_Q2 256
// for Berserker protocol
#define MAX_MODELS_BERS 1024 // можно легко увеличивать до 65536, используются 16-бит
#define MAX_SOUNDS_BERS 2048
#define MAX_IMAGES_BERS 1024
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Eugeny
Offline
191 posts
Karma 10
вот что написано в q_shared.h

//
// per-level limits
//
#define MAX_CLIENTS 128 // absolute limit
#define MAX_LOCATIONS 64

#define GENTITYNUM_BITS 10 // don't need to send any more
//#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)
#define MAX_GENTITIES ( 1 << GENTITYNUM_BITS )

// entitynums are communicated with GENTITY_BITS, so any reserved
// values thatare going to be communcated over the net need to
// also be in this range
#define ENTITYNUM_NONE ( MAX_GENTITIES - 1 )
#define ENTITYNUM_WORLD ( MAX_GENTITIES - 2 )
#define ENTITYNUM_MAX_NORMAL ( MAX_GENTITIES - 2 )


#define MAX_MODELS 256 // these are sent over the net as 8 bits
#define MAX_SOUNDS 256 // so they cannot be blindly increased


и если MAX_MODELS задефайнить больше 256, то перестают отображаться модели либо коверкается расположение модели

и как сделать чтобы these are sent over the net as 8 bits можно было бы отправлять 16 бит и более?
Krot
Offline
2 posts
Karma 0
Приветствую, камрады. Лимит моделей, не единственная наша проблема, в которую сейчас упёрлись. На данный момент на нескольких картах превышен лемит, чего пока не знаем сами, т.к по колличеству энтитиесов, вершин и т.д, видимых в свойствах карты, вроде как ничего не превышено. Но баг не приятный, и заключается в пропадении и мерцании различных энтитиесов, таких как эксплозивы, скриптмуверы, двери, различные пикапы (аптечки, аммо, оружие). Кто-то сталкивался с чем-то подобным и может знает причину проблемы и варианты её решения?
@tex
Offline
заЭпическая личнасть!
691 posts
Karma 65
Krot, под чем тестим? неужто под ориджинал Quake2 3.21? так бросайте это неблагодарное занятие и пересаживайтесь под Berserker@Quake2 1.36! и траблы пропадут - есть где развернуться, да и глазу приятней. ;)
(реклама проведена под эгидой организции "Сейф зе Строггос!")
сказочка.
жили-были три свиньи - Нах-Нах, Пох-Пох и Пиф-Паф

что ты сделал для Строггоса!? что ты наделал!!!
« Previous 1 2 Next » | All