void UTIL_LogToFile(char* szFileName, const char *fmt, ...)
{
    va_list			argptr;
    va_start ( argptr, fmt );
    vsnprintf ( g_szLogString, sizeof(g_szLogString), fmt, argptr );
    va_end   ( argptr );

    char* szFilePath = new char[strlen(GlobalVariables::g_szDLLDirPath) + 12 + 30 + 1];
    char* szLogFile = get_timestring("_%Y%m%d.log");
    sprintf(szFilePath, "%slogs/%s%s", (GlobalVariables::g_szDLLDirPath), szFileName, szLogFile);
    FILE* hFile = fopen(szFilePath, "a+");
    delete[] szFilePath;
    delete[] szLogFile;
    if(hFile == NULL)
    {
      char szError[256];
      sprintf(szError, "Error fopen: %s\n", strerror(errno));
      SERVER_PRINT(szError);
      clearerr(hFile);
      return;
    }
    
    fprintf(hFile, g_szLogString);
    if(ferror(hFile))
    {
      char szError[256];
      sprintf(szError, "Error fprintf: %s\n", strerror(errno));
      SERVER_PRINT(szError);
      clearerr(hFile);
      return;
    }
    fclose(hFile);

}
Exemple #2
0
/* <22fed4> ../cstrike/dlls/debug.cpp:94 */
void SetDebugFlag(const char *flagStr, bool state)
{
    if (flagStr != NULL)
    {
        DebugOutputType flag;
        for (int i = 0; i < ARRAYSIZE(outputLevel); ++i)
        {
            DebugOutputLevel level = outputLevel[ i ];

            if (FStrEq(level.name, flagStr))
            {
                flag = level.value;

                if (state)
                    theDebugOutputTypes |= flag;
                else
                    theDebugOutputTypes &= ~flag;

                SERVER_PRINT(SharedVarArgs("mp_debug: %s is now %s\n", flagStr, state ? "on" : "off"));
                return;
            }
        }
    }

    SERVER_PRINT(SharedVarArgs("mp_debug: unknown variable '%s'\n", flagStr));
}
Exemple #3
0
// Debug message
void REALBOT_PRINT(cBot * pBot, char *Function, char *msg) {
   // Message format:
   // Function name - [BOT NAME, BOT TEAM]: Message
   char cMessage[256];
   char team[9];
   char name[32];

   memset(team, 0, sizeof(team));       // clear
   memset(name, 0, sizeof(name));       // clear

   strcpy(team, "TERROR");      // t
   strcpy(name, "FUNCTION");

   if (pBot) {
      memset(name, 0, sizeof(name));    // clear
      strcpy(name, pBot->name); // copy name

      if (pBot->iTeam == 2)
         strcpy(team, "COUNTER");
   } else {
      strcpy(team, "NONE");
   }

   sprintf(cMessage, "RBPRINT->[%s '%s']-[Team %s] : %s\n", name, Function,
           team, msg);

   // print in console only when on debug print
   if (Game.bDebug)
      SERVER_PRINT(cMessage);

   // print this realbot message also in the LOG file.
   rblog(cMessage);
}  // REALBOT_PRINT()
Exemple #4
0
/* <23001f> ../cstrike/dlls/debug.cpp:126 */
void PrintDebugFlag(const char *flagStr)
{
    if (flagStr != NULL)
    {
        DebugOutputType flag;
        for (int i = 0; i < ARRAYSIZE(outputLevel); ++i)
        {
            DebugOutputLevel level = outputLevel[ i ];

            if (FStrEq(level.name, flagStr))
            {
                flag = level.value;
                SERVER_PRINT(SharedVarArgs("mp_debug: %s is %s\n", flagStr, (flag & theDebugOutputTypes) ? "on" : "off"));
                return;
            }
        }
    }

    SERVER_PRINT(SharedVarArgs("mp_debug: unknown variable '%s'\n", flagStr));
}
Exemple #5
0
NOINLINE void LCPrintf(const char *fmt, ...)
{
	va_list		argptr;
	const int	prefixlen = sizeof("[ReIZ]: ") - 1;

	va_start(argptr, fmt);
	vsnprintf(logstring + prefixlen, sizeof(logstring) - prefixlen, fmt, argptr);
	va_end(argptr);

	SERVER_PRINT(logstring);
}
Exemple #6
0
void print_srvconsole( const char *fmt, ...)
{
	va_list argptr;
	static char string[384];
	va_start(argptr, fmt);
	vsnprintf(string, sizeof(string) - 1, fmt, argptr);
	string[sizeof(string) - 1] = '\0';
	va_end(argptr);
	
	SERVER_PRINT(string);
}
Exemple #7
0
void UTIL_ServerPrint(const char *fmt, ...)
{
	va_list argptr;
	char string[1024];

	va_start(argptr, fmt);
	vsprintf(string, fmt, argptr);
	va_end(argptr);

	SERVER_PRINT(string);
}
Exemple #8
0
void CONSOLE_ECHO(char *pszMsg, ...)
{
	va_list argptr;
	static char szStr[1024];

	va_start(argptr, pszMsg);
	vsprintf(szStr, pszMsg, argptr);
	va_end(argptr);

	SERVER_PRINT(szStr);
}
Exemple #9
0
void print(char* format, ...)
{
	char buffer[1000];
	va_list args;
	va_start(args, format);
	vsprintf(buffer, format, args);

	SERVER_PRINT(buffer);
	Util::debug_fprintf(buffer);

	va_end(args);
}
Exemple #10
0
/* <22fe23> ../cstrike/dlls/debug.cpp:56 */
void UTIL_DPrintf(char *pszMsg, ...)
{
    if (!IsDeveloper())
        return;

    va_list argptr;
    va_start(argptr, pszMsg);
    vsprintf(theDebugBuffer, pszMsg, argptr);
    va_end(argptr);

    SERVER_PRINT(theDebugBuffer);
}
Exemple #11
0
/* <23027d> ../cstrike/dlls/debug.cpp:247 */
NOXREF void UTIL_HostageDPrintf(char *pszMsg, ...)
{
    if (!IsDeveloper())
        return;

    if (theDebugOutputTypes & DEBUG_HOSTAGE)
    {
        va_list argptr;
        va_start(argptr, pszMsg);
        vsprintf(theDebugBuffer, pszMsg, argptr);
        va_end(argptr);

        SERVER_PRINT(theDebugBuffer);
    }
}
void UTIL_LogError(const char *fmt, ...)
{
    va_list			argptr;

    va_start ( argptr, fmt );
    vsnprintf ( g_szLogString, sizeof(g_szLogString), fmt, argptr );
    va_end   ( argptr );

    char*  szStr = UTIL_GetLog(g_szLogString);
    strcpy(g_szLogString, szStr);
    SERVER_PRINT(szStr);
    UTIL_LogToFile("error", g_szLogString);
    ALERT( at_error, szStr );
    delete[] szStr;
}
Exemple #13
0
/* <22ff69> ../cstrike/dlls/debug.cpp:45 */
NOXREF void UTIL_DPrintf(DebugOutputType outputType, char *pszMsg, ...)
{
    if (!IsDeveloper())
        return;

    if (theDebugOutputTypes & outputType)
    {
        va_list argptr;
        va_start(argptr, pszMsg);
        vsprintf(theDebugBuffer, pszMsg, argptr);
        va_end(argptr);

        SERVER_PRINT(theDebugBuffer);
    }
}
Exemple #14
0
/* <230181> ../cstrike/dlls/debug.cpp:193 */
void UTIL_CareerDPrintf(char *pszMsg, ...)
{
    if (!IsDeveloper())
        return;

    if (theDebugOutputTypes & DEBUG_CAREER)
    {
        va_list argptr;
        va_start(argptr, pszMsg);
        vsprintf(theDebugBuffer, pszMsg, argptr);
        va_end(argptr);

        SERVER_PRINT(theDebugBuffer);
    }
}
Exemple #15
0
/* <22fe97> ../cstrike/dlls/debug.cpp:78 */
void PrintDebugFlags()
{
    char *tmp;
    int remainder = DebugBufferSize;

    theDebugBuffer[0] = '\0';
    tmp = BufPrintf(theDebugBuffer, remainder, "mp_debug:\n");

    for (int i = 0; i < NUM_LEVELS - 1; ++i)
    {
        DebugOutputLevel level = outputLevel[i];

        tmp = BufPrintf(tmp, remainder, "  %s: %s\n", level.name, (theDebugOutputTypes & level.value) ? "on" : "off");
    }
    SERVER_PRINT(theDebugBuffer);
}
Exemple #16
0
// Log to console; newline added.
void mutil_LogConsole(plid_t /* plid */, const char *fmt, ...) {
	va_list ap;
	char buf[MAX_LOGMSG_LEN];
	unsigned int len;

	va_start(ap, fmt);
	vsnprintf(buf, sizeof(buf), fmt, ap);
	va_end(ap);
	// end msg with newline
	len=strlen(buf);
	if(len < sizeof(buf)-2)		// -1 null, -1 for newline
		strcat(buf, "\n");
	else
		buf[len-1] = '\n';

	SERVER_PRINT(buf);
}
void _printf2(const char *fmt, ...)
{
	/*
	* check is null, test the demo started before than searches pointer to refs
	*/
	if (&g_engfuncs == NULL || g_engfuncs.pfnServerPrint == NULL)
		return;

	static char Dest[4096];
	va_list ap;
	va_start(ap, fmt);
	vsnprintf(Dest, sizeof(Dest), fmt, ap);
	va_end(ap);

	if (Q_strlen(Dest) < sizeof(Dest) - 2)
		Q_strcat(Dest, "\n");

	else Dest[Q_strlen(Dest) - 1] = '\n';
	
	SERVER_PRINT(Dest);
}
Exemple #18
0
void LCPrintf(bool critical, const char *fmt, ...) {
	va_list			argptr;
	const int		prefixlen = 11; //sizeof(LOG_PREFIX) - 1;

	va_start(argptr, fmt);
	vsnprintf(logstring + prefixlen, sizeof(logstring) - prefixlen, fmt, argptr);
	va_end(argptr);

	bool bNeedWriteInConsole = critical || (g_RevoiceConfig && g_RevoiceConfig->hasLogMode(rl_console));
	bool bNeedWriteInLog = critical || (g_RevoiceConfig && g_RevoiceConfig->hasLogMode(rl_logfile));

	if (bNeedWriteInConsole && bNeedWriteInLog && g_RehldsSvs && g_RehldsSvs->IsLogActive())
	{
		if (pcv_mp_logecho && pcv_mp_logecho->value != 0.0)
			bNeedWriteInConsole = false;
	}

	if (bNeedWriteInConsole)
		SERVER_PRINT(logstring);

	if (bNeedWriteInLog)
		ALERT(at_logged, logstring);
}
Exemple #19
0
// Parse IAD file:
// Important Area Definition file
void INI_PARSE_IAD() {
   char dirname[256];
   char filename[256];

   FILE *stream;
   int section = INI_NONE;
   int wordtype = WORD_NONE;

   // Set Directory name
   strcpy(dirname, "data/cstrike/ini/");

   strcat(dirname, STRING(gpGlobals->mapname));
   strcat(dirname, ".ini");     // nodes file

   // writes whole path into "filename", Linux compatible
   UTIL_BuildFileNameRB(dirname, filename);

   SERVER_PRINT(filename);
   SERVER_PRINT("\n");

   float AreaX, AreaY, AreaZ;
   AreaX = AreaY = AreaZ = 9999;

   if ((stream = fopen(filename, "r+t")) != NULL) {
      char linefeed[80];
      char lineword[25];
      char linesection[30];

      // infinite loop baby
      while (!feof(stream)) {
         INI_Sentence(stream, linefeed);

         // Linefeed contains a string of 1 sentence. Whenever the first character is a commentary
         // character (which is "//", ";" or "#"), or an empty line, then skip it
         if (linefeed[0] == ';' ||
               linefeed[0] == '#' ||
               (linefeed[0] == '/' && linefeed[1] == '/') ||
               linefeed[0] == '\n' || linefeed[0] == '\0')
            continue;           // Skip

         wordtype = WORD_NONE;

         // Every line is checked for a new section.
         INI_Section(linefeed, linesection);

         if (linesection[0] != '\0' && strlen(linesection) > 1) {
            section = INI_SectionType(linesection, section);
            continue;           // next line
         }
         // Check word only when in a section
         if (section != INI_NONE) {
            INI_Word(linefeed, lineword);
            wordtype = INI_WordType(lineword, section);

            if (section == INI_AREA) {
               if (wordtype == WORD_AREAX)
                  AreaX = INI_WordValueINT(linefeed);
               if (wordtype == WORD_AREAY)
                  AreaY = INI_WordValueINT(linefeed);
               if (wordtype == WORD_AREAZ)
                  AreaZ = INI_WordValueINT(linefeed);


               if (AreaX != 9999 && AreaY != 9999 && AreaZ != 9999) {
                  // add this to goal
                  rblog("IAD: Adding an important area/goal\n");
                  NodeMachine.goal_add(NULL, GOAL_IMPORTANT,
                                       Vector(AreaX, AreaY, AreaZ));

                  AreaX = AreaY = AreaZ = 9999;
               }
            }
         }

      }                         // while

      fclose(stream);
   }
}