if descent.pig available, load d1 textures for d1 levels
authorBradley Bell <btb@icculus.org>
Wed, 19 Mar 2003 23:20:59 +0000 (23:20 +0000)
committerBradley Bell <btb@icculus.org>
Wed, 19 Mar 2003 23:20:59 +0000 (23:20 +0000)
ChangeLog
main/wall.c
main/wall.h

index 92b9130..1dbce2d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,8 +11,8 @@
 
        * 2d/rle.c, include/gr.h, include/rle.h, main/bm.c, main/bm.h,
        main/gamemine.c, main/gamemine.h, main/gameseq.c, main/piggy.c,
-       main/piggy.h: if descent.pig available, load d1 textures for d1
-       levels
+       main/piggy.h, main/wall.c, main/wall.h: if descent.pig available,
+       load d1 textures for d1 levels
 
 2003-03-19  Bradley Bell  <btb@icculus.org>
 
index 2c3ac24..a736c7b 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: wall.c,v 1.7 2002-08-02 04:57:19 btb Exp $ */
+/* $Id: wall.c,v 1.8 2003-03-19 23:20:59 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: wall.c,v 1.7 2002-08-02 04:57:19 btb Exp $";
+static char rcsid[] = "$Id: wall.c,v 1.8 2003-03-19 23:20:59 btb Exp $";
 #endif
 
 #include <stdio.h>
@@ -1545,6 +1545,29 @@ void blast_nearby_glass(object *objp, fix damage)
 
 }
 
+#define MAX_CLIP_FRAMES_D1 20
+
+/*
+ * reads a wclip structure from a CFILE
+ */
+int wclip_read_n_d1(wclip *wc, int n, CFILE *fp)
+{
+       int i, j;
+
+       for (i = 0; i < n; i++) {
+               wc[i].play_time = cfile_read_fix(fp);
+               wc[i].num_frames = cfile_read_short(fp);
+               for (j = 0; j < MAX_CLIP_FRAMES_D1; j++)
+                       wc[i].frames[j] = cfile_read_short(fp);
+               wc[i].open_sound = cfile_read_short(fp);
+               wc[i].close_sound = cfile_read_short(fp);
+               wc[i].flags = cfile_read_short(fp);
+               cfread(wc[i].filename, 13, 1, fp);
+               wc[i].pad = cfile_read_byte(fp);
+       }
+       return i;
+}
+
 #ifndef FAST_FILE_IO
 /*
  * reads a wclip structure from a CFILE
index 0b89710..987706a 100644 (file)
@@ -256,6 +256,7 @@ void kill_stuck_objects(int wallnum);
 void start_wall_cloak(segment *seg, int side);
 void start_wall_decloak(segment *seg, int side);
 
+extern int wclip_read_n_d1(wclip *wc, int n, CFILE *fp);
 #ifdef FAST_FILE_IO
 #define wclip_read_n(wc, n, fp) cfread(wc, sizeof(wclip), n, fp)
 #define v16_wall_read(w, fp) cfread(w, sizeof(v16_wall), 1, fp)