From cf1668baaca6c6808f571adc9b495592f7803fc2 Mon Sep 17 00:00:00 2001 From: Bradley Bell Date: Thu, 15 Aug 2002 07:17:39 +0000 Subject: [PATCH] mac data file loading --- 2d/palette.c | 17 +++++++++++++++-- include/palette.h | 43 ++++++++++++++++++------------------------- main/gamesave.c | 8 ++++---- 3 files changed, 37 insertions(+), 31 deletions(-) diff --git a/2d/palette.c b/2d/palette.c index 0ab0295d..a4249f3a 100644 --- a/2d/palette.c +++ b/2d/palette.c @@ -1,4 +1,4 @@ -/* $Id: palette.c,v 1.4 2002-08-09 00:48:57 btb Exp $ */ +/* $Id: palette.c,v 1.5 2002-08-15 07:17:39 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -35,6 +35,8 @@ COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. //#include "key.h" //end remove +#include "palette.h" + extern int gr_installed; ubyte gr_palette[256*3]; @@ -74,8 +76,19 @@ void gr_use_palette_table( char * filename ) int i,fsize; fp = cfopen( filename, "rb" ); + + // the following is a hack to enable the loading of d2 levels + // even if only the d2 mac shareware datafiles are present. + // However, if the pig file is present but the palette file isn't, + // the textures in the level will look wierd... + if ( fp==NULL) + fp = cfopen( DEFAULT_LEVEL_PALETTE, "rb" ); if ( fp==NULL) - Error("Can't open palette file <%s>",filename); + Error("Can open neither palette file <%s> " + "nor default palette file <" + DEFAULT_LEVEL_PALETTE + ">.\n", + filename); fsize = cfilelength( fp ); Assert( fsize == 9472 ); diff --git a/include/palette.h b/include/palette.h index 9af0aa26..7215e79d 100644 --- a/include/palette.h +++ b/include/palette.h @@ -1,3 +1,4 @@ +/* $Id: palette.h,v 1.2 2002-08-15 07:17:39 btb Exp $ */ /* THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO @@ -7,62 +8,56 @@ 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-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. */ /* - * $Source: /cvs/cvsroot/d2x/include/palette.h,v $ - * $Revision: 1.1.1.1 $ - * $Author: bradleyb $ - * $Date: 2001-01-19 03:30:16 $ - * + * * Protoypes for palette functions - * - * $Log: not supported by cvs2svn $ - * Revision 1.1.1.1 1999/06/14 22:02:19 donut - * Import of d1x 1.37 source. * + * Old Log: * Revision 1.11 1994/11/15 17:55:10 john * Made text palette fade in when game over. - * + * * Revision 1.10 1994/11/07 13:53:42 john * Added better gamma stufff. - * + * * Revision 1.9 1994/11/07 13:38:03 john * Added gamma correction stuff. - * + * * Revision 1.8 1994/11/05 13:05:59 john * Added back in code to allow keys during fade. - * + * * Revision 1.7 1994/11/05 12:46:37 john * Changed palette stuff a bit. - * + * * Revision 1.6 1994/09/22 16:08:37 john * Fixed some palette stuff. - * + * * Revision 1.5 1994/08/09 11:27:04 john * Add cthru stuff. - * + * * Revision 1.4 1994/06/09 10:39:33 john * In fade out.in functions, returned 1 if key was pressed... - * + * * Revision 1.3 1994/05/31 19:04:24 john * Added key to stop fade if desired. - * + * * Revision 1.2 1994/05/06 12:50:42 john * Added supertransparency; neatend things up; took out warnings. - * + * * Revision 1.1 1994/05/04 14:59:57 john * Initial revision - * - * + * + * */ - #ifndef _PALETTE_H #define _PALETTE_H +#define DEFAULT_LEVEL_PALETTE "groupa.256" //don't confuse with DEFAULT_PALETTE + extern void gr_palette_set_gamma( int gamma ); extern int gr_palette_get_gamma(); extern ubyte gr_palette_faded_out; @@ -75,8 +70,6 @@ extern int gr_find_closest_color_current( int r, int g, int b ); extern void gr_palette_read(ubyte * palette); extern void init_computed_colors(void); - - extern ubyte gr_palette_gamma; extern ubyte gr_current_pal[256*3]; diff --git a/main/gamesave.c b/main/gamesave.c index e3a2f7e7..c819c308 100644 --- a/main/gamesave.c +++ b/main/gamesave.c @@ -24,7 +24,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #endif #ifdef RCS -char gamesave_rcsid[] = "$Id: gamesave.c,v 1.14 2002-08-08 09:10:28 btb Exp $"; +char gamesave_rcsid[] = "$Id: gamesave.c,v 1.15 2002-08-15 07:17:39 btb Exp $"; #endif #include @@ -1363,13 +1363,13 @@ extern void set_ambient_sound_flags(void); // ---------------------------------------------------------------------------- -#define LEVEL_FILE_VERSION 8 +#define LEVEL_FILE_VERSION 8 //1 -> 2 add palette name //2 -> 3 add control center explosion time //3 -> 4 add reactor strength //4 -> 5 killed hostage text stuff //5 -> 6 added Secret_return_segment and Secret_return_orient -//6 -> 7 added flickering lights +//6 -> 7 added flickering lights //7 -> 8 made version 8 to be not compatible with D2 1.0 & 1.1 #ifndef RELEASE @@ -1488,7 +1488,7 @@ int load_level(char * filename_passed) Current_level_palette[strlen(Current_level_palette)-1] = 0; } if (Gamesave_current_version <= 1 || Current_level_palette[0]==0) // descent 1 level - strcpy(Current_level_palette,"groupa.256"); + strcpy(Current_level_palette, DEFAULT_LEVEL_PALETTE); if (Gamesave_current_version >= 3) Base_control_center_explosion_time = cfile_read_int(LoadFile); -- 2.39.2