<1>/* Graphics Not Rendered in HTML */ U0 RotateTank() { CDC *dc = DCAlias; DCDepthBufAlloc(dc); dc->flags |= DCF_TRANSFORMATION; WinHorz(TEXT_COLS / 2 - 12, TEXT_COLS / 2 + 12); WinVert(TEXT_ROWS / 2 - 12, TEXT_ROWS / 2 + 12); DocClear; try { while (!CharScan) { DCDepthBufReset(dc); Mat4x4IdentEqu(dc->r); Mat4x4RotY(dc->r, 0.25 * Sin(tS / 10 * 2 *pi) + pi / 2); Mat4x4RotX(dc->r, 0.4 * Sin(tS / 5 * 2 *pi)); Mat4x4RotZ(dc->r, 0.25 * Sin(tS / 10 * 2 *pi) - pi / 2); Mat4x4Scale(dc->r, 0.25 + Saw(tS, 5)); DCMat4x4Set(dc, dc->r);//Not needed--Sets scale for pen-width dc->x = Fs->pix_width / 2; dc->y = Fs->pix_height / 2; //Offsets the image Z so that no parts are clipped by //the conceptual plane of the screen. dc->z = GR_Z_ALL; Sprite3(dc, 0, 0, 0, <1>); Refresh; DCFill; } } catch PutExcept; DCFill; DCDel(dc); } RotateTank;