From 7b99b555044f0882b29b20ea4dfde7ecfda4c993 Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Sat, 20 Jan 2001 13:49:18 +0000 Subject: [PATCH] Got rid of all compiler warnings, for non-OpenGL on linux, anyway... --- 2d/font.c | 8 ++++++ README | 20 +++++++++---- arch/sdl_init.c | 1 + configure | 26 ++++++++--------- configure.in | 16 +++++------ iff/iff.c | 7 ++++- include/3d.h | 9 ++++-- include/d_io.h | 2 ++ input/linux/include/joy.h | 1 + input/sdl/include/key.h | 8 ++++-- main/Makefile.am | 2 +- main/Makefile.in | 2 +- main/bm.c | 4 +-- main/collide.c | 4 ++- main/credits.c | 5 +++- main/fuelcen.h | 2 ++ main/game.c | 4 ++- main/gamecntl.c | 2 ++ main/gamepal.c | 2 ++ main/gamerend.c | 3 +- main/gamesave.c | 4 ++- main/gameseg.c | 4 +-- main/gameseq.c | 6 ++-- main/gauges.c | 6 ++++ main/kconfig.c | 31 ++++++++++++++++---- main/kludge.c | 12 ++++---- main/kmatrix.c | 17 ++++++----- main/laser.c | 9 ++++-- main/multi.c | 6 ++-- main/network.c | 59 +++++++++++++++++++++++++++++++-------- main/network.h | 9 +++++- main/newdemo.c | 6 +++- main/newmenu.c | 25 +++++++++++++---- main/object.c | 58 +++++++++++++++++++++++++++++++------- main/object.h | 6 +++- main/physics.c | 4 +-- main/piggy.c | 4 ++- main/polyobj.c | 18 ++++++------ main/state.c | 11 ++++---- main/switch.c | 6 +++- main/titles.c | 4 +-- main/wall.c | 4 ++- 42 files changed, 313 insertions(+), 124 deletions(-) diff --git a/2d/font.c b/2d/font.c index d0bf3cf7..96711545 100644 --- a/2d/font.c +++ b/2d/font.c @@ -145,6 +145,8 @@ int gr_internal_string0(int x, int y, char *s ) unsigned int VideoOffset, VideoOffset1; + bits=0; + VideoOffset1 = y * ROWSIZE + x; next_row = s; @@ -257,6 +259,8 @@ int gr_internal_string0m(int x, int y, char *s ) unsigned int VideoOffset, VideoOffset1; + bits=0; + VideoOffset1 = y * ROWSIZE + x; next_row = s; @@ -1515,6 +1519,8 @@ int gr_internal_string_clipped(int x, int y, char *s ) int r, BitMask, i, bits, width, spacing, letter, underline; int x1 = x, last_x; + bits=0; + next_row = s; while (next_row != NULL ) @@ -1613,6 +1619,8 @@ int gr_internal_string_clipped_m(int x, int y, char *s ) int r, BitMask, i, bits, width, spacing, letter, underline; int x1 = x, last_x; + bits=0; + next_row = s; while (next_row != NULL ) diff --git a/README b/README index 73c52cc6..937c6627 100644 --- a/README +++ b/README @@ -20,7 +20,7 @@ Install all of the components above. Next, from the d2x directory: ./configure (./configure --help will show you the available options) For OpenGL support, try configuring with --with-opengl. Your mileage may vary -(but basically, you need an accelerated Mesa sitting somewhere where d2x cab +(but basically, you need an accelerated Mesa sitting somewhere where d2x can see it)... The OpenGL support isn't perfect, but it works... make @@ -33,9 +33,11 @@ Known bugs/issues: * Serial support doesn't work. (UDP and IPX networking does) * Movies (unlikely ever to be supported) * Sound glitches (due to stuff I haven't implemented) -* The mouse support is at the same level as it was in d1x (as in, it kind of works) +* The mouse support is at the same level as it was in d1x (as in, it + kind of works) * Something went screwy with the control config system, it kinda got "d1xed"... -* OpenGL leaks memory like it is going out of fashion. It leaked about 64meg in a few minutes for me. I need to debug this =) +* OpenGL leaks memory like it is going out of fashion. It leaked about + 64meg in a few minutes for me. I need to debug this =) MS-DOS: @@ -77,9 +79,15 @@ Reporting bugs/feedback: ======================== There are two ways to report bugs and give feedback: -1) Get on the descent-source mailing list by sending an email to majordomo@warpcore.org with the body as: "subscribe descent-source ". Discussions about the source code in general are available here, and is the main list that d2x and d1x, a similar project for descent 1 is discussed on. Patches and questions can be posted there, as well. - -2) Send feedback directly to me, peterhawkins@ozemail.com.au. I'll try to get back to you ASAP, depending on real-life concerns =) +1) Get on the descent-source mailing list by sending an email to +majordomo@warpcore.org with the body as: "subscribe descent-source +". Discussions about the source code in general +are available here, and is the main list that d2x and d1x, a similar +project for descent 1 is discussed on. Patches and questions can be +posted there, as well. + +2) Send feedback directly to me, peterhawkins@ozemail.com.au. I'll try +to get back to you ASAP, depending on real-life concerns =) /* THE OLD README FOLLOWS */ diff --git a/arch/sdl_init.c b/arch/sdl_init.c index 33c77794..8951cd5b 100644 --- a/arch/sdl_init.c +++ b/arch/sdl_init.c @@ -8,6 +8,7 @@ #include "event.h" #include "error.h" #include "args.h" +#include "digi.h" extern void d_mouse_init(); diff --git a/configure b/configure index 683ade7a..d0c4550d 100644 --- a/configure +++ b/configure @@ -1554,7 +1554,7 @@ echo "$ac_t""$ac_cv_mingw32" 1>&6 MINGW32= test "$ac_cv_mingw32" = yes && MINGW32=yes -CFLAGS="-g -O2 -Wall" +CFLAGS="-g -O2 -Wall -Werror" # Test for DJGPP if test "$OSTYPE" = "MSDOS"; then @@ -1727,14 +1727,14 @@ fi if test x$opengl = xtrue; then - echo $ac_n "checking for main in -lMesaGL""... $ac_c" 1>&6 -echo "configure:1732: checking for main in -lMesaGL" >&5 -ac_lib_var=`echo MesaGL'_'main | sed 'y%./+-%__p_%'` + echo $ac_n "checking for main in -lGL""... $ac_c" 1>&6 +echo "configure:1732: checking for main in -lGL" >&5 +ac_lib_var=`echo GL'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lMesaGL -L/usr/X11R6/lib -lX11 -lXext -lm $LIBS" +LIBS="-lGL -L/usr/X11R6/lib -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&6 - OGL_LIBS="-lMesaGL" + OGL_LIBS="-lGL" else echo "$ac_t""no" 1>&6 -{ echo "configure: error: MesaGL not found" 1>&2; exit 1; } +{ echo "configure: error: GL not found" 1>&2; exit 1; } opengl=false fi - echo $ac_n "checking for main in -lMesaGLU""... $ac_c" 1>&6 -echo "configure:1770: checking for main in -lMesaGLU" >&5 -ac_lib_var=`echo MesaGLU'_'main | sed 'y%./+-%__p_%'` + echo $ac_n "checking for main in -lGLU""... $ac_c" 1>&6 +echo "configure:1770: checking for main in -lGLU" >&5 +ac_lib_var=`echo GLU'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" -LIBS="-lMesaGLU -lMesaGL -L/usr/X11R6/lib -lX11 -lXext -lm $LIBS" +LIBS="-lGLU -lGL -L/usr/X11R6/lib -lX11 -lXext -lm $LIBS" cat > conftest.$ac_ext <&6 - OGL_LIBS="${OGL_LIBS} -lMesaGLU" + OGL_LIBS="${OGL_LIBS} -lGLU" else echo "$ac_t""no" 1>&6 -{ echo "configure: error: MesaGLU not found" 1>&2; exit 1; } +{ echo "configure: error: GLU not found" 1>&2; exit 1; } opengl=false fi diff --git a/configure.in b/configure.in index daeb1a3c..2121e1f3 100644 --- a/configure.in +++ b/configure.in @@ -13,7 +13,7 @@ AC_STDC_HEADERS AC_CYGWIN AC_MINGW32 -CFLAGS="-g -O2 -Wall" +CFLAGS="-g -O2 -Wall -Werror" # Test for DJGPP if test "$OSTYPE" = "MSDOS"; then @@ -45,16 +45,16 @@ else esac],[opengl=false]) if test x$opengl = xtrue; then - AC_CHECK_LIB(MesaGL, main, - OGL_LIBS="-lMesaGL", - [AC_MSG_ERROR(MesaGL not found, OpenGL cannot be built) + AC_CHECK_LIB(GL, main, + OGL_LIBS="-lGL", + [AC_MSG_ERROR(GL not found, OpenGL cannot be built) opengl=false], -L/usr/X11R6/lib -lX11 -lXext -lm) - AC_CHECK_LIB(MesaGLU,main, - OGL_LIBS="${OGL_LIBS} -lMesaGLU", - [AC_MSG_ERROR(MesaGLU not found, OpenGL cannot be built) + AC_CHECK_LIB(GLU,main, + OGL_LIBS="${OGL_LIBS} -lGLU", + [AC_MSG_ERROR(GLU not found, OpenGL cannot be built) opengl=false], - -lMesaGL -L/usr/X11R6/lib -lX11 -lXext -lm) + -lGL -L/usr/X11R6/lib -lX11 -lXext -lm) fi if test x$opengl = xtrue; then diff --git a/iff/iff.c b/iff/iff.c index f67f362e..f27f6ee8 100644 --- a/iff/iff.c +++ b/iff/iff.c @@ -12,7 +12,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ #ifdef RCS -static char rcsid[] = "$Id: iff.c,v 1.1.1.1 2001-01-19 03:29:58 bradleyb Exp $"; +static char rcsid[] = "$Id: iff.c,v 1.2 2001-01-20 13:49:14 bradleyb Exp $"; #endif #include @@ -275,6 +275,9 @@ int parse_body(FFILE *ifile,long len,iff_bitmap_header *bmheader) int end_pos; int row_count=0; + width=0; + depth=0; + end_pos = ifile->position + len; if (len&1) end_pos++; @@ -912,6 +915,8 @@ int rle_span(ubyte *dest,ubyte *src,int len) int n,lit_cnt,rep_cnt; ubyte last,*cnt_ptr,*dptr; + cnt_ptr=0; + dptr = dest; last=src[0]; lit_cnt=1; diff --git a/include/3d.h b/include/3d.h index 34bfe28a..8561bf2e 100644 --- a/include/3d.h +++ b/include/3d.h @@ -12,13 +12,16 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ /* * $Source: /cvs/cvsroot/d2x/include/3d.h,v $ - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * $Author: bradleyb $ - * $Date: 2001-01-19 03:30:16 $ + * $Date: 2001-01-20 13:49:14 $ * * Header file for 3d library * * $Log: not supported by cvs2svn $ + * Revision 1.1.1.1 2001/01/19 03:30:16 bradleyb + * Import of d2x-0.0.8 + * * Revision 1.1.1.1 1999/06/14 22:02:03 donut * Import of d1x 1.37 source. * @@ -35,6 +38,8 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifndef _3D_H #define _3D_H +#include "vecmat.h" + extern int g3d_interp_outline; //if on, polygon models outlined in white extern vms_vector Matrix_scale; extern short highest_texture_num; diff --git a/include/d_io.h b/include/d_io.h index 6c749ebf..e8f9a1cf 100644 --- a/include/d_io.h +++ b/include/d_io.h @@ -15,4 +15,6 @@ unsigned long d_getdiskfree(); // remove extension from filename, doesn't work with paths. void removeext(const char *filename, char *out); +unsigned long GetDiskFree(); + #endif diff --git a/input/linux/include/joy.h b/input/linux/include/joy.h index 0db36753..feb93457 100644 --- a/input/linux/include/joy.h +++ b/input/linux/include/joy.h @@ -140,6 +140,7 @@ extern int joy_get_timer_rate(); extern int joy_get_button_state( int btn ); extern void joy_get_cal_vals(int *axis_min, int *axis_center, int *axis_max); extern void joy_set_cal_vals(int *axis_min, int *axis_center, int *axis_max); +extern void joy_set_btn_values( int btn, int state, fix timedown, int downcount, int upcount ); extern int joy_get_scaled_reading( int raw, int axn ); extern void joy_set_slow_reading( int flag ); diff --git a/input/sdl/include/key.h b/input/sdl/include/key.h index 8974cc84..245d2b22 100644 --- a/input/sdl/include/key.h +++ b/input/sdl/include/key.h @@ -12,13 +12,16 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ /* * $Source: /cvs/cvsroot/d2x/input/sdl/include/key.h,v $ - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * $Author: bradleyb $ - * $Date: 2001-01-19 03:29:59 $ + * $Date: 2001-01-20 13:49:14 $ * * Header for keyboard functions * * $Log: not supported by cvs2svn $ + * Revision 1.1.1.1 2001/01/19 03:29:59 bradleyb + * Import of d2x-0.0.8 + * * Revision 1.1.1.1 1999/06/14 22:02:01 donut * Import of d1x 1.37 source. * @@ -112,6 +115,7 @@ extern volatile int keyd_time_when_last_pressed; // These are the "buffered" keypress routines. Use them by setting the // "keyd_buffer_type" variable. +extern void key_putkey (unsigned short); // simulates a keystroke extern void key_flush(); // Clears the 256 char buffer extern int key_checkch(); // Returns 1 if a char is waiting extern int key_getch(); // Gets key if one waiting other waits for one. diff --git a/main/Makefile.am b/main/Makefile.am index cbbe0a4b..37510015 100644 --- a/main/Makefile.am +++ b/main/Makefile.am @@ -25,7 +25,7 @@ if ENV_DJGPP else if USE_OPENGL - d2x_LDADD = ../3d/lib3d.a ../2d/lib2d.a ../mem/libmem.a ../cfile/libcfile.a ../iff/libiff.a ../texmap/libtexmap.a ../misc/libmisc.a ../maths/libmaths.a ../arch/libarch.a ../video/libvideo.a ../sound/libsound.a ../input/libinput.a -lm -lSDL -ldl -lpthread -lMesaGL -lMesaGLU -lgii -L/usr/X11R6/lib -lXext + d2x_LDADD = ../3d/lib3d.a ../2d/lib2d.a ../mem/libmem.a ../cfile/libcfile.a ../iff/libiff.a ../texmap/libtexmap.a ../misc/libmisc.a ../maths/libmaths.a ../arch/libarch.a ../video/libvideo.a ../sound/libsound.a ../input/libinput.a -lm -lSDL -ldl -lpthread -lGL -lGLU -lgii -L/usr/X11R6/lib -lXext else d2x_LDADD = ../3d/lib3d.a ../2d/lib2d.a ../mem/libmem.a ../cfile/libcfile.a ../iff/libiff.a ../texmap/libtexmap.a ../misc/libmisc.a ../maths/libmaths.a ../arch/libarch.a ../video/libvideo.a ../sound/libsound.a ../input/libinput.a -lm -lSDL -ldl -lpthread endif diff --git a/main/Makefile.in b/main/Makefile.in index b9c5bd3a..08dad650 100644 --- a/main/Makefile.in +++ b/main/Makefile.in @@ -340,7 +340,7 @@ maintainer-clean-generic clean mostlyclean distclean maintainer-clean @ENV_DJGPP_TRUE@ d2x_LDADD = ../3d/lib3d.a ../2d/lib2d.a ../mem/libmem.a ../cfile/libcfile.a ../iff/libiff.a ../texmap/libtexmap.a ../misc/libmisc.a ../maths/libmaths.a ../video/libvideo.a ../arch/libarch.a ../sound/libsound.a ../input/libinput.a -@ENV_DJGPP_FALSE@@USE_OPENGL_TRUE@ d2x_LDADD = ../3d/lib3d.a ../2d/lib2d.a ../mem/libmem.a ../cfile/libcfile.a ../iff/libiff.a ../texmap/libtexmap.a ../misc/libmisc.a ../maths/libmaths.a ../arch/libarch.a ../video/libvideo.a ../sound/libsound.a ../input/libinput.a -lm -lSDL -ldl -lpthread -lMesaGL -lMesaGLU -lgii -L/usr/X11R6/lib -lXext +@ENV_DJGPP_FALSE@@USE_OPENGL_TRUE@ d2x_LDADD = ../3d/lib3d.a ../2d/lib2d.a ../mem/libmem.a ../cfile/libcfile.a ../iff/libiff.a ../texmap/libtexmap.a ../misc/libmisc.a ../maths/libmaths.a ../arch/libarch.a ../video/libvideo.a ../sound/libsound.a ../input/libinput.a -lm -lSDL -ldl -lpthread -lGL -lGLU -lgii -L/usr/X11R6/lib -lXext @ENV_DJGPP_FALSE@@USE_OPENGL_FALSE@ d2x_LDADD = ../3d/lib3d.a ../2d/lib2d.a ../mem/libmem.a ../cfile/libcfile.a ../iff/libiff.a ../texmap/libtexmap.a ../misc/libmisc.a ../maths/libmaths.a ../arch/libarch.a ../video/libvideo.a ../sound/libsound.a ../input/libinput.a -lm -lSDL -ldl -lpthread # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/main/bm.c b/main/bm.c index bff5642f..ed312056 100644 --- a/main/bm.c +++ b/main/bm.c @@ -12,7 +12,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ #ifdef RCS -static char rcsid[] = "$Id: bm.c,v 1.1.1.1 2001-01-19 03:30:01 bradleyb Exp $"; +static char rcsid[] = "$Id: bm.c,v 1.2 2001-01-20 13:49:14 bradleyb Exp $"; #endif #include @@ -746,7 +746,7 @@ void bm_read_extra_robots(char *fname,int type) int sig; sig = cfile_read_int(fp); - if (sig != 'XHAM') + if (sig != 0x5848414d) /* 'XHAM' */ return; version = cfile_read_int(fp); } diff --git a/main/collide.c b/main/collide.c index 30cb47b2..fd7ab5e4 100644 --- a/main/collide.c +++ b/main/collide.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -static char rcsid[] = "$Id: collide.c,v 1.1.1.1 2001-01-19 03:30:00 bradleyb Exp $"; +static char rcsid[] = "$Id: collide.c,v 1.2 2001-01-20 13:49:14 bradleyb Exp $"; #endif #include @@ -524,6 +524,8 @@ int check_effect_blowup(segment *seg,int side,vms_vector *pnt, object *blower, i { int tm,tmf,ec,db; + db=0; + // If this wall has a trigger and the blower-upper is not the player or the buddy, abort! { int ok_to_blow = 0; diff --git a/main/credits.c b/main/credits.c index a9a12c13..b8a8fd31 100644 --- a/main/credits.c +++ b/main/credits.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -static char rcsid[] = "$Id: credits.c,v 1.1.1.1 2001-01-19 03:30:04 bradleyb Exp $"; +static char rcsid[] = "$Id: credits.c,v 1.2 2001-01-20 13:49:14 bradleyb Exp $"; #endif #ifdef WINDOWS @@ -90,6 +90,7 @@ ubyte fade_values_hires[480] = { 1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5, 5,5,4,4,4,4,4,3,3,3,3,3,2,2,2,2,2,1,1}; extern ubyte *gr_bitblt_fade_table; +extern void gr_bm_bitblt(int w, int h, int dx, int dy, int sx, int sy, grs_bitmap * src, grs_bitmap * dest); grs_font * header_font; grs_font * title_font; @@ -189,7 +190,9 @@ WIN(int credinit = 0;) WIN(DEFINE_SCREEN(NULL)); +#ifdef WINDOWS CreditsPaint: +#endif gr_use_palette_table( "credits.256" ); #if defined(POLY_ACC) pa_update_clut(gr_palette, 0, 256, 0); diff --git a/main/fuelcen.h b/main/fuelcen.h index d9fa8a3d..7b8bc8b2 100644 --- a/main/fuelcen.h +++ b/main/fuelcen.h @@ -131,4 +131,6 @@ extern void init_all_matcens(void); extern fix EnergyToCreateOneRobot; +void fuelcen_check_for_hoard_goal(segment *segp); + #endif diff --git a/main/game.c b/main/game.c index d434c91a..31c7d855 100644 --- a/main/game.c +++ b/main/game.c @@ -12,7 +12,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ #ifdef RCS -char game_rcsid[] = "$Id: game.c,v 1.1.1.1 2001-01-19 03:30:01 bradleyb Exp $"; +char game_rcsid[] = "$Id: game.c,v 1.2 2001-01-20 13:49:14 bradleyb Exp $"; #endif #ifdef WINDOWS @@ -1403,6 +1403,8 @@ void save_screen_shot(int automap_flag) int modex_flag; int stereo=0; + temp_canv2=NULL; + // // Can't do screen shots in VR modes. // if ( VR_render_mode != VR_NONE ) // return; diff --git a/main/gamecntl.c b/main/gamecntl.c index 60a28c28..1f3c21ab 100644 --- a/main/gamecntl.c +++ b/main/gamecntl.c @@ -429,6 +429,8 @@ int do_game_pause() char msg[1000]; char total_time[9],level_time[9]; + key=0; + if (Game_paused) { //unpause! Game_paused=0; #if defined (TACTILE) diff --git a/main/gamepal.c b/main/gamepal.c index e5bdd691..203a8716 100644 --- a/main/gamepal.c +++ b/main/gamepal.c @@ -37,6 +37,8 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "poly_acc.h" #endif +extern void g3_remap_interp_colors(); + char Current_level_palette[FILENAME_LEN]; extern int Color_0_31_0, HUD_color; diff --git a/main/gamerend.c b/main/gamerend.c index 54d47a7a..f9e28718 100644 --- a/main/gamerend.c +++ b/main/gamerend.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -static char rcsid[] = "$Id: gamerend.c,v 1.1.1.2 2001-01-19 03:33:47 bradleyb Exp $"; +static char rcsid[] = "$Id: gamerend.c,v 1.2 2001-01-20 13:49:15 bradleyb Exp $"; #endif @@ -1444,6 +1444,7 @@ void toggle_cockpit() case CM_REAR_VIEW: case CM_LETTERBOX: + default: return; //do nothing break; diff --git a/main/gamesave.c b/main/gamesave.c index 691d6c17..fe423281 100644 --- a/main/gamesave.c +++ b/main/gamesave.c @@ -12,7 +12,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ #ifdef RCS -char gamesave_rcsid[] = "$Id: gamesave.c,v 1.1.1.1 2001-01-19 03:29:59 bradleyb Exp $"; +char gamesave_rcsid[] = "$Id: gamesave.c,v 1.2 2001-01-20 13:49:15 bradleyb Exp $"; #endif #include @@ -1243,6 +1243,8 @@ int load_game_data(CFILE *LoadFile) v30_trigger trig; int t,type; + type=0; + if (game_top_fileinfo.fileinfo_version < 30) { v29_trigger trig29; int t; diff --git a/main/gameseg.c b/main/gameseg.c index 47c3ea79..8e0d5e74 100644 --- a/main/gameseg.c +++ b/main/gameseg.c @@ -31,7 +31,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #include "byteswap.h" #ifdef RCS -static char rcsid[] = "$Id: gameseg.c,v 1.1.1.1 2001-01-19 03:30:01 bradleyb Exp $"; +static char rcsid[] = "$Id: gameseg.c,v 1.2 2001-01-20 13:49:15 bradleyb Exp $"; #endif // How far a point can be from a plane, and still be "in" the plane @@ -1864,7 +1864,7 @@ int set_segment_depths(int start_seg, ubyte *segbuf) int queue[MAX_SEGMENTS]; int head, tail; int depth; - int parent_depth; + int parent_depth=0; depth = 1; head = 0; diff --git a/main/gameseq.c b/main/gameseq.c index f093ae8d..2995b4a9 100644 --- a/main/gameseq.c +++ b/main/gameseq.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -char gameseq_rcsid[] = "$Id: gameseq.c,v 1.1.1.1 2001-01-19 03:30:05 bradleyb Exp $"; +char gameseq_rcsid[] = "$Id: gameseq.c,v 1.2 2001-01-20 13:49:15 bradleyb Exp $"; #endif #include @@ -561,8 +561,6 @@ void editor_reset_stuff_on_level() } #endif -void reset_player_object(); - //do whatever needs to be done when a player dies in multiplayer void DoGameOver() @@ -2240,7 +2238,7 @@ void StartNewLevel(int level_num, int secret_flag) //initialize the player object position & orientation (at start of game, or new ship) void InitPlayerPosition(int random_flag) { - int NewPlayer; + int NewPlayer=0; #ifdef NETWORK if (! ((Game_mode & GM_MULTI) && !(Game_mode&GM_MULTI_COOP)) ) // If not deathmatch diff --git a/main/gauges.c b/main/gauges.c index 7610c96b..1e988aff 100644 --- a/main/gauges.c +++ b/main/gauges.c @@ -1322,6 +1322,8 @@ void hud_show_orbs (void) int x,y; grs_bitmap *bm; + x=y=0; + if (Cockpit_mode == CM_FULL_COCKPIT) { y = 2*Line_spacing; x = 4*GAME_FONT->ft_w; @@ -1353,6 +1355,8 @@ void hud_show_flag(void) if ((Game_mode & GM_CAPTURE) && (Players[Player_num].flags & PLAYER_FLAGS_FLAG)) { int x,y,icon; + x=y=0; + if (Cockpit_mode == CM_FULL_COCKPIT) { y = 2*Line_spacing; x = 4*GAME_FONT->ft_w; @@ -3598,6 +3602,8 @@ void do_cockpit_window_view(int win,object *viewer,int rear_view_flag,int user,c int rear_view_save = Rear_view; int w,h,dx; + box = NULL; + if (viewer == NULL) { //this user is done Assert(user == WBU_WEAPON || user == WBU_STATIC); diff --git a/main/kconfig.c b/main/kconfig.c index 472f668d..94ea571a 100644 --- a/main/kconfig.c +++ b/main/kconfig.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -static char rcsid[] = "$Id: kconfig.c,v 1.1.1.2 2001-01-19 03:33:43 bradleyb Exp $"; +static char rcsid[] = "$Id: kconfig.c,v 1.2 2001-01-20 13:49:15 bradleyb Exp $"; #endif #include @@ -67,6 +67,9 @@ static char rcsid[] = "$Id: kconfig.c,v 1.1.1.2 2001-01-19 03:33:43 bradleyb Exp #include "poly_acc.h" #endif +#include "d_delay.h" +#include "collide.h" + ubyte ExtGameStatus=1; vms_vector ExtForceVec; @@ -583,6 +586,17 @@ kc_item kc_mouse[NUM_OTHER_CONTROLS] = { #endif +void kc_drawitem( kc_item *item, int is_current ); +void kc_change_key( kc_item * item ); +void kc_change_joybutton( kc_item * item ); +void kc_change_mousebutton( kc_item * item ); +void kc_change_joyaxis( kc_item * item ); +void kc_change_mouseaxis( kc_item * item ); +void kc_change_invert( kc_item * item ); +void kconfig_read_fcs( int raw_axis ); +void kconfig_set_fcs_button( int btn, int button ); +void kconfig_read_external_controls( void ); + int kconfig_is_axes_used(int axis) { int i; @@ -780,7 +794,9 @@ WINDOS( ); save_font = grd_curcanv->cv_font; +#ifdef WINDOWS KConfigPaint: +#endif game_flush_inputs(); old_keyd_repeat = keyd_repeat; keyd_repeat = 1; @@ -1192,7 +1208,7 @@ WIN(DDGRLOCK(dd_grd_curcanv)); WIN(DDGRUNLOCK(dd_grd_curcanv)); if (item->value==255) { - sprintf( btext, "" ); + strcpy( btext, "" ); } else { switch( item->type ) { case BT_KEY: @@ -1890,7 +1906,7 @@ void kconfig_init_external_controls(int intno, int address) if ( i ) kc_external_version = atoi(Args[i+1]); - printf( "%s int: 0x%x, data: 0x%x, ver:%d\n", kc_external_name, kc_external_intno, kc_external_control, kc_external_version ); + printf( "%s int: 0x%x, data: 0x%p, ver:%d\n", kc_external_name, kc_external_intno, kc_external_control, kc_external_version ); } @@ -2658,6 +2674,9 @@ void controls_read_all() int use_mouse, use_joystick; int speed_factor=1; + mouse_buttons=0; + use_mouse=0; + if (Game_turbo_mode) speed_factor = 2; @@ -2763,7 +2782,7 @@ void controls_read_all() } else if (CybermouseActive) { // ReadOWL (kc_external_control); // CybermouseAdjust(); - } else { + } else { mouse_axis[0] = 0; mouse_axis[1] = 0; mouse_buttons = 0; @@ -3427,8 +3446,8 @@ void CybermouseAdjust () char GetKeyValue (char key) { - mprintf ((0,"Returning %c!\n",kc_keyboard[key].value)); - return (kc_keyboard[key].value); + mprintf ((0,"Returning %c!\n",kc_keyboard[(int)key].value)); + return (kc_keyboard[(int)key].value); } #if !defined(MACINTOSH) diff --git a/main/kludge.c b/main/kludge.c index d8c4f5fe..f92dc8dc 100644 --- a/main/kludge.c +++ b/main/kludge.c @@ -35,7 +35,7 @@ void gr_copy_palette(ubyte *gr_palette, ubyte *pal, int size) } #ifndef __ENV_DJGPP__ -int joy_set_btn_values( int btn, int state, int time_down, int downcount, int upcount ) +void joy_set_btn_values( int btn, int state, int time_down, int downcount, int upcount ) { } @@ -43,10 +43,10 @@ int joy_set_btn_values( int btn, int state, int time_down, int downcount, int up int request_cd(void) { - + return 0; } -int key_putkey(char i) +void key_putkey(char i) { } @@ -78,7 +78,7 @@ void init_movies() int InitMovieBriefing() { - + return 0; } void RotateRobot() @@ -88,7 +88,7 @@ void RotateRobot() int InitRobotMovie(char *a) { - + return 0; } void DeInitRobotMovie(void) @@ -144,7 +144,7 @@ void network_dump_appletalk_player(ubyte node, ushort net, ubyte socket, int why int digi_link_sound_to_object3( int org_soundnum, short objnum, int forever, fix max_volume, fix max_distance, int loop_start, int loop_end ) { - + return 0; } void digi_stop_sound(int channel) diff --git a/main/kmatrix.c b/main/kmatrix.c index 093c84a4..eb1abfa4 100644 --- a/main/kmatrix.c +++ b/main/kmatrix.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -static char rcsid[] = "$Id: kmatrix.c,v 1.1.1.1 2001-01-19 03:29:59 bradleyb Exp $"; +static char rcsid[] = "$Id: kmatrix.c,v 1.2 2001-01-20 13:49:16 bradleyb Exp $"; #endif #include @@ -71,7 +71,10 @@ char WaitingForOthers=0; int Kmatrix_nomovie_message=0; extern char MaxPowerupsAllowed[],PowerupsInMine[]; -extern void network_send_endlevel_sub(int); + +void kmatrix_reactor (char *message); +void kmatrix_phallic (); +void kmatrix_redraw_coop(); #define LHX(x) ((x)*(MenuHires?2:1)) #define LHY(y) ((y)*(MenuHires?2.4:1)) @@ -250,8 +253,8 @@ void kmatrix_draw_deaths(int *sorted) kmatrix_reactor(TXT_REACTOR_EXPLODED); else { - sprintf(&reactor_message, "%s: %d %s ", TXT_TIME_REMAINING, Countdown_seconds_left, TXT_SECONDS); - kmatrix_reactor (&reactor_message); + sprintf((char *)&reactor_message, "%s: %d %s ", TXT_TIME_REMAINING, Countdown_seconds_left, TXT_SECONDS); + kmatrix_reactor ((char *)&reactor_message); } if (Game_mode & GM_HOARD) @@ -320,8 +323,8 @@ void kmatrix_draw_coop_deaths(int *sorted) kmatrix_reactor(TXT_REACTOR_EXPLODED); else { - sprintf(&reactor_message, "%s: %d %s ", TXT_TIME_REMAINING, Countdown_seconds_left, TXT_SECONDS); - kmatrix_reactor (&reactor_message); + sprintf((char *)&reactor_message, "%s: %d %s ", TXT_TIME_REMAINING, Countdown_seconds_left, TXT_SECONDS); + kmatrix_reactor ((char *)&reactor_message); } } @@ -346,7 +349,7 @@ void kmatrix_reactor (char *message) gr_get_string_size(message, &sw, &sh, &aw); gr_printf( CENTERSCREEN-(sw/2), LHY(55+72+12), message); - strcpy (&oldmessage,message); + strcpy ((char *)&oldmessage,message); } extern int PhallicLimit,PhallicMan; diff --git a/main/laser.c b/main/laser.c index 8a277aad..5dd1a64c 100644 --- a/main/laser.c +++ b/main/laser.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -char laser_rcsid[] = "$Id: laser.c,v 1.1.1.1 2001-01-19 03:30:02 bradleyb Exp $"; +char laser_rcsid[] = "$Id: laser.c,v 1.2 2001-01-20 13:49:16 bradleyb Exp $"; #endif #include @@ -71,7 +71,7 @@ extern char BounceCheat; extern void newdemo_record_guided_end(); extern void newdemo_record_guided_start(); - +int find_homing_object(vms_vector *curpos, object *tracker); //--------------------------------------------------------------------------------- // Called by render code.... determines if the laser is from a robot or the @@ -2054,8 +2054,11 @@ void create_smart_children(object *objp, int num_smart_children) } else if (objp->type == OBJ_ROBOT) { parent_type = OBJ_ROBOT; parent_num = objp-Objects; - } else + } else { Int3(); // Hey, what kind of object is this!? + parent_type = 0; + parent_num = 0; + } if (objp->id == EARTHSHAKER_ID) blast_nearby_glass(objp, Weapon_info[EARTHSHAKER_ID].strength[Difficulty_level]); diff --git a/main/multi.c b/main/multi.c index 59777af7..3d203cf4 100644 --- a/main/multi.c +++ b/main/multi.c @@ -99,7 +99,6 @@ void multi_do_play_by_play (char *buf); #define vm_angvec_zero(v) (v)->p=(v)->b=(v)->h=0 -void reset_player_object(void); // In object.c but not in object.h void drop_player_eggs(object *player); // from collide.c void GameLoop(int, int); // From game.c @@ -381,7 +380,8 @@ map_objnum_local_to_local(int local_objnum) void multi_endlevel_score(void) { - int old_connect,i; + int old_connect=0; + int i; // Show a score list to end of net players @@ -942,8 +942,6 @@ multi_send_data(char *buf, int len, int repeat) network_send_data(buf, len, repeat); } -extern void AdjustMineSpawn(); - void multi_leave_game(void) { diff --git a/main/network.c b/main/network.c index a729f9f1..8e1f38ac 100644 --- a/main/network.c +++ b/main/network.c @@ -12,7 +12,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ #ifdef RCS -static char rcsid[] = "$Id: network.c,v 1.1.1.2 2001-01-19 03:33:46 bradleyb Exp $"; +static char rcsid[] = "$Id: network.c,v 1.2 2001-01-20 13:49:16 bradleyb Exp $"; #endif #include @@ -72,6 +72,39 @@ static char rcsid[] = "$Id: network.c,v 1.1.1.2 2001-01-19 03:33:46 bradleyb Exp #include "appltalk.h" #endif +void network_send_rejoin_sync(int player_num); +void network_update_netgame(void); +void network_read_endlevel_packet( ubyte *data ); +void network_read_object_packet( ubyte *data ); +void network_read_sync_packet( netgame_info * sp, int d1x ); +void network_flush(); +void network_listen(); +void network_read_pdata_packet(frame_info *pd ); + +void network_check_for_old_version (char pnum); +void network_send_endlevel_short_sub(int from_player_num,int to_player); +int network_wait_for_playerinfo(); +void network_process_pdata (char *data); +void network_read_endlevel_short_packet( ubyte *data ); +void network_ping (ubyte flag,int pnum); +void network_handle_ping_return (ubyte pnum); +void network_process_names_return (char *data); +void network_send_player_names (sequence_packet *their); +int network_choose_connect (); +void network_more_game_options (); +void network_count_powerups_in_mine(void); +int network_wait_for_all_info (int choice); +void network_do_big_wait(int choice); +void network_send_extras (); +void network_read_pdata_short_packet(short_frame_info *pd ); + +void network_AdjustMaxDataSize (); + +void ClipRank (signed char *rank); +void DoRefuseStuff (sequence_packet *their); +void SetAllAllowablesTo (int on); +int GetNewPlayerNumber (sequence_packet *their); + #define LHX(x) ((x)*(MenuHires?2:1)) #define LHY(y) ((y)*(MenuHires?2.4:1)) @@ -810,7 +843,7 @@ void network_welcome_player(sequence_packet *their) if (args_find("-NoMatrixCheat")) { - if (their->player.version_minor & 0x0F<3) + if (their->player.version_minor & (0x0F<3)) { network_dump_player(their->player.network.ipx.server, their->player.network.ipx.node, DUMP_DORK); return; @@ -1980,7 +2013,8 @@ void network_send_netgame_update() { // Send game info to someone who requested it - char old_type, old_status,i; + char old_type, old_status; + int i; mprintf((0, "Sending updated game info.\n")); @@ -2204,7 +2238,8 @@ void network_process_dump(sequence_packet *their) { // Our request for join was denied. Tell the user why. - char temp[40],i; + char temp[40]; + int i; mprintf((0, "Dumped by player %s, type %d.\n", their->player.callsign, their->player.connected)); @@ -2927,7 +2962,7 @@ int opt_refuse,opt_capture; void network_game_param_poll( int nitems, newmenu_item * menus, int * key, int citem ) { - static oldmaxnet=0; + static int oldmaxnet=0; if (((HoardEquipped() && menus[opt_team_hoard].value) || (menus[opt_team_anarchy].value || menus[opt_capture].value)) && !menus[opt_closed].value && !menus[opt_refuse].value) { menus[opt_refuse].value = 1; @@ -4402,7 +4437,7 @@ void network_join_game() if (Network_allow_socket_changes) sprintf( m[0].text, "\tCurrent IPX Socket is default %+d (PgUp/PgDn to change)", Network_socket ); else - sprintf( m[0].text, "" ); + strcpy( m[0].text, "" ); #ifdef MACINTOSH } else { p2cstr(Network_zone_name); @@ -5889,7 +5924,7 @@ void network_send_fly_thru_triggers (int pnum) { // send the fly thru triggers that have been disabled - char i; + int i; for (i=0;i @@ -97,6 +97,10 @@ static char rcsid[] = "$Id: newmenu.c,v 1.1.1.1 2001-01-19 03:30:01 bradleyb Exp #define UP_ARROW_MARKER "‡" // 135 #define DOWN_ARROW_MARKER "ˆ" // 136 +int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, void (*subfunction)(int nitems,newmenu_item * items, int * last_key, int citem), int citem, char * filename, int width, int height, int TinyMode ); +void show_extra_netgame_info(int choice); + + int Newmenu_first_time = 1; //--unused-- int Newmenu_fade_in = 1; @@ -305,6 +309,8 @@ void nm_string( bkg * b, int w1,int x, int y, char * s) char *p,*s1,measure[2]; int XTabs[]={15,87,124,162,228,253}; + p=s1=NULL; + for (i=0;i<6;i++) { XTabs[i]=(LHX(XTabs[i])); @@ -364,6 +370,8 @@ void nm_string_slider( bkg * b, int w1,int x, int y, char * s ) int w,h,aw; char *p,*s1; + s1=NULL; + p = strchr( s, '\t' ); if (p) { *p = '\0'; @@ -764,7 +772,9 @@ int newmenu_do4( char * title, char * subtitle, int nitems, newmenu_item * item, #endif } +#ifdef WINDOWS RePaintNewmenu4: +#endif WINDOS( save_canvas = dd_grd_curcanv, save_canvas = grd_curcanv ); WINDOS( dd_gr_set_current_canvas(NULL), gr_set_current_canvas(NULL) ); @@ -1922,7 +1932,7 @@ int nm_messagebox1( char *title, void (*subfunction)(int nitems,newmenu_item * i nm_message_items[i].type = NM_TYPE_MENU; nm_message_items[i].text = s; } format = va_arg( args, char * ); - sprintf( nm_text, "" ); + strcpy( nm_text, "" ); vsprintf(nm_text,format,args); va_end(args); @@ -1949,7 +1959,7 @@ int nm_messagebox( char *title, int nchoices, ... ) nm_message_items[i].type = NM_TYPE_MENU; nm_message_items[i].text = s; } format = va_arg( args, char * ); - sprintf( nm_text, "" ); + strcpy( nm_text, "" ); vsprintf(nm_text,format,args); va_end(args); @@ -2030,6 +2040,9 @@ int newmenu_get_filename( char * title, char * filespec, char * filename, int al #endif WIN(int win_redraw=0); + w_x=w_y=w_w=w_h=title_height=0; + box_x=box_y=box_w=box_h=0; + filenames = d_malloc( MAX_FILES * 14 ); if (filenames==NULL) return 0; @@ -2101,9 +2114,9 @@ ReadFileNames: // set_screen_mode(SCREEN_MENU); set_popup_screen(); + #ifdef WINDOWS RePaintNewmenuFile: - #ifdef WINDOWS dd_gr_set_current_canvas(NULL); #else gr_set_current_canvas(NULL); @@ -2731,9 +2744,9 @@ WIN(int win_redraw=0); // set_screen_mode(SCREEN_MENU); set_popup_screen(); +#ifdef WINDOWS RePaintNewmenuListbox: -#ifdef WINDOWS dd_gr_set_current_canvas(NULL); #else gr_set_current_canvas(NULL); @@ -3232,7 +3245,7 @@ void show_extra_netgame_info(int choice) for (i=0;i<5;i++) { - m[i].text=&mtext[i]; + m[i].text=(char *)&mtext[i]; m[i].type=NM_TYPE_TEXT; } diff --git a/main/object.c b/main/object.c index c3a7a77e..b84ec265 100644 --- a/main/object.c +++ b/main/object.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -static char rcsid[] = "$Id: object.c,v 1.1.1.1 2001-01-19 03:30:00 bradleyb Exp $"; +static char rcsid[] = "$Id: object.c,v 1.2 2001-01-20 13:49:17 bradleyb Exp $"; #endif #include @@ -88,6 +88,10 @@ static char rcsid[] = "$Id: object.c,v 1.1.1.1 2001-01-19 03:30:00 bradleyb Exp #include "3dfx_des.h" #endif +void obj_detach_all(object *parent); +void obj_detach_one(object *sub); +int free_object_slots(int num_used); + /* * Global variables */ @@ -335,11 +339,11 @@ extern void draw_tmap_flat(); void draw_cloaked_object(object *obj,fix light,fix *glow,fix cloak_start_time,fix cloak_end_time) { fix cloak_delta_time,total_cloaked_time; - fix light_scale; - int cloak_value; + fix light_scale=F1_0; + int cloak_value=0; int fading=0; //if true, fading, else cloaking - fix Cloak_fadein_duration; - fix Cloak_fadeout_duration; + fix Cloak_fadein_duration=F1_0; + fix Cloak_fadeout_duration=F1_0; total_cloaked_time = cloak_end_time-cloak_start_time; @@ -412,14 +416,26 @@ void draw_cloaked_object(object *obj,fix light,fix *glow,fix cloak_start_time,fi new_light = fixmul(light,light_scale); save_glow = glow[0]; glow[0] = fixmul(glow[0],light_scale); - draw_polygon_model(&obj->pos,&obj->orient,&obj->rtype.pobj_info.anim_angles,obj->rtype.pobj_info.model_num,obj->rtype.pobj_info.subobj_flags,new_light,glow, alt_textures ); + draw_polygon_model(&obj->pos, + &obj->orient, + (vms_angvec *)&obj->rtype.pobj_info.anim_angles, + obj->rtype.pobj_info.model_num,obj->rtype.pobj_info.subobj_flags, + new_light, + glow, + alt_textures ); glow[0] = save_glow; } else { Gr_scanline_darkening_level = cloak_value; gr_setcolor(BM_XRGB(0,0,0)); //set to black (matters for s3) g3_set_special_render(draw_tmap_flat,NULL,NULL); //use special flat drawer - draw_polygon_model(&obj->pos,&obj->orient,&obj->rtype.pobj_info.anim_angles,obj->rtype.pobj_info.model_num,obj->rtype.pobj_info.subobj_flags,light,glow,NULL ); + draw_polygon_model(&obj->pos, + &obj->orient, + (vms_angvec *)&obj->rtype.pobj_info.anim_angles, + obj->rtype.pobj_info.model_num,obj->rtype.pobj_info.subobj_flags, + light, + glow, + NULL ); g3_set_special_render(NULL,NULL,NULL); Gr_scanline_darkening_level = GR_FADE_LEVELS; } @@ -494,7 +510,14 @@ void draw_polygon_object(object *obj) for (i=0;i<12;i++) //fill whole array, in case simple model needs more bm_ptrs[i] = Textures[obj->rtype.pobj_info.tmap_override]; - draw_polygon_model(&obj->pos,&obj->orient,&obj->rtype.pobj_info.anim_angles,obj->rtype.pobj_info.model_num,obj->rtype.pobj_info.subobj_flags,light,engine_glow_value,bm_ptrs); + draw_polygon_model(&obj->pos, + &obj->orient, + (vms_angvec *)&obj->rtype.pobj_info.anim_angles, + obj->rtype.pobj_info.model_num, + obj->rtype.pobj_info.subobj_flags, + light, + engine_glow_value, + bm_ptrs); } else { @@ -519,11 +542,24 @@ void draw_polygon_object(object *obj) light = 2*light + F1_0; } - draw_polygon_model(&obj->pos,&obj->orient,&obj->rtype.pobj_info.anim_angles,obj->rtype.pobj_info.model_num,obj->rtype.pobj_info.subobj_flags,light,engine_glow_value,alt_textures); + draw_polygon_model(&obj->pos, + &obj->orient, + (vms_angvec *)&obj->rtype.pobj_info.anim_angles,obj->rtype.pobj_info.model_num, + obj->rtype.pobj_info.subobj_flags, + light, + engine_glow_value, + alt_textures); if (obj->type == OBJ_WEAPON && (Weapon_info[obj->id].model_num_inner > -1 )) { fix dist_to_eye = vm_vec_dist_quick(&Viewer->pos, &obj->pos); if (dist_to_eye < Simple_model_threshhold_scale * F1_0*2) - draw_polygon_model(&obj->pos,&obj->orient,&obj->rtype.pobj_info.anim_angles,Weapon_info[obj->id].model_num_inner,obj->rtype.pobj_info.subobj_flags,light,engine_glow_value,alt_textures); + draw_polygon_model(&obj->pos, + &obj->orient, + (vms_angvec *)&obj->rtype.pobj_info.anim_angles, + Weapon_info[obj->id].model_num_inner, + obj->rtype.pobj_info.subobj_flags, + light, + engine_glow_value, + alt_textures); } } } @@ -1822,6 +1858,7 @@ void obj_relink(int objnum,int newsegnum) } //process a continuously-spinning object +void spin_object(object *obj) { vms_angvec rotangs; @@ -2236,6 +2273,7 @@ int update_object_seg(object * obj ) //go through all objects and make sure they have the correct segment numbers +void fix_object_segs() { int i; diff --git a/main/object.h b/main/object.h index a61fbc40..f216b41a 100644 --- a/main/object.h +++ b/main/object.h @@ -382,7 +382,7 @@ extern int find_object_seg(object * obj ); //go through all objects and make sure they have the correct segment numbers //used when debugging is on -int fix_object_segs(); +void fix_object_segs(); // Drops objects contained in objp. int object_create_egg(object *objp); @@ -430,4 +430,8 @@ int drop_marker_object(vms_vector *pos,int segnum,vms_matrix *orient,int marker_ extern void wake_up_rendered_objects(object *gmissp, int window_num); +extern void AdjustMineSpawn(); + +void reset_player_object(void); + #endif diff --git a/main/physics.c b/main/physics.c index 0cd8b217..ed2b79d2 100644 --- a/main/physics.c +++ b/main/physics.c @@ -12,7 +12,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ #ifdef RCS -static char rcsid[] = "$Id: physics.c,v 1.1.1.1 2001-01-19 03:30:01 bradleyb Exp $"; +static char rcsid[] = "$Id: physics.c,v 1.2 2001-01-20 13:49:17 bradleyb Exp $"; #endif #include @@ -101,7 +101,7 @@ void do_physics_align_object( object * obj ) fix d,largest_d=-f1_0; int i,best_side; - + best_side=0; // bank player according to segment orientation //find side of segment that player is most alligned with diff --git a/main/piggy.c b/main/piggy.c index ee81e0b5..21ea039d 100644 --- a/main/piggy.c +++ b/main/piggy.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -static char rcsid[] = "$Id: piggy.c,v 1.1.1.1 2001-01-19 03:30:02 bradleyb Exp $"; +static char rcsid[] = "$Id: piggy.c,v 1.2 2001-01-20 13:49:17 bradleyb Exp $"; #endif #include @@ -1252,6 +1252,8 @@ void piggy_bitmap_page_in( bitmap_index bitmap ) grs_bitmap * bmp; int i,org_i,temp; + org_i = 0; + i = bitmap.index; Assert( i >= 0 ); Assert( i < MAX_BITMAP_FILES ); diff --git a/main/polyobj.c b/main/polyobj.c index 808fbad4..f84e8ab7 100644 --- a/main/polyobj.c +++ b/main/polyobj.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -static char rcsid[] = "$Id: polyobj.c,v 1.1.1.1 2001-01-19 03:30:01 bradleyb Exp $"; +static char rcsid[] = "$Id: polyobj.c,v 1.2 2001-01-20 13:49:17 bradleyb Exp $"; #endif #include @@ -154,12 +154,12 @@ void pof_read_vecs(vms_vector *vecs,int n,ubyte *bufp) Int3(); } -#define ID_OHDR 'RDHO' //Object header -#define ID_SOBJ 'JBOS' //Subobject header -#define ID_GUNS 'SNUG' //List of guns on this object -#define ID_ANIM 'MINA' //Animation data -#define ID_IDTA 'ATDI' //Interpreter data -#define ID_TXTR 'RTXT' //Texture filename list +#define ID_OHDR 0x5244484f // 'RDHO' //Object header +#define ID_SOBJ 0x4a424f53 // 'JBOS' //Subobject header +#define ID_GUNS 0x534e5547 // 'SNUG' //List of guns on this object +#define ID_ANIM 0x4d494e41 // 'MINA' //Animation data +#define ID_IDTA 0x41544449 // 'ATDI' //Interpreter data +#define ID_TXTR 0x52545854 // 'RTXT' //Texture filename list #ifdef DRIVE #define robot_info void @@ -195,7 +195,7 @@ polymodel *read_model_file(polymodel *pm,char *filename,robot_info *r) id = pof_read_int(model_buf); - if (id!='OPSP') + if (id!=0x4f505350) /* 'OPSP' */ Error("Bad ID in model file <%s>",filename); version = pof_read_short(model_buf); @@ -413,7 +413,7 @@ int read_model_guns(char *filename,vms_vector *gun_points, vms_vector *gun_dirs, id = pof_read_int(model_buf); - if (id!='OPSP') + if (id!=0x4f505350) /* 'OPSP' */ Error("Bad ID in model file <%s>",filename); version = pof_read_short(model_buf); diff --git a/main/state.c b/main/state.c index d8eaaa60..2736d6b1 100644 --- a/main/state.c +++ b/main/state.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -char state_rcsid[] = "$Id: state.c,v 1.1.1.1 2001-01-19 03:30:00 bradleyb Exp $"; +char state_rcsid[] = "$Id: state.c,v 1.2 2001-01-20 13:49:17 bradleyb Exp $"; #endif #include @@ -78,6 +78,7 @@ char state_rcsid[] = "$Id: state.c,v 1.1.1.1 2001-01-19 03:30:00 bradleyb Exp $" #include "controls.h" #include "laser.h" #include "multibot.h" +#include "state.h" #if defined(POLY_ACC) #include "poly_acc.h" @@ -148,6 +149,7 @@ extern byte robot_fire_buf[MAX_ROBOTS_CONTROLLED][18+3]; extern ubyte Hack_DblClick_MenuMode; #endif +void compute_all_static_light(void); //------------------------------------------------------------------- void state_callback(int nitems,newmenu_item * items, int * last_key, int citem) @@ -422,7 +424,7 @@ int copy_file(char *old_file, char *new_file) fwrite(buf, 1, bytes_read, out_file); if (ferror(out_file)) - Error("Cannot write to file <%s>: %s", out_file, strerror(errno)); + Error("Cannot write to file <%s>: %s", new_file, strerror(errno)); } if (fclose(in_file)) { @@ -1006,7 +1008,6 @@ int state_restore_all(int in_game, int secret_restore, char *filename_override) return state_restore_all_sub(filename, 0, secret_restore); } -extern void reset_player_object(void); extern void init_player_stats_new_ship(void); void ShowLevelIntro(int level_num); @@ -1355,14 +1356,14 @@ int state_restore_all_sub(char *filename, int multi, int secret_restore) MarkerObject[num] = -1; } - if (version>=11) + if (version>=11) { if (secret_restore != 1) fread (&Afterburner_charge,sizeof(fix),1,fp); else { fix dummy_fix; fread (&dummy_fix,sizeof(fix),1,fp); } - + } if (version>=12) { //read last was super information fread(&Primary_last_was_super,sizeof(Primary_last_was_super),1,fp); diff --git a/main/switch.c b/main/switch.c index 79d4a517..349c9726 100644 --- a/main/switch.c +++ b/main/switch.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -static char rcsid[] = "$Id: switch.c,v 1.1.1.1 2001-01-19 03:30:01 bradleyb Exp $"; +static char rcsid[] = "$Id: switch.c,v 1.2 2001-01-20 13:49:18 bradleyb Exp $"; #endif #include @@ -246,6 +246,10 @@ int do_change_walls(byte trigger_num) case TT_OPEN_WALL: new_wall_type = WALL_OPEN; break; case TT_CLOSE_WALL: new_wall_type = WALL_CLOSED; break; case TT_ILLUSORY_WALL: new_wall_type = WALL_ILLUSION; break; + default: + Assert(0); /* new_wall_type unset */ + return(0); + break; } if (Walls[segp->sides[side].wall_num].type == new_wall_type && Walls[csegp->sides[cside].wall_num].type == new_wall_type) diff --git a/main/titles.c b/main/titles.c index 780bed29..60c6d658 100644 --- a/main/titles.c +++ b/main/titles.c @@ -272,9 +272,9 @@ byte Door_dir=1, Door_div_count=0, Animating_bitmap_type=0; void show_bitmap_frame(void) { #ifdef WINDOWS - dd_grs_canvas *curcanv_save, *bitmap_canv; + dd_grs_canvas *curcanv_save, *bitmap_canv=0; #else - grs_canvas *curcanv_save, *bitmap_canv; + grs_canvas *curcanv_save, *bitmap_canv=0; #endif grs_bitmap *bitmap_ptr; diff --git a/main/wall.c b/main/wall.c index 103b1611..1d6bccf1 100644 --- a/main/wall.c +++ b/main/wall.c @@ -13,7 +13,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #ifdef RCS -static char rcsid[] = "$Id: wall.c,v 1.1.1.1 2001-01-19 03:30:00 bradleyb Exp $"; +static char rcsid[] = "$Id: wall.c,v 1.2 2001-01-20 13:49:18 bradleyb Exp $"; #endif #include @@ -595,8 +595,10 @@ void start_wall_decloak(segment *seg, int side) d->time = 0; if (Num_cloaking_walls >= MAX_CLOAKING_WALLS) { //no more! Int3(); //ran out of cloaking wall slots + /* what is this _doing_ here? w->type = WALL_CLOSED; Walls[csegp->sides[Connectside].wall_num].type = WALL_CLOSED; + */ return; } Num_cloaking_walls++; -- 2.39.2