mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-12 11:10:39 +00:00
Don't error out when lookup.dat can't be read.
git-svn-id: https://svn.eduke32.com/eduke32@5347 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
ce7a20d4f2
commit
2a237a3d72
5 changed files with 29 additions and 40 deletions
|
@ -8537,16 +8537,15 @@ int32_t loadlookups(int32_t fp)
|
||||||
{
|
{
|
||||||
uint8_t numlookups;
|
uint8_t numlookups;
|
||||||
char remapbuf[256];
|
char remapbuf[256];
|
||||||
int32_t j;
|
|
||||||
|
|
||||||
if (kread(fp, &numlookups, 1) != 1)
|
if (kread_and_test(fp, &numlookups, 1))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
for (j=0; j<numlookups; j++)
|
for (int j=0; j<numlookups; j++)
|
||||||
{
|
{
|
||||||
uint8_t palnum;
|
uint8_t palnum;
|
||||||
|
|
||||||
if (kread(fp, &palnum, 1) != 1)
|
if (kread_and_test(fp, &palnum, 1))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (palnum >= 256-RESERVEDPALS)
|
if (palnum >= 256-RESERVEDPALS)
|
||||||
|
@ -8555,7 +8554,7 @@ int32_t loadlookups(int32_t fp)
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (kread(fp, remapbuf, 256) != 256)
|
if (kread_and_test(fp, remapbuf, 256))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
makepalookup(palnum, remapbuf, 0,0,0, 0);
|
makepalookup(palnum, remapbuf, 0,0,0, 0);
|
||||||
|
|
|
@ -2341,17 +2341,6 @@ static inline void SpriteName(int16_t spritenum, char *lo2)
|
||||||
Bstrcpy(lo2, names[sprite[spritenum].picnum]);
|
Bstrcpy(lo2, names[sprite[spritenum].picnum]);
|
||||||
}// end SpriteName
|
}// end SpriteName
|
||||||
|
|
||||||
// Returns: did error?
|
|
||||||
static int32_t ReadPaletteTable(void)
|
|
||||||
{
|
|
||||||
// Make base shade table at shade 0 into the identity map.
|
|
||||||
// (In the shade table of Duke3D's PALETTE.DAT, palookup[0][239]==143.)
|
|
||||||
// This makes it possible to sensibly use Lunatic's engine.saveLookupDat().
|
|
||||||
palookup[0][239] = 239;
|
|
||||||
|
|
||||||
return G_LoadLookups();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void m32_showmouse(void)
|
static void m32_showmouse(void)
|
||||||
{
|
{
|
||||||
|
@ -9915,8 +9904,7 @@ int32_t ExtPostStartupWindow(void)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ReadPaletteTable())
|
G_LoadLookups();
|
||||||
return 0;
|
|
||||||
|
|
||||||
loadtilegroups(default_tiles_cfg);
|
loadtilegroups(default_tiles_cfg);
|
||||||
|
|
||||||
|
@ -9946,6 +9934,15 @@ int32_t ExtPostStartupWindow(void)
|
||||||
void ExtPostInit(void)
|
void ExtPostInit(void)
|
||||||
{
|
{
|
||||||
InitCustomColors();
|
InitCustomColors();
|
||||||
|
|
||||||
|
// Make base shade table at shade 0 into the identity map.
|
||||||
|
// (In the shade table of Duke3D's PALETTE.DAT, palookup[0][239]==143.)
|
||||||
|
// This makes it possible to sensibly use Lunatic's engine.saveLookupDat().
|
||||||
|
palookup[0][239] = 239;
|
||||||
|
|
||||||
|
generatefogpals();
|
||||||
|
|
||||||
|
fillemptylookups();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExtUnInit(void)
|
void ExtUnInit(void)
|
||||||
|
|
|
@ -1009,18 +1009,13 @@ uint8_t *basepaltable[BASEPALCOUNT] = {
|
||||||
NULL /*anim_pal*/
|
NULL /*anim_pal*/
|
||||||
};
|
};
|
||||||
|
|
||||||
int32_t G_LoadLookups(void)
|
void G_LoadLookups(void)
|
||||||
{
|
{
|
||||||
int32_t fp, j;
|
int32_t fp, j;
|
||||||
|
|
||||||
if ((fp=kopen4loadfrommod("lookup.dat",0)) == -1)
|
if ((fp=kopen4loadfrommod("lookup.dat",0)) == -1)
|
||||||
{
|
|
||||||
if ((fp=kopen4loadfrommod("lookup.dat",1)) == -1)
|
if ((fp=kopen4loadfrommod("lookup.dat",1)) == -1)
|
||||||
{
|
return;
|
||||||
initprintf("ERROR: File \"lookup.dat\" not found.\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
j = loadlookups(fp);
|
j = loadlookups(fp);
|
||||||
|
|
||||||
|
@ -1028,26 +1023,20 @@ int32_t G_LoadLookups(void)
|
||||||
{
|
{
|
||||||
if (j == -1)
|
if (j == -1)
|
||||||
initprintf("ERROR loading \"lookup.dat\": failed reading enough data.\n");
|
initprintf("ERROR loading \"lookup.dat\": failed reading enough data.\n");
|
||||||
return 1;
|
|
||||||
|
return kclose(fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (j=1; j<=5; j++)
|
for (j=1; j<=5; j++)
|
||||||
{
|
{
|
||||||
// Account for TITLE and REALMS swap between basepal number and on-disk order.
|
// Account for TITLE and REALMS swap between basepal number and on-disk order.
|
||||||
// XXX: this reordering is better off as an argument to us.
|
|
||||||
int32_t basepalnum = (j == 3 || j == 4) ? 4+3-j : j;
|
int32_t basepalnum = (j == 3 || j == 4) ? 4+3-j : j;
|
||||||
|
|
||||||
if (kread(fp, basepaltable[basepalnum], 768) != 768)
|
if (kread_and_test(fp, basepaltable[basepalnum], 768))
|
||||||
return -1;
|
return kclose(fp);
|
||||||
}
|
}
|
||||||
|
|
||||||
kclose(fp);
|
kclose(fp);
|
||||||
|
|
||||||
generatefogpals();
|
|
||||||
|
|
||||||
fillemptylookups();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined HAVE_FLAC || defined HAVE_VORBIS
|
#if defined HAVE_FLAC || defined HAVE_VORBIS
|
||||||
|
|
|
@ -126,7 +126,7 @@ void G_DoAutoload(const char *dirname);
|
||||||
|
|
||||||
extern uint8_t *basepaltable[BASEPALCOUNT];
|
extern uint8_t *basepaltable[BASEPALCOUNT];
|
||||||
|
|
||||||
extern int32_t G_LoadLookups(void);
|
extern void G_LoadLookups(void);
|
||||||
|
|
||||||
//////////
|
//////////
|
||||||
|
|
||||||
|
|
|
@ -10979,16 +10979,18 @@ static inline void G_CheckGametype(void)
|
||||||
ud.m_respawn_items = ud.m_respawn_inventory = 1;
|
ud.m_respawn_items = ud.m_respawn_inventory = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void G_LoadExtraPalettes(void)
|
static void G_PostLoadPalette(void)
|
||||||
{
|
{
|
||||||
G_LoadLookups();
|
|
||||||
|
|
||||||
// Make color index 255 of default/water/slime palette black.
|
// Make color index 255 of default/water/slime palette black.
|
||||||
Bmemset(&basepaltable[BASEPAL][255*3], 0, 3);
|
Bmemset(&basepaltable[BASEPAL][255*3], 0, 3);
|
||||||
Bmemset(&basepaltable[WATERPAL][255*3], 0, 3);
|
Bmemset(&basepaltable[WATERPAL][255*3], 0, 3);
|
||||||
Bmemset(&basepaltable[SLIMEPAL][255*3], 0, 3);
|
Bmemset(&basepaltable[SLIMEPAL][255*3], 0, 3);
|
||||||
|
|
||||||
|
generatefogpals();
|
||||||
|
|
||||||
E_ReplaceTransparentColorWithBlack();
|
E_ReplaceTransparentColorWithBlack();
|
||||||
|
|
||||||
|
fillemptylookups();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SETFLAG(Tilenum, Flag) g_tile[Tilenum].flags |= Flag
|
#define SETFLAG(Tilenum, Flag) g_tile[Tilenum].flags |= Flag
|
||||||
|
@ -11260,7 +11262,7 @@ static void G_Startup(void)
|
||||||
picanm[LOADSCREEN].sf |= PICANM_NOFULLBRIGHT_BIT;
|
picanm[LOADSCREEN].sf |= PICANM_NOFULLBRIGHT_BIT;
|
||||||
|
|
||||||
// initprintf("Loading palette/lookups...\n");
|
// initprintf("Loading palette/lookups...\n");
|
||||||
G_LoadExtraPalettes();
|
G_LoadLookups();
|
||||||
|
|
||||||
ReadSaveGameHeaders();
|
ReadSaveGameHeaders();
|
||||||
|
|
||||||
|
@ -11709,6 +11711,8 @@ int32_t app_main(int32_t argc, const char **argv)
|
||||||
if (E_PostInit())
|
if (E_PostInit())
|
||||||
G_FatalEngineError();
|
G_FatalEngineError();
|
||||||
|
|
||||||
|
G_PostLoadPalette();
|
||||||
|
|
||||||
Gv_ResetSystemDefaults(); // called here to populate our fake tilesizx and tilesizy arrays presented to CON with sizes generated by dummytiles
|
Gv_ResetSystemDefaults(); // called here to populate our fake tilesizx and tilesizy arrays presented to CON with sizes generated by dummytiles
|
||||||
|
|
||||||
if (numplayers == 1 && boardfilename[0] != 0)
|
if (numplayers == 1 && boardfilename[0] != 0)
|
||||||
|
|
Loading…
Reference in a new issue