示例#1
0
void gencubeclip(cube &c, const ivec &o, int size)
{
    if(nextclip >= &clipcache[MAXCLIPPLANES]) nextclip = clipcache;
    ext(c).clip = nextclip;
    nextclip->owner = &c;
    genclipplanes(c, o.x, o.y, o.z, size, *nextclip);
    nextclip++;
}
示例#2
0
static inline clipplanes &getclipplanes(const cube &c, const ivec &o, int size, bool collide = true, int offset = 0)
{
    clipplanes &p = clipcache[int(&c - worldroot)&(MAXCLIPPLANES-1)];
    if(p.owner != &c || p.version != clipcacheversion+offset)
    {
        p.owner = &c;
        p.version = clipcacheversion+offset;
        genclipplanes(c, o.x, o.y, o.z, size, p, collide);
    }
    return p;
}