working on rendering

This commit is contained in:
2025-12-23 15:03:44 +02:00
parent 5a71b3023a
commit 3b4e2eea32
65 changed files with 1971 additions and 190 deletions

View File

@@ -15,6 +15,7 @@ DECLARE_BUILD_STAGE(tier0)
{
CProject_t compileProject = {};
LinkProject_t ldProject = {};
CUtlString szOutputProject = "";
compileProject.m_szName = "tier0";
compileProject.files = tier0_CompiledFiles;
@@ -22,18 +23,21 @@ DECLARE_BUILD_STAGE(tier0)
compileProject.bFPIC = true;
ldProject = ccompiler->Compile(&compileProject);
if (bStaticBuild)
ldProject.linkType = ELINK_STATIC_LIBRARY;
else
ldProject.linkType = ELINK_DYNAMIC_LIBRARY;
CUtlString outputProject = linker->Link(&ldProject);
if (!bStaticBuild)
{
ldProject.linkType = ELINK_STATIC_LIBRARY;
szOutputProject = linker->Link(&ldProject);
tier0_lib = szOutputProject;
}
else
{
ldProject.linkType = ELINK_DYNAMIC_LIBRARY;
szOutputProject = linker->Link(&ldProject);
filesystem2->MakeDirectory(CUtlString("%s/bin",szOutputDir.GetString()));
filesystem2->CopyFile(CUtlString("%s/bin", szOutputDir.GetString()), outputProject);
} else {
tier0_lib = outputProject;
filesystem2->CopyFile(CUtlString("%s/bin", szOutputDir.GetString()), szOutputProject);
ldProject.linkType = ELINK_STATIC_LIBRARY;
szOutputProject = linker->Link(&ldProject);
tier0_lib = szOutputProject;
}
return 0;

View File

@@ -117,6 +117,10 @@ PLATFORM_INTERFACE char *Plat_GetExtension( const char *szPath )
}
return last+1;
}
PLATFORM_INTERFACE void Plat_MakeDir( const char *szPath, int iPermissions )
{
mkdir(szPath, ACCESSPERMS);
}
PLATFORM_INTERFACE void Plat_Backtrace( void )
{
@@ -196,6 +200,45 @@ PLATFORM_INTERFACE void *Plat_GetProc( void *lib, const char *psz )
return (void*)GetProcAddress((HMODULE)lib, psz);
#endif
}
PLATFORM_INTERFACE void Plat_SetEnv( const char *szVar, const char *psz )
{
setenv(szVar, psz, true);
}
PLATFORM_INTERFACE const char *Plat_GetEnv( const char *szVar )
{
return getenv(szVar);
}
PLATFORM_INTERFACE void Plat_SetWorkingDir( const char *psz )
{
}
PLATFORM_INTERFACE const char *Plat_GetWorkingDir( void )
{
}
#ifndef MAX_PATH
#define MAX_PATH 4096
#endif
static char s_szExecutablePath[MAX_PATH];
#ifdef __linux__
static ssize_t s_iExecutablePathSize = readlink("/proc/self/exe", s_szExecutablePath, MAX_PATH);
#endif
PLATFORM_INTERFACE const char *Plat_GetExecutablePath( void )
{
return s_szExecutablePath;
}
PLATFORM_INTERFACE const char *Plat_GetParentDir( const char *psz )
{
}
PLATFORM_INTERFACE void Plat_UnloadLibrary( void *lib )
{
#ifdef __linux__