mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-21 20:11:12 +00:00
Disable by default, add menu option
This commit is contained in:
parent
7ca444cfd1
commit
928b236af3
4 changed files with 40 additions and 13 deletions
|
@ -51,15 +51,15 @@ consvar_t cv_gif_optimize = CVAR_INIT ("gif_optimize", "On", CV_SAVE, CV_OnOff,
|
||||||
consvar_t cv_gif_downscale = CVAR_INIT ("gif_downscale", "On", CV_SAVE, CV_OnOff, NULL);
|
consvar_t cv_gif_downscale = CVAR_INIT ("gif_downscale", "On", CV_SAVE, CV_OnOff, NULL);
|
||||||
consvar_t cv_gif_dynamicdelay = CVAR_INIT ("gif_dynamicdelay", "On", CV_SAVE, gif_dynamicdelay_cons_t, NULL);
|
consvar_t cv_gif_dynamicdelay = CVAR_INIT ("gif_dynamicdelay", "On", CV_SAVE, gif_dynamicdelay_cons_t, NULL);
|
||||||
consvar_t cv_gif_localcolortable = CVAR_INIT ("gif_localcolortable", "On", CV_SAVE, CV_OnOff, NULL);
|
consvar_t cv_gif_localcolortable = CVAR_INIT ("gif_localcolortable", "On", CV_SAVE, CV_OnOff, NULL);
|
||||||
consvar_t cv_gif_split = CVAR_INIT ("gif_split", "Use last filename", CV_SAVE, gif_split_cons_t, NULL);
|
consvar_t cv_gif_split = CVAR_INIT ("gif_split", "Off", CV_SAVE, gif_split_cons_t, NULL);
|
||||||
consvar_t cv_gif_sizelimit = CVAR_INIT ("gif_sizelimit", "8192", (CV_SAVE | CV_CALL), CV_Unsigned, CV_gifsizelimit_OnChange);
|
consvar_t cv_gif_sizelimit = CVAR_INIT ("gif_sizelimit", "0", (CV_SAVE | CV_CALL), CV_Unsigned, CV_gifsizelimit_OnChange);
|
||||||
consvar_t cv_gif_showfilesize = CVAR_INIT ("gif_showfilesize", "On", CV_SAVE, CV_OnOff, NULL);
|
consvar_t cv_gif_showfilesize = CVAR_INIT ("gif_showfilesize", "Off", CV_SAVE, CV_OnOff, NULL);
|
||||||
consvar_t cv_gif_showsplitcount = CVAR_INIT ("gif_showsplitcount", "On", CV_SAVE, CV_OnOff, NULL);
|
consvar_t cv_gif_showsplitcount = CVAR_INIT ("gif_showsplitcount", "Off", CV_SAVE, CV_OnOff, NULL);
|
||||||
|
|
||||||
#ifdef HAVE_ANIGIF
|
#ifdef HAVE_ANIGIF
|
||||||
static boolean gif_optimize = false; // So nobody can do something dumb
|
static boolean gif_optimize = false; // So nobody can do something dumb
|
||||||
static boolean gif_downscale = false; // like changing cvars mid output
|
static boolean gif_downscale = false; // like changing cvars mid output
|
||||||
static UINT8 gif_dynamicdelay = (UINT8)0; // and messing something up
|
static UINT8 gif_dynamicdelay = 0; // and messing something up
|
||||||
|
|
||||||
// Palette handling
|
// Palette handling
|
||||||
static boolean gif_localcolortable = false;
|
static boolean gif_localcolortable = false;
|
||||||
|
@ -984,17 +984,22 @@ void GIF_displayinfo(void)
|
||||||
y += ((vid.dupx > 1) ? 5 : 10); \
|
y += ((vid.dupx > 1) ? 5 : 10); \
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gif_sizelimit)
|
if (!gif_out)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (cv_gif_showfilesize.value)
|
if (cv_gif_showfilesize.value)
|
||||||
{
|
{
|
||||||
GIF_getinfosize(gif_totalsize, &filesize[0], &unit[0][0]);
|
GIF_getinfosize(gif_totalsize, &filesize[0], &unit[0][0]);
|
||||||
GIF_getinfosize(gif_sizelimit, &filesize[1], &unit[1][0]);
|
|
||||||
|
|
||||||
string = va("%.2f%s/%.2f%s", filesize[0], unit[0], filesize[1], unit[1]);
|
if (gif_sizelimit)
|
||||||
|
{
|
||||||
|
GIF_getinfosize(gif_sizelimit, &filesize[1], &unit[1][0]);
|
||||||
|
string = va(M_GetText("GIF size: %.2f%s/%.2f%s"), filesize[0], unit[0], filesize[1], unit[1]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
string = va(M_GetText("GIF size: %.2f%s"), filesize[0], unit[0]);
|
||||||
|
|
||||||
if ((!cv_gif_split.value)
|
if (gif_sizelimit && (!cv_gif_split.value)
|
||||||
&& (gif_totalsize > (gif_sizelimit - (gif_sizelimit / 4)))
|
&& (gif_totalsize > (gif_sizelimit - (gif_sizelimit / 4)))
|
||||||
&& (gif_frames/5 & 1)) // flashing
|
&& (gif_frames/5 & 1)) // flashing
|
||||||
stringflags |= V_REDMAP;
|
stringflags |= V_REDMAP;
|
||||||
|
@ -1008,6 +1013,22 @@ void GIF_displayinfo(void)
|
||||||
string = va("GIF count: %d\n", (gif_splitcount + 1));
|
string = va("GIF count: %d\n", (gif_splitcount + 1));
|
||||||
infoline(string);
|
infoline(string);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#undef infoline
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean GIF_candisplayinfo(void)
|
||||||
|
{
|
||||||
|
if (!gif_out)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (cv_gif_showfilesize.value)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if (cv_gif_split.value && gif_splitcount && cv_gif_showsplitcount.value)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -26,6 +26,7 @@ INT32 GIF_open(const char *filename);
|
||||||
void GIF_frame(void);
|
void GIF_frame(void);
|
||||||
INT32 GIF_close(void);
|
INT32 GIF_close(void);
|
||||||
void GIF_displayinfo(void);
|
void GIF_displayinfo(void);
|
||||||
|
boolean GIF_candisplayinfo(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern consvar_t cv_gif_optimize, cv_gif_downscale, cv_gif_dynamicdelay, cv_gif_localcolortable;
|
extern consvar_t cv_gif_optimize, cv_gif_downscale, cv_gif_dynamicdelay, cv_gif_localcolortable;
|
||||||
|
|
|
@ -1557,6 +1557,7 @@ static menuitem_t OP_ScreenshotOptionsMenu[] =
|
||||||
{IT_STRING|IT_CVAR, NULL, "Region Optimizing", &cv_gif_optimize, 100},
|
{IT_STRING|IT_CVAR, NULL, "Region Optimizing", &cv_gif_optimize, 100},
|
||||||
{IT_STRING|IT_CVAR, NULL, "Local Color Table", &cv_gif_localcolortable, 105},
|
{IT_STRING|IT_CVAR, NULL, "Local Color Table", &cv_gif_localcolortable, 105},
|
||||||
{IT_STRING|IT_CVAR, NULL, "Dynamic Delay", &cv_gif_dynamicdelay, 110},
|
{IT_STRING|IT_CVAR, NULL, "Dynamic Delay", &cv_gif_dynamicdelay, 110},
|
||||||
|
{IT_STRING|IT_CVAR, NULL, "Show File Size", &cv_gif_showfilesize, 115},
|
||||||
|
|
||||||
{IT_STRING|IT_CVAR, NULL, "Downscaling", &cv_apng_downscale, 95},
|
{IT_STRING|IT_CVAR, NULL, "Downscaling", &cv_apng_downscale, 95},
|
||||||
{IT_STRING|IT_CVAR, NULL, "Memory Level", &cv_zlib_memorya, 100},
|
{IT_STRING|IT_CVAR, NULL, "Memory Level", &cv_zlib_memorya, 100},
|
||||||
|
@ -1573,9 +1574,9 @@ enum
|
||||||
op_movie_folder = 11,
|
op_movie_folder = 11,
|
||||||
op_screenshot_capture = 12,
|
op_screenshot_capture = 12,
|
||||||
op_screenshot_gif_start = 13,
|
op_screenshot_gif_start = 13,
|
||||||
op_screenshot_gif_end = 16,
|
op_screenshot_gif_end = 17,
|
||||||
op_screenshot_apng_start = 17,
|
op_screenshot_apng_start = 18,
|
||||||
op_screenshot_apng_end = 21,
|
op_screenshot_apng_end = 22,
|
||||||
};
|
};
|
||||||
|
|
||||||
static menuitem_t OP_EraseDataMenu[] =
|
static menuitem_t OP_EraseDataMenu[] =
|
||||||
|
|
|
@ -518,7 +518,11 @@ boolean SCR_UseDelayedOverlay(void)
|
||||||
|
|
||||||
boolean SCR_NeedsDelayedOverlay(void)
|
boolean SCR_NeedsDelayedOverlay(void)
|
||||||
{
|
{
|
||||||
return (moviemode == MM_GIF);
|
#ifdef HAVE_ANIGIF
|
||||||
|
return (moviemode == MM_GIF && GIF_candisplayinfo());
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// XMOD FPS display
|
// XMOD FPS display
|
||||||
|
|
Loading…
Reference in a new issue