Make max demo size a cvar #32
No files matched your search
@@ -785,6 +785,7 @@ void D_RegisterServerCommands(void)
|
||||
|
||||
CV_RegisterVar(&cv_recordmultiplayerdemos);
|
||||
CV_RegisterVar(&cv_netdemosyncquality);
|
||||
CV_RegisterVar(&cv_maxdemosize);
|
||||
}
|
||||
|
||||
// =========================================================================
|
||||
|
||||
+19
-9
@@ -345,6 +345,10 @@ consvar_t cv_recordmultiplayerdemos = {"netdemo_record", "Manual Save", CV_SAVE,
|
||||
static CV_PossibleValue_t netdemosyncquality_cons_t[] = {{1, "MIN"}, {35, "MAX"}, {0, NULL}};
|
||||
consvar_t cv_netdemosyncquality = {"netdemo_syncquality", "1", CV_SAVE, netdemosyncquality_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
// Units are MiB.
|
||||
static CV_PossibleValue_t maxdemosize_cons_t[] = {{10, "MIN"}, {100, "MAX"}, {0, NULL}};
|
||||
consvar_t cv_maxdemosize = {"maxdemosize", "10", CV_SAVE, maxdemosize_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
static UINT8 *savebuffer;
|
||||
|
||||
// Analog Control
|
||||
@@ -6743,29 +6747,35 @@ void G_RecordDemo(const char *name)
|
||||
|
||||
strcpy(demoname, name);
|
||||
strcat(demoname, ".lmp");
|
||||
//@TODO make a maxdemosize cvar
|
||||
maxsize = 1024*1024*2;
|
||||
if (M_CheckParm("-maxdemo") && M_IsNextParm())
|
||||
maxsize = atoi(M_GetNextParm()) * 1024;
|
||||
maxsize = cv_maxdemosize.value*1024*1024;
|
||||
if (demobuffer)
|
||||
free(demobuffer);
|
||||
demo_p = NULL;
|
||||
demo.recording = false;
|
||||
demobuffer = malloc(maxsize);
|
||||
demoend = demobuffer + maxsize;
|
||||
|
||||
demo.recording = true;
|
||||
if (demobuffer)
|
||||
demo.recording = true;
|
||||
else
|
||||
CONS_Alert(CONS_ERROR, "Failed to allocate demo buffer\n");
|
||||
}
|
||||
|
||||
void G_RecordMetal(void)
|
||||
{
|
||||
INT32 maxsize;
|
||||
maxsize = 1024*1024;
|
||||
if (M_CheckParm("-maxdemo") && M_IsNextParm())
|
||||
maxsize = atoi(M_GetNextParm()) * 1024;
|
||||
maxsize = cv_maxdemosize.value*1024*1024;
|
||||
if (demobuffer)
|
||||
free(demobuffer);
|
||||
demo_p = NULL;
|
||||
metalrecording = false;
|
||||
demobuffer = malloc(maxsize);
|
||||
demoend = demobuffer + maxsize;
|
||||
metalrecording = true;
|
||||
|
||||
if (demobuffer)
|
||||
metalrecording = true;
|
||||
else
|
||||
CONS_Alert(CONS_ERROR, "Failed to allocate demo buffer\n");
|
||||
}
|
||||
|
||||
void G_BeginRecording(void)
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ extern UINT8 *demo_p;
|
||||
// ======================================
|
||||
|
||||
// demoplaying back and demo recording
|
||||
extern consvar_t cv_recordmultiplayerdemos, cv_netdemosyncquality;
|
||||
extern consvar_t cv_recordmultiplayerdemos, cv_netdemosyncquality, cv_maxdemosize;
|
||||
|
||||
// Publicly-accessible demo vars
|
||||
struct demovars_s {
|
||||
|
||||
@@ -562,6 +562,7 @@ static menuitem_t MISC_ReplayOptionsMenu[] =
|
||||
{
|
||||
{IT_CVAR|IT_STRING, NULL, "Record Replays", &cv_recordmultiplayerdemos, 0},
|
||||
{IT_CVAR|IT_STRING, NULL, "Sync Check Interval", &cv_netdemosyncquality, 10},
|
||||
{IT_CVAR|IT_STRING, NULL, "Max demo size (MiB)", &cv_maxdemosize, 20},
|
||||
};
|
||||
|
||||
static tic_t playback_last_menu_interaction_leveltime = 0;
|
||||
|
||||
Reference in new issue
Block a user