| 225 | 
  | 
        if (hd) | 
| 226 | 
  | 
                return; | 
| 227 | 
  | 
                                        /* set initial viewpoint */ | 
| 228 | 
< | 
        copystruct(&nv, &odev.v); | 
| 228 | 
> | 
        nv = odev.v; | 
| 229 | 
  | 
        VSUM(nv.vp, hdlist[0]->orig, hdlist[0]->xv[0], 0.5); | 
| 230 | 
  | 
        VSUM(nv.vp, nv.vp, hdlist[0]->xv[1], 0.5); | 
| 231 | 
  | 
        VSUM(nv.vp, nv.vp, hdlist[0]->xv[2], 0.5); | 
| 249 | 
  | 
        double  d; | 
| 250 | 
  | 
        register int    i; | 
| 251 | 
  | 
                                        /* get beam coordinates */ | 
| 252 | 
< | 
        if (p->hd < 0 | p->hd >= HDMAX || hdlist[p->hd] == NULL) | 
| 252 | 
> | 
        if ((p->hd < 0) | (p->hd >= HDMAX) || hdlist[p->hd] == NULL) | 
| 253 | 
  | 
                error(INTERNAL, "bad holodeck number in disp_bundle"); | 
| 254 | 
  | 
        if (!hdbcoord(gc, hdlist[p->hd], p->bi)) | 
| 255 | 
  | 
                error(INTERNAL, "bad beam index in disp_bundle"); | 
| 306 | 
  | 
                                error(COMMAND, "invalid starting view"); | 
| 307 | 
  | 
                                return; | 
| 308 | 
  | 
                        } | 
| 309 | 
< | 
                        copystruct(v, viewhist + ((nhist-1)%VIEWHISTLEN)); | 
| 309 | 
> | 
                        *v = *(viewhist + ((nhist-1)%VIEWHISTLEN)); | 
| 310 | 
  | 
                        goto again;     /* poss. overloading dev_section()? */ | 
| 311 | 
  | 
                } | 
| 312 | 
  | 
                DCHECK(*slist < 0, WARNING, "no visible sections in new_view"); | 
| 319 | 
  | 
        imm_mode = beam_sync(odev.firstuse) > 0; | 
| 320 | 
  | 
                                /* record new view */ | 
| 321 | 
  | 
        if (v < viewhist || v >= viewhist+VIEWHISTLEN) { | 
| 322 | 
< | 
                copystruct(viewhist + (nhist%VIEWHISTLEN), v); | 
| 322 | 
> | 
                *(viewhist + (nhist%VIEWHISTLEN)) = *v; | 
| 323 | 
  | 
                nhist++; | 
| 324 | 
  | 
        } | 
| 325 | 
  | 
} | 
| 349 | 
  | 
        beam_init(0);                                   /* add basic views */ | 
| 350 | 
  | 
        for (i = 0; (dv = dev_auxview(i, res)) != NULL; i++) | 
| 351 | 
  | 
                beam_view(dv, res[0]>>4, res[1]>>4); | 
| 352 | 
< | 
        copystruct(&vwfocus, &odev.v);                  /* add focus view */ | 
| 352 | 
> | 
        vwfocus = odev.v;                       /* add focus view */ | 
| 353 | 
  | 
        switch (odev.v.type) { | 
| 354 | 
  | 
        case VT_PER: | 
| 355 | 
  | 
                vwfocus.horiz = 2.*180./PI*atan( | 
| 415 | 
  | 
        } | 
| 416 | 
  | 
        switch (i) { | 
| 417 | 
  | 
        case DC_SETVIEW:                /* set the view */ | 
| 418 | 
< | 
                copystruct(&vparams, &odev.v); | 
| 418 | 
> | 
                vparams = odev.v; | 
| 419 | 
  | 
                if (!sscanview(&vparams, args)) | 
| 420 | 
  | 
                        error(COMMAND, "missing view options"); | 
| 421 | 
  | 
                else |