From fda6bfaa0ff1b7bac764c2fde92555526be351de Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Thu, 2 Jan 2003 23:31:50 +0000 Subject: [PATCH] cleanup alignment changes --- 3d/interp.c | 20 +------- include/interp.h | 7 +-- main/morph.c | 128 ++++++++++++++++++++++++++++++++++++++++++++++- main/polyobj.c | 25 +++++++-- main/polyobj.h | 7 ++- 5 files changed, 158 insertions(+), 29 deletions(-) diff --git a/3d/interp.c b/3d/interp.c index 4f64ff5d..6fed0e85 100644 --- a/3d/interp.c +++ b/3d/interp.c @@ -1,4 +1,4 @@ -/* $Id: interp.c,v 1.9 2003-01-02 23:13:21 btb Exp $ */ +/* $Id: interp.c,v 1.10 2003-01-02 23:31:50 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -40,7 +40,7 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #endif #ifdef RCS -static char rcsid[] = "$Id: interp.c,v 1.9 2003-01-02 23:13:21 btb Exp $"; +static char rcsid[] = "$Id: interp.c,v 1.10 2003-01-02 23:31:50 btb Exp $"; #endif #include @@ -859,19 +859,3 @@ void g3_init_polygon_model(void *model_ptr) init_model_sub((ubyte *) model_ptr); } - -// routine which allocates, reads, and inits a polymodel's model_data -void polygon_model_data_read(polymodel *pm, CFILE *fp) -{ - pm->model_data = d_malloc(pm->model_data_size); - Assert(pm->model_data != NULL); - cfread(pm->model_data, sizeof(ubyte), pm->model_data_size, fp ); -#ifdef WORDS_NEED_ALIGNMENT - align_polygon_model_data(pm); -#endif -#ifdef WORDS_BIGENDIAN - swap_polygon_model_data(pm->model_data); -#endif - //verify(pm->model_data); - g3_init_polygon_model(pm->model_data); -} diff --git a/include/interp.h b/include/interp.h index 36f8cc7f..e40f1acf 100644 --- a/include/interp.h +++ b/include/interp.h @@ -1,4 +1,4 @@ -/* $Id: interp.h,v 1.1 2003-01-02 23:13:21 btb Exp $ */ +/* $Id: interp.h,v 1.2 2003-01-02 23:31:50 btb Exp $ */ /* * * took out functions declarations from include/3d.h @@ -13,7 +13,7 @@ //#include "vecmat.h" //the vector/matrix library #include "gr.h" #include "cfile.h" -#include "main/polyobj.h" +#include "3d.h" //Object functions: @@ -37,7 +37,4 @@ bool g3_draw_morphing_model(void *model_ptr,grs_bitmap **model_bitmaps,vms_angve //be called whenever the palette changes void g3_remap_interp_colors(void); -// routine which allocates, reads, and inits a polymodel's model_data -void polygon_model_data_read(polymodel *pm, CFILE *fp); - #endif //_INTERP_H diff --git a/main/morph.c b/main/morph.c index b94689ea..e7e350ee 100644 --- a/main/morph.c +++ b/main/morph.c @@ -1,3 +1,4 @@ +/* $Id: morph.c,v 1.3 2003-01-02 23:31:50 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -7,16 +8,138 @@ IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS -AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. +AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE. COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ +/* + * + * Morphing code + * + * Old Log: + * Revision 1.5 1995/08/23 21:36:10 allender + * mcc compiler warnings fixed + * + * Revision 1.4 1995/08/12 11:34:19 allender + * removed #ifdef NEWDEMO -- always in + * + * Revision 1.3 1995/07/28 15:39:51 allender + * removed fixdiv thing + * + * Revision 1.2 1995/07/28 15:21:23 allender + * inverse magnitude fixup thing + * + * Revision 1.1 1995/05/16 15:28:05 allender + * Initial revision + * + * Revision 2.1 1995/02/27 18:26:33 john + * Fixed bug that was caused by externing Polygon_models, and I had + * changed the type of it in polyobj.c, thus causing page faults. + * + * Revision 2.0 1995/02/27 11:27:44 john + * New version 2.0, which has no anonymous unions, builds with + * Watcom 10.0, and doesn't require parsing BITMAPS.TBL. + * + * Revision 1.35 1995/02/22 14:45:37 allender + * remove anonymous unions from object structure + * + * Revision 1.34 1995/01/14 19:16:52 john + * First version of new bitmap paging code. + * + * Revision 1.33 1995/01/03 20:38:36 john + * Externed MAX_MORPH_OBJECTS + * + * Revision 1.32 1994/11/17 15:34:04 matt + * Attempt #4 to fix morph bug + * + * Revision 1.31 1994/11/15 10:57:14 matt + * Tried again to fix morph + * + * Revision 1.30 1994/11/14 14:06:45 matt + * Fixed stupid bug + * + * Revision 1.29 1994/11/14 11:55:13 matt + * Added divide overflow check + * + * Revision 1.28 1994/09/26 17:28:14 matt + * Made new multiple-object morph code work with the demo system + * + * Revision 1.27 1994/09/26 15:39:56 matt + * Allow multiple simultaneous morphing objects + * + * Revision 1.26 1994/09/11 22:44:59 mike + * quick on vecmat function. + * + * Revision 1.25 1994/08/26 15:36:00 matt + * Made eclips usable on more than one object at a time + * + * Revision 1.24 1994/07/25 00:02:46 matt + * Various changes to accomodate new 3d, which no longer takes point numbers + * as parms, and now only takes pointers to points. + * + * Revision 1.23 1994/07/12 12:39:58 matt + * Revamped physics system + * + * Revision 1.22 1994/06/28 11:54:51 john + * Made newdemo system record/play directly to/from disk, so + * we don't need the 4 MB buffer anymore. + * + * Revision 1.21 1994/06/27 15:53:01 john + * #define'd out the newdemo stuff + * + * + * Revision 1.20 1994/06/16 14:30:19 matt + * Moved morph record data call to reder routine + * + * Revision 1.19 1994/06/16 13:57:23 matt + * Added support for morphing objects in demos + * + * Revision 1.18 1994/06/16 12:24:23 matt + * Made robot lighting not mess with Lighting_on so robots now night + * according to this variable. + * + * Revision 1.17 1994/06/14 16:55:01 matt + * Got rid of physics_object speed field + * + * Revision 1.16 1994/06/08 21:16:29 matt + * Made objects spin while morphing + * + * Revision 1.15 1994/06/08 18:21:53 matt + * Made morphing objects light correctly + * + * Revision 1.14 1994/06/07 16:50:49 matt + * Made object lighting work correctly; changed name of Ambient_light to + * Dynamic_light; cleaned up polygobj object rendering a little. + * + * Revision 1.13 1994/06/01 16:33:59 yuan + * Fixed bug. + * + * + * Revision 1.12 1994/06/01 16:29:08 matt + * If morph_frame called on object this isn't the morph object, kill it. + * + * Revision 1.11 1994/06/01 12:46:34 matt + * Added needed include + * + * Revision 1.10 1994/05/31 22:12:41 matt + * Set lighting for morph objects + * Don't let another object start morph while one is morphing, unless + * that one dies. + * + * Revision 1.9 1994/05/31 18:49:53 john + * Took out debugging printf's that Matt left in. + * + * Revision 1.8 1994/05/30 22:50:22 matt + * Added morph effect for robots + * + */ + #ifdef HAVE_CONFIG_H #include #endif #ifdef RCS -static char rcsid[] = "$Id: morph.c,v 1.2 2001-01-31 15:17:54 bradleyb Exp $"; +static char rcsid[] = "$Id: morph.c,v 1.3 2003-01-02 23:31:50 btb Exp $"; #endif #include @@ -39,6 +162,7 @@ static char rcsid[] = "$Id: morph.c,v 1.2 2001-01-31 15:17:54 bradleyb Exp $"; #include "mono.h" #include "bm.h" +#include "interp.h" morph_data morph_objects[MAX_MORPH_OBJECTS]; diff --git a/main/polyobj.c b/main/polyobj.c index 8f2ba2e9..dd9cae79 100644 --- a/main/polyobj.c +++ b/main/polyobj.c @@ -1,4 +1,4 @@ -/* $Id: polyobj.c,v 1.8 2002-08-08 09:09:43 btb Exp $ */ +/* $Id: polyobj.c,v 1.9 2003-01-02 23:31:50 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -17,7 +17,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #endif #ifdef RCS -static char rcsid[] = "$Id: polyobj.c,v 1.8 2002-08-08 09:09:43 btb Exp $"; +static char rcsid[] = "$Id: polyobj.c,v 1.9 2003-01-02 23:31:50 btb Exp $"; #endif #include @@ -33,7 +33,7 @@ static char rcsid[] = "$Id: polyobj.c,v 1.8 2002-08-08 09:09:43 btb Exp $"; #include "polyobj.h" #include "vecmat.h" -#include "3d.h" +#include "interp.h" #include "error.h" #include "mono.h" #include "u_mem.h" @@ -834,3 +834,22 @@ extern int polymodel_read_n(polymodel *pm, int n, CFILE *fp) return i; } #endif + + +/* + * routine which allocates, reads, and inits a polymodel's model_data + */ +void polygon_model_data_read(polymodel *pm, CFILE *fp) +{ + pm->model_data = d_malloc(pm->model_data_size); + Assert(pm->model_data != NULL); + cfread(pm->model_data, sizeof(ubyte), pm->model_data_size, fp ); +#ifdef WORDS_NEED_ALIGNMENT + align_polygon_model_data(pm); +#endif +#ifdef WORDS_BIGENDIAN + swap_polygon_model_data(pm->model_data); +#endif + //verify(pm->model_data); + g3_init_polygon_model(pm->model_data); +} diff --git a/main/polyobj.h b/main/polyobj.h index 20ab75c2..baa635f7 100644 --- a/main/polyobj.h +++ b/main/polyobj.h @@ -1,4 +1,4 @@ -/* $Id: polyobj.h,v 1.4 2002-08-26 06:52:47 btb Exp $ */ +/* $Id: polyobj.h,v 1.5 2003-01-02 23:31:50 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -103,4 +103,9 @@ extern void polymodel_read(polymodel *pm, CFILE *fp); extern int polymodel_read_n(polymodel *pm, int n, CFILE *fp); #endif +/* + * routine which allocates, reads, and inits a polymodel's model_data + */ +void polygon_model_data_read(polymodel *pm, CFILE *fp); + #endif -- 2.39.2