From 883c19fda46c74df21a2fc39d9d4fb185a5a9a09 Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Wed, 19 Mar 2003 23:20:59 +0000 Subject: [PATCH] if descent.pig available, load d1 textures for d1 levels --- ChangeLog | 4 ++-- main/wall.c | 27 +++++++++++++++++++++++++-- main/wall.h | 1 + 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 92b91306..1dbce2dd 100644 --- 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 diff --git a/main/wall.c b/main/wall.c index 2c3ac24a..a736c7b4 100644 --- a/main/wall.c +++ b/main/wall.c @@ -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 @@ -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 diff --git a/main/wall.h b/main/wall.h index 0b897104..987706a4 100644 --- a/main/wall.h +++ b/main/wall.h @@ -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) -- 2.39.2