|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T f
Length: 788 (0x314)
Types: TextFile
Names: »fixdir.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Spacewar/fixdir.c«
/*
* Spacewar - normalize direction vector and recompute rotation matrix
*
* Copyright 1985 obo Systems, Inc.
* Copyright 1985 Dan Rosenblatt
*/
#include "spacewar.h"
#ifndef VMS
#include <sys/types.h>
#else /* BSD SYSIII SYSV */
#include <types.h>
#endif /* VMS */
#include "universe.h"
#include "sys.h"
#include "crft.h"
#include "flds.h"
VOID fixdir(pcrft)
register struct crft *pcrft;
{
double tmp;
unity(pcrft->cr_rmat);
tmp = FMOD(ADD(pcrft->cr_dir[1],TWOPI),TWOPI);
if (tmp != pcrft->cr_dir[1])
biton(pcrft->cr_chng,BIT_DIR1);
pcrft->cr_dir[1] = tmp;
zrot(pcrft->cr_rmat,SUB(DIV(PI,2.),tmp));
tmp = FMOD(ADD(pcrft->cr_dir[2],TWOPI),TWOPI);
if (tmp != pcrft->cr_dir[2])
biton(pcrft->cr_chng,BIT_DIR2);
pcrft->cr_dir[2] = tmp;
xrot(pcrft->cr_rmat,tmp);
}