Minor reworking to check command line cvars before Com_InitZoneMemory().

This lets you set com_zoneMegs from the command line (although still not
 from a config file, but oh well).

  Fixes Bugzilla #2571.
This commit is contained in:
Ryan C. Gordon 2009-09-14 19:28:59 +00:00
parent a903a2f03e
commit 569edcb04e

View file

@ -1397,9 +1397,11 @@ void Com_InitSmallZoneMemory( void ) {
void Com_InitZoneMemory( void ) { void Com_InitZoneMemory( void ) {
cvar_t *cv; cvar_t *cv;
//FIXME: 05/01/06 com_zoneMegs is useless right now as neither q3config.cfg nor // Please note: com_zoneMegs can only be set on the command line, and
// Com_StartupVariable have been executed by this point. The net result is that // not in q3config.cfg or Com_StartupVariable, as they haven't been
// s_zoneTotal will always be set to the default value. // executed by this point. It's a chicken and egg problem. We need the
// memory manager configured to handle those places where you would
// configure the memory manager.
// allocate the random block zone // allocate the random block zone
cv = Cvar_Get( "com_zoneMegs", DEF_COMZONEMEGS_S, CVAR_LATCH | CVAR_ARCHIVE ); cv = Cvar_Get( "com_zoneMegs", DEF_COMZONEMEGS_S, CVAR_LATCH | CVAR_ARCHIVE );
@ -2550,12 +2552,12 @@ void Com_Init( char *commandLine ) {
// Swap_Init (); // Swap_Init ();
Cbuf_Init (); Cbuf_Init ();
Com_InitZoneMemory();
Cmd_Init ();
// override anything from the config files with command line args // override anything from the config files with command line args
Com_StartupVariable( NULL ); Com_StartupVariable( NULL );
Com_InitZoneMemory();
Cmd_Init ();
// get the developer cvar set as early as possible // get the developer cvar set as early as possible
Com_StartupVariable( "developer" ); Com_StartupVariable( "developer" );