Esempio n. 1
0
void eraseGeometry()
{
    // Clear out map
    int halfSize = getworldsize()/2;
    loopi(2) loopj(2) loopk(2)
        deleteCube(i*halfSize, j*halfSize, k*halfSize, halfSize);
}
Esempio n. 2
0
static void buildfont() {
  u8 *font = (u8*)MALLOC(fontw*fonth*sizeof(u8));
  loopi(fonth) loopj(fontw/32) loopk(32)
    font[i*fontw+j*32+k] = (fontdata[i*fontw/32+j]&(1<<k))?~0x0:0x0;
  u32 id = ogl::maketex("TB Ir Dr B2 Wsr Wtr Mn mn", font, fontw, fonth);
  FREE(font);
  textfont = id;
}
Esempio n. 3
0
 vec getaimpos(fpsent *d, fpsent *e)
 {
     vec o = e->o;
     if(d->gunselect == GUN_RL) o.z += (e->aboveeye*0.2f)-(0.8f*d->eyeheight);
     else if(d->gunselect != GUN_GL) o.z += (e->aboveeye-e->eyeheight)*0.5f;
     if(d->skill <= 100)
     {
         if(lastmillis >= d->ai->lastaimrnd)
         {
             const int aiskew[NUMGUNS] = { 1, 10, 50, 5, 20, 1, 100, 10, 10, 10, 1, 1 };
             #define rndaioffset(r) ((rnd(int(r*aiskew[d->gunselect]*2)+1)-(r*aiskew[d->gunselect]))*(1.f/float(max(d->skill, 1))))
             loopk(3) d->ai->aimrnd[k] = rndaioffset(e->radius);
             int dur = (d->skill+10)*10;
             d->ai->lastaimrnd = lastmillis+dur+rnd(dur);
         }
         loopk(3) o[k] += d->ai->aimrnd[k];
     }
     return o;
 }