Hey all ~Ben2 now has the means to disable the Lights and the Elevators. I'm working on the usable size of the Map, allowing negative XYZ coords and such. My question: Do any of you know off-hand, the limits of the X,Y, and Z coords in the game? I want Ben to be able to max this out...something I've always wanted to do anyhow, and it looks like a rather important item for this project..~Yendor
//// per-level limits//#define MAX_EDICTS 1024 // must change protocol to increase more#define MAX_LIGHTSTYLES 256#define MAX_MODELS 256 // these are sent over the net as bytes#define MAX_SOUNDS 256 // so they cannot be blindly increased#define MAX_IMAGES 256#define MAX_ITEMS 256#define MAX_GENERAL (MAX_CLIENTS*2) // general config strings
MAX_MODELS worries you? Why? Of your 256 players, 220 of them are going to be using male/female/cyborg.
void SP_func_door (edict_t *ent){ vec3_t abs_movedir; if (ent->sounds != 1) { ent->moveinfo.sound_start = gi.soundindex ("doors/dr1_strt.wav"); ent->moveinfo.sound_middle = gi.soundindex ("doors/dr1_mid.wav"); ent->moveinfo.sound_end = gi.soundindex ("doors/dr1_end.wav"); } G_SetMovedir (ent->s.angles, ent->movedir); ent->movetype = MOVETYPE_PUSH; ent->solid = SOLID_BSP; gi.setmodel (ent, ent->model); ...
Yes. Any time you are calling gi.setmodel you are creating another model and the associated entity, if the model has been spawned before it won't count against the model limit (it was already indexed) but it will count against the entity limit (as a new ent). If it has an associated Think function (ent->think = ...) then it has physics or touch properties that can also create network traffic for all players in view when it moves. (a potential lag problem)In OO terms, you are creating an ent object and changing its attributes by filling the struct for it, the gi.* functions are the public interface to that object that is managed by the engine. Think of Spawn_Something funcs as being operator new for an object of class Something derived from class Entity and you pretty much have a handle on it. The engine is then acting as the memory manager for your objects and it has those limits on how many objects you can create.
I'm expecting some outdoor areas from people working on the top levels, but overall caves and outdoor areas are going to be way too detailed. This is going to be more like square pillars and boxes in giant warehouse style rooms.
It took 14 HOURS to compile!!! And that's on a dual P4 x64 at 3.2MHz!
Quote from: Yendor on March 30, 2009, 11:16:00 AMIt took 14 HOURS to compile!!! And that's on a dual P4 x64 at 3.2MHz!Well, no wonder!!