From 82b87e1812e7de69beb33c8dd7096b72498c285d Mon Sep 17 00:00:00 2001 From: helixhorned Date: Wed, 26 Feb 2014 20:18:28 +0000 Subject: [PATCH] engine.c: in loadlookups(), allow pal 0. BUILD_LUNATIC. git-svn-id: https://svn.eduke32.com/eduke32@4355 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/build/src/engine.c | 7 ++++--- polymer/eduke32/source/astub.c | 3 ++- polymer/eduke32/source/game.c | 7 ++++++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/polymer/eduke32/build/src/engine.c b/polymer/eduke32/build/src/engine.c index 3a4a61ea6..5d99cd437 100644 --- a/polymer/eduke32/build/src/engine.c +++ b/polymer/eduke32/build/src/engine.c @@ -8150,7 +8150,8 @@ static int32_t loadpalette(void) // Returns: // - if generated fog shade tables, their first palnum P (fog pals are [P .. P+3]) // - if didn't (no room), 0 -// - on error, -1 +// - on error, -1 (didn't read enough data) +// - -2: error, we already wrote an error message ourselves int32_t loadlookups(int32_t fp, uint8_t **basepaltabptr) { uint8_t numlookups; @@ -8167,10 +8168,10 @@ int32_t loadlookups(int32_t fp, uint8_t **basepaltabptr) if (kread(fp, &palnum, 1) != 1) return -1; - if (palnum == 0 || palnum >= 256-RESERVEDPALS) + if (palnum >= 256-RESERVEDPALS) { initprintf("ERROR: attempt to load lookup at reserved pal %d\n", palnum); - return -1; + return -2; } if (kread(fp, remapbuf, 256) != 256) diff --git a/polymer/eduke32/source/astub.c b/polymer/eduke32/source/astub.c index d5abe6108..418a4247c 100644 --- a/polymer/eduke32/source/astub.c +++ b/polymer/eduke32/source/astub.c @@ -2866,7 +2866,8 @@ static int32_t ReadPaletteTable(void) if (g_firstFogPal < 0) { - initprintf("ERROR loading PALOOKUP.DAT: failed reading enough data\n"); + if (g_firstFogPal == -1) + initprintf("ERROR loading PALOOKUP.DAT: failed reading enough data\n"); return 1; } diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c index 672d23db1..0c5a21945 100644 --- a/polymer/eduke32/source/game.c +++ b/polymer/eduke32/source/game.c @@ -10644,7 +10644,12 @@ static void G_LoadExtraPalettes(void) kclose(fp); if (g_firstFogPal < 0) - G_GameExit("\nERROR loading 'lookup.dat': failed reading enough data."); + { + if (g_firstFogPal == -1) + G_GameExit("\nERROR loading 'lookup.dat': failed reading enough data."); + else + G_GameExit("\nERROR loading 'lookup.dat'."); + } // Make color index 255 of default/water/slime palette black. Bmemset(&palette[255*3], 0, 3);