--- ray/src/util/ranimove1.c 2003/02/22 02:07:30 3.1
+++ ray/src/util/ranimove1.c 2003/07/21 22:30:19 3.5
@@ -1,5 +1,5 @@
#ifndef lint
-static const char RCSid[] = "$Id: ranimove1.c,v 3.1 2003/02/22 02:07:30 greg Exp $";
+static const char RCSid[] = "$Id: ranimove1.c,v 3.5 2003/07/21 22:30:19 schorsch Exp $";
#endif
/*
* ranimove1.c
@@ -9,63 +9,11 @@ static const char RCSid[] = "$Id: ranimove1.c,v 3.1 20
* Created by Gregory Ward on Wed Jan 08 2003.
*/
-/* ====================================================================
- * The Radiance Software License, Version 1.0
- *
- * Copyright (c) 1990 - 2002 The Regents of the University of California,
- * through Lawrence Berkeley National Laboratory. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes Radiance software
- * (http://radsite.lbl.gov/)
- * developed by the Lawrence Berkeley National Laboratory
- * (http://www.lbl.gov/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
- * and "The Regents of the University of California" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact radiance@radsite.lbl.gov.
- *
- * 5. Products derived from this software may not be called "Radiance",
- * nor may "Radiance" appear in their name, without prior written
- * permission of Lawrence Berkeley National Laboratory.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of Lawrence Berkeley National Laboratory. For more
- * information on Lawrence Berkeley National Laboratory, please see
- * .
- */
+#include "copyright.h"
+#include
+
+#include "platform.h"
#include "ranimove.h"
#include "otypes.h"
#include "random.h"
@@ -131,9 +79,9 @@ next_frame() /* prepare next frame buffer */
char *err;
/* get previous view */
if (vw.type != 0)
- copystruct(&vwprev, &vw);
+ vwprev = vw;
else if (fcur > 1 && (fv = getview(fcur-1)) != NULL) {
- copystruct(&vwprev, fv);
+ vwprev = *fv;
if (setview(&vwprev) != NULL)
vwprev.type = 0;
}
@@ -142,7 +90,7 @@ next_frame() /* prepare next frame buffer */
sprintf(errmsg, "cannot get view for frame %d", fcur);
error(USER, errmsg);
}
- copystruct(&vw, fv);
+ vw = *fv;
if ((err = setview(&vw)) != NULL) {
sprintf(errmsg, "view error at frame %d: %s", fcur, err);
error(USER, errmsg);
@@ -193,8 +141,8 @@ next_frame() /* prepare next frame buffer */
fp = zprev; zprev = zbuffer; zbuffer = fp;
op = oprev; oprev = obuffer; obuffer = op;
bp = aprev; aprev = abuffer; abuffer = bp;
- bzero(abuffer, sizeof(BYTE)*hres*vres);
- bzero(sbuffer, sizeof(BYTE)*hres*vres);
+ memset(abuffer, '\0', sizeof(BYTE)*hres*vres);
+ memset(sbuffer, '\0', sizeof(BYTE)*hres*vres);
frm_stop += rtperfrm;
}
cerrmap = NULL;
@@ -692,11 +640,12 @@ init_frame() /* render base (low quality) frame */
restart = (!nobjects || vdef(MOVE));
if (!restart && curparams != &lorendparams && nprocs > 1)
restart = -1;
- if (restart > 0)
+ if (restart > 0) {
if (nprocs > 1)
ray_pdone(1);
else
ray_done(1);
+ }
/* post low quality parameters */
if (curparams != &lorendparams)
ray_restore(curparams = &lorendparams);
@@ -811,8 +760,8 @@ write_map(cerrmap, "outcmap.pic");
int n2;
int cnt;
/* sum in motion streaks */
- bzero(outbuffer, sizeof(COLOR)*hres*vres);
- bzero(wbuffer, sizeof(float)*hres*vres);
+ memset(outbuffer, '\0', sizeof(COLOR)*hres*vres);
+ memset(wbuffer, '\0', sizeof(float)*hres*vres);
for (y = vres; y--; )
for (x = hres; x--; ) {
n = fndx(x, y);
@@ -928,9 +877,7 @@ send_frame() /* send frame to destination */
sprintf(errmsg, "cannot open output frame \"%s\"", pfname);
error(SYSTEM, errmsg);
}
-#ifdef MSDOS
- setmode(fileno(fp), O_BINARY);
-#endif
+ SET_FILE_BINARY(fp);
if (!silent) {
printf("\tWriting to \"%s\"\n", pfname);
fflush(stdout);