You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.3 KiB
114 lines
2.3 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Util.h and Util.cpp provide lots of helper stuff for TFStats to work |
|
// |
|
// $Workfile: $ |
|
// $Date: $ |
|
// |
|
//------------------------------------------------------------------------------------------------------ |
|
// $Log: $ |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
#ifndef UTIL_H |
|
#define UTIL_H |
|
#ifdef WIN32 |
|
#pragma once |
|
#endif |
|
#pragma warning (disable:4786) |
|
#include <stdio.h> |
|
#include <stdlib.h> |
|
#include <string> |
|
#include <map> |
|
using std::string; |
|
using std::map; |
|
|
|
#ifdef WIN32 |
|
#include <direct.h> |
|
#include <time.h> |
|
#else |
|
#include <unistd.h> |
|
#include <sys/types.h> |
|
#include <sys/stat.h> |
|
#include <fcntl.h> |
|
|
|
#define PERMIT (S_IRWXU|S_IRWXG|S_IRWXO) |
|
#endif |
|
|
|
//leave these global |
|
enum Consts |
|
{ |
|
TEAM_BLUE=0, |
|
TEAM_RED, |
|
TEAM_GREEN, |
|
TEAM_YELLOW, |
|
TEAM_NONE=4, |
|
MAX_TEAMS=4, |
|
ALL_TEAMS=4, |
|
}; |
|
|
|
//Player Class support |
|
enum player_class |
|
{ |
|
PC_UNDEFINED=0, |
|
PC_SCOUT, |
|
PC_SNIPER, |
|
PC_SOLDIER, |
|
PC_DEMOMAN, |
|
PC_MEDIC, |
|
PC_HWGUY, |
|
PC_PYRO, |
|
PC_SPY, |
|
PC_ENGINEER, |
|
PC_CIVILIAN, |
|
PC_RANDOM, |
|
PC_OBSERVER, |
|
}; |
|
|
|
//english names, indexed by above enumeration |
|
extern char* plrClassNames[]; |
|
//linear search, ack. |
|
player_class playerClassNameToClassID(const char* plrClass); |
|
|
|
|
|
//time support functions |
|
#include <time.h> |
|
|
|
class Util |
|
{ |
|
public: |
|
//get hours from time_t number |
|
static int time_t2hours(time_t tmr); |
|
//get minutes from time_t number |
|
static int time_t2mins(time_t tmr); |
|
//get seconds from time_t number |
|
static int time_t2secs(time_t tmr); |
|
|
|
//friendly english stuff |
|
static char* Months[]; |
|
static char* numberSuffixes[]; |
|
static char* daysofWeek[]; |
|
static char* ampm[]; |
|
|
|
static void debug_dir_printf(PRINTF_FORMAT_STRING char* fmt,...); |
|
|
|
static void str2lowercase(char* out, const char* in); |
|
|
|
//friendly weapon names so users don't have to look at names like "gl_grenade" |
|
static const string& getFriendlyWeaponName(const string& s); |
|
static void initFriendlyWeaponNameTable(); |
|
//map of team colors, indexed by team ID |
|
static const char* teamcolormap[]; |
|
|
|
static map<string,string> frWeapNmTbl; |
|
static int string2svrID(string s); |
|
|
|
|
|
static const char* makeDurationString(time_t start, time_t end,char* out,char* tostr=" - "); |
|
}; |
|
|
|
|
|
|
|
#endif // UTIL_H |
|
|
|
|
|
|