mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2025-02-17 01:21:12 +00:00
Move renderer availability check into vid.c, rename to VID_HasRenderer.
This commit is contained in:
parent
ddce6691e2
commit
6822da851e
3 changed files with 27 additions and 26 deletions
|
@ -75,55 +75,33 @@ typedef struct
|
||||||
renderer rendererlist[MAXRENDERERS];
|
renderer rendererlist[MAXRENDERERS];
|
||||||
int numrenderer;
|
int numrenderer;
|
||||||
|
|
||||||
static qboolean
|
|
||||||
Renderer_CheckIfAvailable(const char *renderer)
|
|
||||||
{
|
|
||||||
#ifdef __APPLE__
|
|
||||||
const char* lib_ext = "dylib";
|
|
||||||
#elif defined(_WIN32)
|
|
||||||
const char* lib_ext = "dll";
|
|
||||||
#else
|
|
||||||
const char* lib_ext = "so";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
char reflib_path[MAX_OSPATH] = {0};
|
|
||||||
snprintf(reflib_path, sizeof(reflib_path), "%sref_%s.%s", Sys_GetBinaryDir(), renderer, lib_ext);
|
|
||||||
|
|
||||||
if (Sys_IsFile(reflib_path))
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
Renderer_FillRenderdef(void)
|
Renderer_FillRenderdef(void)
|
||||||
{
|
{
|
||||||
numrenderer = -1;
|
numrenderer = -1;
|
||||||
|
|
||||||
if (Renderer_CheckIfAvailable("gl1"))
|
if (VID_HasRenderer("gl1"))
|
||||||
{
|
{
|
||||||
numrenderer++;
|
numrenderer++;
|
||||||
rendererlist[numrenderer].boxstr = "[OpenGL 1.4]";
|
rendererlist[numrenderer].boxstr = "[OpenGL 1.4]";
|
||||||
rendererlist[numrenderer].cvarstr = "gl1";
|
rendererlist[numrenderer].cvarstr = "gl1";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Renderer_CheckIfAvailable("gl3"))
|
if (VID_HasRenderer("gl3"))
|
||||||
{
|
{
|
||||||
numrenderer++;
|
numrenderer++;
|
||||||
rendererlist[numrenderer].boxstr = "[OpenGL 3.2]";
|
rendererlist[numrenderer].boxstr = "[OpenGL 3.2]";
|
||||||
rendererlist[numrenderer].cvarstr = "gl3";
|
rendererlist[numrenderer].cvarstr = "gl3";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Renderer_CheckIfAvailable("vk"))
|
if (VID_HasRenderer("vk"))
|
||||||
{
|
{
|
||||||
numrenderer++;
|
numrenderer++;
|
||||||
rendererlist[numrenderer].boxstr = "[Vulkan ]";
|
rendererlist[numrenderer].boxstr = "[Vulkan ]";
|
||||||
rendererlist[numrenderer].cvarstr = "vk";
|
rendererlist[numrenderer].cvarstr = "vk";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Renderer_CheckIfAvailable("soft"))
|
if (VID_HasRenderer("soft"))
|
||||||
{
|
{
|
||||||
numrenderer++;
|
numrenderer++;
|
||||||
rendererlist[numrenderer].boxstr = "[Software ]";
|
rendererlist[numrenderer].boxstr = "[Software ]";
|
||||||
|
|
|
@ -44,6 +44,7 @@ typedef struct {
|
||||||
extern viddef_t viddef;
|
extern viddef_t viddef;
|
||||||
|
|
||||||
// Generic stuff.
|
// Generic stuff.
|
||||||
|
qboolean VID_HasRenderer(const char *renderer);
|
||||||
void VID_Init(void);
|
void VID_Init(void);
|
||||||
void VID_Shutdown(void);
|
void VID_Shutdown(void);
|
||||||
void VID_CheckChanges(void);
|
void VID_CheckChanges(void);
|
||||||
|
|
|
@ -303,6 +303,28 @@ qboolean ref_active = false;
|
||||||
// Renderer restart type requested.
|
// Renderer restart type requested.
|
||||||
ref_restart_t restart_state = RESTART_UNDEF;
|
ref_restart_t restart_state = RESTART_UNDEF;
|
||||||
|
|
||||||
|
qboolean
|
||||||
|
VID_HasRenderer(const char *renderer)
|
||||||
|
{
|
||||||
|
#ifdef __APPLE__
|
||||||
|
const char* lib_ext = "dylib";
|
||||||
|
#elif defined(_WIN32)
|
||||||
|
const char* lib_ext = "dll";
|
||||||
|
#else
|
||||||
|
const char* lib_ext = "so";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
char reflib_path[MAX_OSPATH] = {0};
|
||||||
|
snprintf(reflib_path, sizeof(reflib_path), "%sref_%s.%s", Sys_GetBinaryDir(), renderer, lib_ext);
|
||||||
|
|
||||||
|
if (Sys_IsFile(reflib_path))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Called by the renderer to request a restart.
|
* Called by the renderer to request a restart.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue