On Tue, Jan 02, 2001 at 08:48:38PM -0800, Mark Wedel wrote: > IF for example they are the same except for damage (ie, they are moving the > same direction, have the same distance to still move, and so on), merge them but > have the damage additive? Would that work? (I guess the better question is - There are other differences like stats.hp, but it might still help a bit. I just noticed that explosions are not CONE, but FBALL objects, handled by explosion() in server/spell_util.c. This function does a remove_ob()/insert_ob_in_map() (almost) every time to keep the fire object on top (which isn't working properly anyway). Maybe removing that would improve performance significantly. > Otherwise, other than limiting amount of objects per space, I don't see an easy > solution to that (a harder one would be to have a seperate list/stacking on each > space that represents objects or livable creatures, which wouldn't get too large > by its nature, so performance wouldn't get as terrible). I don't see any other solution than this, either. > Another possible solution which may work would be to stop searching the space > (which goes from bottom up) once we find another arch of the same type. This [...] You'd end up with the same thing as above: You need the objects to be sorted some way, and you need extra pointers to do this efficiently. I think you might as well start with an explicit list for movable and living objects. -- Jan