Files
funnygame/fpc/library/helper.cpp
2025-06-02 19:56:18 +03:00

57 lines
1.1 KiB
C++

#include "helper.h"
#include "runner.h"
#include "tier0/platform.h"
#include "tier1/utlvector.h"
#include "tier1/utlstring.h"
#include "unistd.h"
#include "libgen.h"
unsigned int g_hashState = 102851263;
unsigned int CProject::GenerateProjectHash( void )
{
unsigned int hash = 5381+g_hashState;
int c;
char *szName = m_szName;
while( (c = *szName++) )
hash = (hash * 33) + c;
g_hashState = g_hashState * 1664525 + 1013904223;
return hash;
};
static char path[1024];
static ssize_t pathSize = readlink("/proc/self/exe", path, sizeof(path) - 1);
static char* pathDir = dirname(path);
char *IFileSystem2::OwnDirectory()
{
return pathDir;
};
void IFileSystem2::MakeDirectory( const char *psz )
{
CUtlVector<CUtlString> args = {
"-p",
CUtlString(psz),
};
IRunner::Run("mkdir", args);
};
CUtlVector<CBuildStage*> g_buildStages;
CBuildStage::CBuildStage( CUtlString sz, int(*pMainFn)() )
{
m_sz = sz;
m_pMainFn = pMainFn;
if (sz == 0 || pMainFn == 0)
Plat_FatalErrorFunc("Name and function pointer must be set\n");
g_buildStages.AppendTail(this);
};
CUtlVector<CBuildStage*>& BuildStages()
{
return g_buildStages;
}