mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-31 05:30:48 +00:00
Merge branch 'mi-code-cleanup-once-again' into 'master'
MI code cleanup once again Code prettification branch 12472849127, no real changes to gameplay except a bunch of outdated SOC features have been removed or disabled (most notably, Callum's old texture/patch SOC implementation). Though the changes here might also speed up game startup a teensy bit I suspect, possibly? See merge request !102
This commit is contained in:
commit
68d8906a36
3 changed files with 45 additions and 370 deletions
68
src/d_main.c
68
src/d_main.c
|
@ -107,8 +107,6 @@ UINT8 window_notinfocus = false;
|
||||||
//
|
//
|
||||||
// DEMO LOOP
|
// DEMO LOOP
|
||||||
//
|
//
|
||||||
//static INT32 demosequence;
|
|
||||||
static const char *pagename = "MAP1PIC";
|
|
||||||
static char *startupwadfiles[MAX_WADFILES];
|
static char *startupwadfiles[MAX_WADFILES];
|
||||||
|
|
||||||
boolean devparm = false; // started game with -devparm
|
boolean devparm = false; // started game with -devparm
|
||||||
|
@ -721,7 +719,6 @@ void D_StartTitle(void)
|
||||||
|
|
||||||
gameaction = ga_nothing;
|
gameaction = ga_nothing;
|
||||||
displayplayer = consoleplayer = 0;
|
displayplayer = consoleplayer = 0;
|
||||||
//demosequence = -1;
|
|
||||||
gametype = GT_COOP;
|
gametype = GT_COOP;
|
||||||
paused = false;
|
paused = false;
|
||||||
advancedemo = false;
|
advancedemo = false;
|
||||||
|
@ -886,27 +883,10 @@ static void IdentifyVersion(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ======================================================================== */
|
|
||||||
// Just print the nice red titlebar like the original SRB2 for DOS.
|
|
||||||
/* ======================================================================== */
|
|
||||||
#ifdef PC_DOS
|
#ifdef PC_DOS
|
||||||
static inline void D_Titlebar(char *title1, char *title2)
|
/* ======================================================================== */
|
||||||
{
|
// Code for printing SRB2's title bar in DOS
|
||||||
// SRB2 banner
|
/* ======================================================================== */
|
||||||
clrscr();
|
|
||||||
textattr((BLUE<<4)+WHITE);
|
|
||||||
clreol();
|
|
||||||
cputs(title1);
|
|
||||||
|
|
||||||
// standard srb2 banner
|
|
||||||
textattr((RED<<4)+WHITE);
|
|
||||||
clreol();
|
|
||||||
gotoxy((80-strlen(title2))/2, 2);
|
|
||||||
cputs(title2);
|
|
||||||
normvideo();
|
|
||||||
gotoxy(1,3);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Center the title string, then add the date and time of compilation.
|
// Center the title string, then add the date and time of compilation.
|
||||||
|
@ -935,6 +915,31 @@ static inline void D_MakeTitleString(char *s)
|
||||||
strcpy(s, temp);
|
strcpy(s, temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void D_Titlebar(void)
|
||||||
|
{
|
||||||
|
char title1[82]; // srb2 title banner
|
||||||
|
char title2[82];
|
||||||
|
|
||||||
|
strcpy(title1, "Sonic Robo Blast 2");
|
||||||
|
strcpy(title2, "Sonic Robo Blast 2");
|
||||||
|
|
||||||
|
D_MakeTitleString(title1);
|
||||||
|
|
||||||
|
// SRB2 banner
|
||||||
|
clrscr();
|
||||||
|
textattr((BLUE<<4)+WHITE);
|
||||||
|
clreol();
|
||||||
|
cputs(title1);
|
||||||
|
|
||||||
|
// standard srb2 banner
|
||||||
|
textattr((RED<<4)+WHITE);
|
||||||
|
clreol();
|
||||||
|
gotoxy((80-strlen(title2))/2, 2);
|
||||||
|
cputs(title2);
|
||||||
|
normvideo();
|
||||||
|
gotoxy(1,3);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// D_SRB2Main
|
// D_SRB2Main
|
||||||
|
@ -942,8 +947,6 @@ static inline void D_MakeTitleString(char *s)
|
||||||
void D_SRB2Main(void)
|
void D_SRB2Main(void)
|
||||||
{
|
{
|
||||||
INT32 p;
|
INT32 p;
|
||||||
char srb2[82]; // srb2 title banner
|
|
||||||
char title[82];
|
|
||||||
|
|
||||||
INT32 pstartmap = 1;
|
INT32 pstartmap = 1;
|
||||||
boolean autostart = false;
|
boolean autostart = false;
|
||||||
|
@ -986,20 +989,8 @@ void D_SRB2Main(void)
|
||||||
dedicated = M_CheckParm("-dedicated") != 0;
|
dedicated = M_CheckParm("-dedicated") != 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
strcpy(title, "Sonic Robo Blast 2");
|
|
||||||
strcpy(srb2, "Sonic Robo Blast 2");
|
|
||||||
D_MakeTitleString(srb2);
|
|
||||||
|
|
||||||
#ifdef PC_DOS
|
#ifdef PC_DOS
|
||||||
D_Titlebar(srb2, title);
|
D_Titlebar();
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined (__OS2__) && !defined (HAVE_SDL)
|
|
||||||
// set PM window title
|
|
||||||
snprintf(pmData->title, sizeof (pmData->title),
|
|
||||||
"Sonic Robo Blast 2" VERSIONSTRING ": %s",
|
|
||||||
title);
|
|
||||||
pmData->title[sizeof (pmData->title) - 1] = '\0';
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (devparm)
|
if (devparm)
|
||||||
|
@ -1399,7 +1390,6 @@ void D_SRB2Main(void)
|
||||||
|
|
||||||
if (dedicated && server)
|
if (dedicated && server)
|
||||||
{
|
{
|
||||||
pagename = "TITLESKY";
|
|
||||||
levelstarttic = gametic;
|
levelstarttic = gametic;
|
||||||
G_SetGamestate(GS_LEVEL);
|
G_SetGamestate(GS_LEVEL);
|
||||||
if (!P_SetupLevel(false))
|
if (!P_SetupLevel(false))
|
||||||
|
|
339
src/dehacked.c
339
src/dehacked.c
|
@ -382,56 +382,6 @@ static void clear_levels(void)
|
||||||
P_AllocMapHeader(gamemap-1);
|
P_AllocMapHeader(gamemap-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
// Edits an animated texture slot on the array
|
|
||||||
// Tails 12-27-2003
|
|
||||||
static void readAnimTex(MYFILE *f, INT32 num)
|
|
||||||
{
|
|
||||||
char s[MAXLINELEN];
|
|
||||||
char *word;
|
|
||||||
char *word2;
|
|
||||||
INT32 i;
|
|
||||||
|
|
||||||
do {
|
|
||||||
if (myfgets(s, sizeof s, f) != NULL)
|
|
||||||
{
|
|
||||||
if (s[0] == '\n') break;
|
|
||||||
|
|
||||||
tmp = strchr(s, '#');
|
|
||||||
if (tmp)
|
|
||||||
*tmp = '\0';
|
|
||||||
// set the value in the appropriate field
|
|
||||||
|
|
||||||
word = strtok(s, " ");
|
|
||||||
if (word)
|
|
||||||
strupr(word);
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
|
|
||||||
word2 = strtok(NULL, " = ");
|
|
||||||
if (word2)
|
|
||||||
strupr(word2);
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
|
|
||||||
if (word2[strlen(word2)-1] == '\n')
|
|
||||||
word2[strlen(word2)-1] = '\0';
|
|
||||||
|
|
||||||
i = atoi(word2);
|
|
||||||
|
|
||||||
if (fastcmp(word, "START"))
|
|
||||||
strncpy(harddefs[num].startname, word2, 8);
|
|
||||||
if (fastcmp(word, "END"))
|
|
||||||
strncpy(harddefs[num].endname, word2, 8);
|
|
||||||
else if (fastcmp(word, "SPEED")) harddefs[num].speed = i;
|
|
||||||
else if (fastcmp(word, "ISTEXTURE")) harddefs[num].istexture = i;
|
|
||||||
|
|
||||||
else deh_warning("readAnimTex %d: unknown word '%s'", num, word);
|
|
||||||
}
|
|
||||||
} while (s[0] != '\n' && !myfeof(f)); //finish when the line is empty
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
static boolean findFreeSlot(INT32 *num)
|
static boolean findFreeSlot(INT32 *num)
|
||||||
{
|
{
|
||||||
// Send the character select entry to a free slot.
|
// Send the character select entry to a free slot.
|
||||||
|
@ -2106,7 +2056,7 @@ static void readframe(MYFILE *f, INT32 num)
|
||||||
Z_Free(s);
|
Z_Free(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void readsound(MYFILE *f, INT32 num, const char *savesfxnames[])
|
static void readsound(MYFILE *f, INT32 num)
|
||||||
{
|
{
|
||||||
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
||||||
char *word;
|
char *word;
|
||||||
|
@ -2142,21 +2092,7 @@ static void readsound(MYFILE *f, INT32 num, const char *savesfxnames[])
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if (fastcmp(word, "OFFSET"))
|
if (fastcmp(word, "SINGULAR"))
|
||||||
{
|
|
||||||
value -= 150360;
|
|
||||||
if (value <= 64)
|
|
||||||
value /= 8;
|
|
||||||
else if (value <= 260)
|
|
||||||
value = (value+4)/8;
|
|
||||||
else
|
|
||||||
value = (value+8)/8;
|
|
||||||
if (value >= -1 && value < sfx_freeslot0 - 1)
|
|
||||||
S_sfx[num].name = savesfxnames[value+1];
|
|
||||||
else
|
|
||||||
deh_warning("Sound %d: offset out of bounds", num);
|
|
||||||
}
|
|
||||||
else */if (fastcmp(word, "SINGULAR"))
|
|
||||||
{
|
{
|
||||||
DEH_WriteUndoline(word, va("%d", S_sfx[num].singularity), UNDO_NONE);
|
DEH_WriteUndoline(word, va("%d", S_sfx[num].singularity), UNDO_NONE);
|
||||||
S_sfx[num].singularity = value;
|
S_sfx[num].singularity = value;
|
||||||
|
@ -2182,8 +2118,6 @@ static void readsound(MYFILE *f, INT32 num, const char *savesfxnames[])
|
||||||
} while (!myfeof(f));
|
} while (!myfeof(f));
|
||||||
|
|
||||||
Z_Free(s);
|
Z_Free(s);
|
||||||
|
|
||||||
(void)savesfxnames;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Checks if a game data file name for a mod is good.
|
/** Checks if a game data file name for a mod is good.
|
||||||
|
@ -2811,190 +2745,6 @@ static void readconditionset(MYFILE *f, UINT8 setnum)
|
||||||
Z_Free(s);
|
Z_Free(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void readtexture(MYFILE *f, const char *name)
|
|
||||||
{
|
|
||||||
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
|
||||||
char *word;
|
|
||||||
char *word2;
|
|
||||||
char *tmp;
|
|
||||||
INT32 i, j, value;
|
|
||||||
UINT16 width = 0, height = 0;
|
|
||||||
INT16 patchcount = 0;
|
|
||||||
texture_t *texture;
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (myfgets(s, MAXLINELEN, f))
|
|
||||||
{
|
|
||||||
if (s[0] == '\n')
|
|
||||||
break;
|
|
||||||
|
|
||||||
tmp = strchr(s, '#');
|
|
||||||
if (tmp)
|
|
||||||
*tmp = '\0';
|
|
||||||
|
|
||||||
value = searchvalue(s);
|
|
||||||
word = strtok(s, " ");
|
|
||||||
if (word)
|
|
||||||
strupr(word);
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
|
|
||||||
word2 = strtok(NULL, " ");
|
|
||||||
if (word2)
|
|
||||||
strupr(word2);
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
|
|
||||||
// Width of the texture.
|
|
||||||
if (fastcmp(word, "WIDTH"))
|
|
||||||
{
|
|
||||||
DEH_WriteUndoline(word, va("%d", width), UNDO_NONE);
|
|
||||||
width = SHORT((UINT16)value);
|
|
||||||
}
|
|
||||||
// Height of the texture.
|
|
||||||
else if (fastcmp(word, "HEIGHT"))
|
|
||||||
{
|
|
||||||
DEH_WriteUndoline(word, va("%d", height), UNDO_NONE);
|
|
||||||
height = SHORT((UINT16)value);
|
|
||||||
}
|
|
||||||
// Number of patches the texture has.
|
|
||||||
else if (fastcmp(word, "NUMPATCHES"))
|
|
||||||
{
|
|
||||||
DEH_WriteUndoline(word, va("%d", patchcount), UNDO_NONE);
|
|
||||||
patchcount = SHORT((UINT16)value);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
deh_warning("readtexture: unknown word '%s'", word);
|
|
||||||
}
|
|
||||||
} while (!myfeof(f));
|
|
||||||
|
|
||||||
// Error checking.
|
|
||||||
if (!width)
|
|
||||||
I_Error("Texture %s has no width!\n", name);
|
|
||||||
|
|
||||||
if (!height)
|
|
||||||
I_Error("Texture %s has no height!\n", name);
|
|
||||||
|
|
||||||
if (!patchcount)
|
|
||||||
I_Error("Texture %s has no patches!\n", name);
|
|
||||||
|
|
||||||
// Allocate memory for the texture, and fill in information.
|
|
||||||
texture = Z_Calloc(sizeof(texture_t) + (sizeof(texpatch_t) * SHORT(patchcount)), PU_STATIC, NULL);
|
|
||||||
M_Memcpy(texture->name, name, sizeof(texture->name));
|
|
||||||
texture->width = width;
|
|
||||||
texture->height = height;
|
|
||||||
texture->patchcount = patchcount;
|
|
||||||
texture->holes = false;
|
|
||||||
// Fill out the texture patches, to allow them to be detected
|
|
||||||
// accurately by readpatch.
|
|
||||||
for (i = 0; i < patchcount; i++)
|
|
||||||
{
|
|
||||||
texture->patches[i].originx = 0;
|
|
||||||
texture->patches[i].originy = 0;
|
|
||||||
texture->patches[i].wad = UINT16_MAX;
|
|
||||||
texture->patches[i].lump = UINT16_MAX;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Jump to the next empty texture entry.
|
|
||||||
i = 0;
|
|
||||||
while (textures[i])
|
|
||||||
i++;
|
|
||||||
|
|
||||||
// Fill the global texture buffer entries.
|
|
||||||
j = 1;
|
|
||||||
while (j << 1 <= texture->width)
|
|
||||||
j <<= 1;
|
|
||||||
|
|
||||||
textures[i] = texture;
|
|
||||||
texturewidthmask[i] = j - 1;
|
|
||||||
textureheight[i] = texture->height << FRACBITS;
|
|
||||||
|
|
||||||
// Clean up.
|
|
||||||
Z_Free(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void readpatch(MYFILE *f, const char *name, UINT16 wad)
|
|
||||||
{
|
|
||||||
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
|
||||||
char *word;
|
|
||||||
char *word2;
|
|
||||||
char *tmp;
|
|
||||||
INT32 i = 0, j = 0, value;
|
|
||||||
texpatch_t patch = {0, 0, UINT16_MAX, UINT16_MAX, 0, 255, AST_COPY};
|
|
||||||
|
|
||||||
// Jump to the texture this patch belongs to, which,
|
|
||||||
// coincidentally, is always the last one on the buffer cache.
|
|
||||||
while (textures[i+1])
|
|
||||||
i++;
|
|
||||||
|
|
||||||
// Jump to the next empty patch entry.
|
|
||||||
while (memcmp(&(textures[i]->patches[j]), &patch, sizeof(patch)))
|
|
||||||
j++;
|
|
||||||
|
|
||||||
patch.wad = wad;
|
|
||||||
// Set the texture number, but only if the lump exists.
|
|
||||||
if ((patch.lump = W_CheckNumForNamePwad(name, wad, 0)) == INT16_MAX)
|
|
||||||
I_Error("readpatch: Missing patch in texture %s", textures[i]->name);
|
|
||||||
|
|
||||||
// note: undoing this patch will be done by other means
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (myfgets(s, MAXLINELEN, f))
|
|
||||||
{
|
|
||||||
if (s[0] == '\n')
|
|
||||||
break;
|
|
||||||
|
|
||||||
tmp = strchr(s, '#');
|
|
||||||
if (tmp)
|
|
||||||
*tmp = '\0';
|
|
||||||
|
|
||||||
value = searchvalue(s);
|
|
||||||
word = strtok(s, " ");
|
|
||||||
if (word)
|
|
||||||
strupr(word);
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
|
|
||||||
word2 = strtok(NULL, " ");
|
|
||||||
if (word2)
|
|
||||||
strupr(word2);
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
|
|
||||||
// X position of the patch in the texture.
|
|
||||||
if (fastcmp(word, "X"))
|
|
||||||
{
|
|
||||||
//DEH_WriteUndoline(word, va("%d", patch->originx), UNDO_NONE);
|
|
||||||
patch.originx = (INT16)value;
|
|
||||||
}
|
|
||||||
// Y position of the patch in the texture.
|
|
||||||
else if (fastcmp(word, "Y"))
|
|
||||||
{
|
|
||||||
//DEH_WriteUndoline(word, va("%d", patch->originy), UNDO_NONE);
|
|
||||||
patch.originy = (INT16)value;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
deh_warning("readpatch: unknown word '%s'", word);
|
|
||||||
}
|
|
||||||
} while (!myfeof(f));
|
|
||||||
|
|
||||||
// Error checking.
|
|
||||||
/* // Irrelevant. Origins cannot be unsigned.
|
|
||||||
if (patch.originx == UINT16_MAX)
|
|
||||||
I_Error("Patch %s on texture %s has no X position!\n", name, textures[i]->name);
|
|
||||||
|
|
||||||
if (patch.originy == UINT16_MAX)
|
|
||||||
I_Error("Patch %s on texture %s has no Y position!\n", name, textures[i]->name);
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Set the patch as that patch number.
|
|
||||||
textures[i]->patches[j] = patch;
|
|
||||||
|
|
||||||
// Clean up.
|
|
||||||
Z_Free(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void readmaincfg(MYFILE *f)
|
static void readmaincfg(MYFILE *f)
|
||||||
{
|
{
|
||||||
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
||||||
|
@ -3405,30 +3155,17 @@ static void ignorelines(MYFILE *f)
|
||||||
Z_Free(s);
|
Z_Free(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad)
|
static void DEH_LoadDehackedFile(MYFILE *f)
|
||||||
{
|
{
|
||||||
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
||||||
char *word;
|
char *word;
|
||||||
char *word2;
|
char *word2;
|
||||||
INT32 i;
|
INT32 i;
|
||||||
// do a copy of this for cross references probleme
|
|
||||||
//XBOXSTATIC actionf_t saveactions[NUMSTATES];
|
|
||||||
//XBOXSTATIC const char *savesprnames[NUMSPRITES];
|
|
||||||
XBOXSTATIC const char *savesfxnames[NUMSFX];
|
|
||||||
|
|
||||||
if (!deh_loaded)
|
if (!deh_loaded)
|
||||||
initfreeslots();
|
initfreeslots();
|
||||||
|
|
||||||
deh_num_warning = 0;
|
deh_num_warning = 0;
|
||||||
// save values for cross reference
|
|
||||||
/*
|
|
||||||
for (i = 0; i < NUMSTATES; i++)
|
|
||||||
saveactions[i] = states[i].action;
|
|
||||||
for (i = 0; i < NUMSPRITES; i++)
|
|
||||||
savesprnames[i] = sprnames[i];
|
|
||||||
*/
|
|
||||||
for (i = 0; i < NUMSFX; i++)
|
|
||||||
savesfxnames[i] = S_sfx[i].name;
|
|
||||||
|
|
||||||
gamedataadded = false;
|
gamedataadded = false;
|
||||||
|
|
||||||
|
@ -3505,19 +3242,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad)
|
||||||
if (word2[strlen(word2)-1] == '\n')
|
if (word2[strlen(word2)-1] == '\n')
|
||||||
word2[strlen(word2)-1] = '\0';
|
word2[strlen(word2)-1] = '\0';
|
||||||
i = atoi(word2);
|
i = atoi(word2);
|
||||||
if (fastcmp(word, "TEXTURE"))
|
if (fastcmp(word, "THING") || fastcmp(word, "MOBJ") || fastcmp(word, "OBJECT"))
|
||||||
{
|
|
||||||
// Read texture from spec file.
|
|
||||||
readtexture(f, word2);
|
|
||||||
DEH_WriteUndoline(word, word2, UNDO_HEADER);
|
|
||||||
}
|
|
||||||
else if (fastcmp(word, "PATCH"))
|
|
||||||
{
|
|
||||||
// Read patch from spec file.
|
|
||||||
readpatch(f, word2, wad);
|
|
||||||
DEH_WriteUndoline(word, word2, UNDO_HEADER);
|
|
||||||
}
|
|
||||||
else if (fastcmp(word, "THING") || fastcmp(word, "MOBJ") || fastcmp(word, "OBJECT"))
|
|
||||||
{
|
{
|
||||||
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
||||||
i = get_mobjtype(word2); // find a thing by name
|
i = get_mobjtype(word2); // find a thing by name
|
||||||
|
@ -3530,10 +3255,6 @@ static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad)
|
||||||
}
|
}
|
||||||
DEH_WriteUndoline(word, word2, UNDO_HEADER);
|
DEH_WriteUndoline(word, word2, UNDO_HEADER);
|
||||||
}
|
}
|
||||||
/* else if (fastcmp(word, "ANIMTEX"))
|
|
||||||
{
|
|
||||||
readAnimTex(f, i);
|
|
||||||
}*/
|
|
||||||
else if (fastcmp(word, "LIGHT"))
|
else if (fastcmp(word, "LIGHT"))
|
||||||
{
|
{
|
||||||
#ifdef HWRENDER
|
#ifdef HWRENDER
|
||||||
|
@ -3605,34 +3326,12 @@ static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad)
|
||||||
}
|
}
|
||||||
DEH_WriteUndoline(word, word2, UNDO_HEADER);
|
DEH_WriteUndoline(word, word2, UNDO_HEADER);
|
||||||
}
|
}
|
||||||
// <Callum> Added translations to this just in case its re-enabled
|
|
||||||
/* else if (fastcmp(word, "POINTER"))
|
|
||||||
{
|
|
||||||
word = strtok(NULL, " "); // get frame
|
|
||||||
word = strtok(NULL, ")");
|
|
||||||
if (word)
|
|
||||||
{
|
|
||||||
i = atoi(word);
|
|
||||||
if (i < NUMSTATES && i >= 0)
|
|
||||||
{
|
|
||||||
if (myfgets(s, MAXLINELEN, f))
|
|
||||||
states[i].action = saveactions[searchvalue(s)];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
deh_warning("Pointer: Frame %d doesn't exist", i);
|
|
||||||
ignorelines(f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
deh_warning("pointer (Frame %d) : missing ')'", i);
|
|
||||||
}*/
|
|
||||||
else if (fastcmp(word, "SOUND"))
|
else if (fastcmp(word, "SOUND"))
|
||||||
{
|
{
|
||||||
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
||||||
i = get_sfx(word2); // find a sound by name
|
i = get_sfx(word2); // find a sound by name
|
||||||
if (i < NUMSFX && i > 0)
|
if (i < NUMSFX && i > 0)
|
||||||
readsound(f, i, savesfxnames);
|
readsound(f, i);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
deh_warning("Sound %d out of range (1 - %d)", i, NUMSFX-1);
|
deh_warning("Sound %d out of range (1 - %d)", i, NUMSFX-1);
|
||||||
|
@ -3640,26 +3339,6 @@ static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad)
|
||||||
}
|
}
|
||||||
DEH_WriteUndoline(word, word2, UNDO_HEADER);
|
DEH_WriteUndoline(word, word2, UNDO_HEADER);
|
||||||
}
|
}
|
||||||
/* else if (fastcmp(word, "SPRITE"))
|
|
||||||
{
|
|
||||||
if (i < NUMSPRITES && i >= 0)
|
|
||||||
{
|
|
||||||
if (myfgets(s, MAXLINELEN, f))
|
|
||||||
{
|
|
||||||
INT32 k;
|
|
||||||
k = (searchvalue(s) - 151328)/8;
|
|
||||||
if (k >= 0 && k < NUMSPRITES)
|
|
||||||
sprnames[i] = savesprnames[k];
|
|
||||||
else
|
|
||||||
{
|
|
||||||
deh_warning("Sprite %d: offset out of bounds", i);
|
|
||||||
ignorelines(f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
deh_warning("Sprite %d doesn't exist",i);
|
|
||||||
}*/
|
|
||||||
else if (fastcmp(word, "HUDITEM"))
|
else if (fastcmp(word, "HUDITEM"))
|
||||||
{
|
{
|
||||||
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
||||||
|
@ -3746,7 +3425,10 @@ static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad)
|
||||||
// no undo support for this insanity yet
|
// no undo support for this insanity yet
|
||||||
//DEH_WriteUndoline(word, word2, UNDO_HEADER);
|
//DEH_WriteUndoline(word, word2, UNDO_HEADER);
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "SRB2"))
|
// Last I heard this crashes the game if you try to use it
|
||||||
|
// so this is disabled for now
|
||||||
|
// -- Monster Iestyn
|
||||||
|
/* else if (fastcmp(word, "SRB2"))
|
||||||
{
|
{
|
||||||
INT32 ver = searchvalue(strtok(NULL, "\n"));
|
INT32 ver = searchvalue(strtok(NULL, "\n"));
|
||||||
if (ver != PATCHVERSION)
|
if (ver != PATCHVERSION)
|
||||||
|
@ -3757,6 +3439,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, UINT16 wad)
|
||||||
// Unless you REALLY want to piss people off,
|
// Unless you REALLY want to piss people off,
|
||||||
// define a custom gamedata /before/ doing this!!
|
// define a custom gamedata /before/ doing this!!
|
||||||
// (then again, modifiedgame will prevent game data saving anyway)
|
// (then again, modifiedgame will prevent game data saving anyway)
|
||||||
|
*/
|
||||||
else if (fastcmp(word, "CLEAR"))
|
else if (fastcmp(word, "CLEAR"))
|
||||||
{
|
{
|
||||||
boolean clearall = (fastcmp(word2, "ALL"));
|
boolean clearall = (fastcmp(word2, "ALL"));
|
||||||
|
@ -3830,7 +3513,7 @@ void DEH_LoadDehackedLumpPwad(UINT16 wad, UINT16 lump)
|
||||||
W_ReadLumpPwad(wad, lump, f.data);
|
W_ReadLumpPwad(wad, lump, f.data);
|
||||||
f.curpos = f.data;
|
f.curpos = f.data;
|
||||||
f.data[f.size] = 0;
|
f.data[f.size] = 0;
|
||||||
DEH_LoadDehackedFile(&f, wad);
|
DEH_LoadDehackedFile(&f);
|
||||||
DEH_WriteUndoline(va("# uload for wad: %u, lump: %u", wad, lump), NULL, UNDO_DONE);
|
DEH_WriteUndoline(va("# uload for wad: %u, lump: %u", wad, lump), NULL, UNDO_DONE);
|
||||||
Z_Free(f.data);
|
Z_Free(f.data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,7 +158,7 @@ static INT32 windowedModes[MAXWINMODES][2] =
|
||||||
static void Impl_VideoSetupSDLBuffer(void);
|
static void Impl_VideoSetupSDLBuffer(void);
|
||||||
static void Impl_VideoSetupBuffer(void);
|
static void Impl_VideoSetupBuffer(void);
|
||||||
static SDL_bool Impl_CreateWindow(SDL_bool fullscreen);
|
static SDL_bool Impl_CreateWindow(SDL_bool fullscreen);
|
||||||
static void Impl_SetWindowName(const char *title);
|
//static void Impl_SetWindowName(const char *title);
|
||||||
static void Impl_SetWindowIcon(void);
|
static void Impl_SetWindowIcon(void);
|
||||||
|
|
||||||
static void SDLSetMode(INT32 width, INT32 height, SDL_bool fullscreen)
|
static void SDLSetMode(INT32 width, INT32 height, SDL_bool fullscreen)
|
||||||
|
@ -1188,7 +1188,7 @@ INT32 VID_SetMode(INT32 modeNum)
|
||||||
}
|
}
|
||||||
vid.modenum = -1;
|
vid.modenum = -1;
|
||||||
}
|
}
|
||||||
Impl_SetWindowName("SRB2 "VERSIONSTRING);
|
//Impl_SetWindowName("SRB2 "VERSIONSTRING);
|
||||||
|
|
||||||
SDLSetMode(vid.width, vid.height, USE_FULLSCREEN);
|
SDLSetMode(vid.width, vid.height, USE_FULLSCREEN);
|
||||||
|
|
||||||
|
@ -1271,14 +1271,16 @@ static SDL_bool Impl_CreateWindow(SDL_bool fullscreen)
|
||||||
return SDL_TRUE;
|
return SDL_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
static void Impl_SetWindowName(const char *title)
|
static void Impl_SetWindowName(const char *title)
|
||||||
{
|
{
|
||||||
if (window != NULL)
|
if (window == NULL)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SDL_SetWindowTitle(window, title);
|
SDL_SetWindowTitle(window, title);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
static void Impl_SetWindowIcon(void)
|
static void Impl_SetWindowIcon(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue