- botlib logfile now gets stored in the fs_game directory in fs_homepath. (patch from Erik Auerswald)

- Added proper error handling when fopening qconsole.log
- Fixed bug where r_chat.c gets loaded in botlib even when bot_nochat is 1.
This commit is contained in:
Thilo Schulz 2006-04-21 17:04:21 +00:00
parent 57cc0f901e
commit e7daf33d8e
3 changed files with 31 additions and 7 deletions

View file

@ -137,12 +137,24 @@ int Export_BotLibSetup(void)
{
int errnum;
char logfilename[MAX_QPATH];
char *homedir, *gamedir;
bot_developer = LibVarGetValue("bot_developer");
memset( &botlibglobals, 0, sizeof(botlibglobals) ); // bk001207 - init
//initialize byte swapping (litte endian etc.)
// Swap_Init();
Com_sprintf(logfilename, sizeof(logfilename), "%s%cbotlib.log", LibVarGetString("homedir"), PATH_SEP);
homedir = LibVarGetString("homedir");
gamedir = LibVarGetString("gamedir");
if (homedir[0]) {
if (gamedir[0]) {
Com_sprintf(logfilename, sizeof(logfilename), "%s%c%s%cbotlib.log", homedir, PATH_SEP, gamedir, PATH_SEP);
}
else {
Com_sprintf(logfilename, sizeof(logfilename), "%s%cbaseq3%cbotlib.log", homedir, PATH_SEP, PATH_SEP);
}
} else {
Com_sprintf(logfilename, sizeof(logfilename), "botlib.log");
}
Log_Open(logfilename);
//
botimport.Print(PRT_MESSAGE, "------- BotLib Initialization -------\n");

View file

@ -1593,10 +1593,11 @@ int BotInitLibrary(void) {
trap_BotLibVarSet("g_gametype", buf);
//bot developer mode and log file
trap_BotLibVarSet("bot_developer", bot_developer.string);
trap_Cvar_VariableStringBuffer("logfile", buf, sizeof(buf));
trap_BotLibVarSet("log", buf);
//no chatting
trap_Cvar_VariableStringBuffer("bot_nochat", buf, sizeof(buf));
if (strlen(buf)) trap_BotLibVarSet("nochat", "0");
if (strlen(buf)) trap_BotLibVarSet("nochat", buf);
//visualize jump pads
trap_Cvar_VariableStringBuffer("bot_visualizejumppads", buf, sizeof(buf));
if (strlen(buf)) trap_BotLibVarSet("bot_visualizejumppads", buf);

View file

@ -181,11 +181,22 @@ void QDECL Com_Printf( const char *fmt, ... ) {
newtime = localtime( &aclock );
logfile = FS_FOpenFileWrite( "qconsole.log" );
Com_Printf( "logfile opened on %s\n", asctime( newtime ) );
if ( com_logfile->integer > 1 ) {
// force it to not buffer so we get valid
// data even if we are crashing
FS_ForceFlush(logfile);
if(logfile)
{
Com_Printf( "logfile opened on %s\n", asctime( newtime ) );
if ( com_logfile->integer > 1 )
{
// force it to not buffer so we get valid
// data even if we are crashing
FS_ForceFlush(logfile);
}
}
else
{
Com_Printf("Opening qconsole.log failed!\n");
Cvar_SetValue("logfile", 0);
}
opening_qconsole = qfalse;