diff --git a/code/renderer/tr_init.c b/code/renderer/tr_init.c index 83883ca0..1ffd0f3a 100644 --- a/code/renderer/tr_init.c +++ b/code/renderer/tr_init.c @@ -1560,6 +1560,8 @@ refexport_t *GetRefAPI ( int apiVersion, refimport_t *rimp ) { re.GetShaderHeight = RE_GetShaderHeight; re.GetShaderWidth = RE_GetShaderWidth; + re.GetShaderName = RE_GetShaderName; + re.GetModelName = RE_GetModelName; re.GetGraphicsInfo = RE_GetGraphicsInfo; re.ForceUpdatePose = RE_ForceUpdatePose; re.TIKI_Orientation = RE_TIKI_Orientation; diff --git a/code/renderer/tr_local.h b/code/renderer/tr_local.h index 75c8604b..c7fc95d7 100644 --- a/code/renderer/tr_local.h +++ b/code/renderer/tr_local.h @@ -2168,8 +2168,6 @@ UTIL ============================================================= */ -int RE_GetShaderHeight(qhandle_t hShader); -int RE_GetShaderWidth(qhandle_t hShader); void RB_StreamBegin(shader_t* shader); void RB_StreamEnd(void); void RB_StreamBeginDrawSurf(void); @@ -2188,6 +2186,8 @@ void R_DrawDebugNumber(const vec3_t org, float number, float scale, float r, flo void R_DebugRotatedBBox(const vec3_t org, const vec3_t ang, const vec3_t mins, const vec3_t maxs, float r, float g, float b, float alpha); int RE_GetShaderWidth(qhandle_t hShader); int RE_GetShaderHeight(qhandle_t hShader); +const char* RE_GetShaderName(qhandle_t hShader); +const char* RE_GetModelName(qhandle_t hModel); /* ============================================================= diff --git a/code/renderer/tr_util.cpp b/code/renderer/tr_util.cpp index d44b6f08..e79816b8 100644 --- a/code/renderer/tr_util.cpp +++ b/code/renderer/tr_util.cpp @@ -404,3 +404,37 @@ int RE_GetShaderHeight( qhandle_t hShader ) { return shader->unfoggedStages[ 0 ]->bundle[ 0 ].image[ 0 ]->uploadHeight; } + +/* +=============== +RE_GetShaderName +=============== +*/ +const char* RE_GetShaderName(qhandle_t hShader) { + shader_t* shader; + + if (hShader) { + shader = R_GetShaderByHandle(hShader); + } else { + shader = tr.defaultShader; + } + + return shader->name; +} + +/* +=============== +RE_GetModelName +=============== +*/ +const char* RE_GetModelName(qhandle_t hModel) { + model_t *model; + + if (!hModel) { + return ""; + } + + model = R_GetModelByHandle(hModel); + + return model->name; +} diff --git a/code/renderercommon/tr_public.h b/code/renderercommon/tr_public.h index 98872260..275fd68b 100644 --- a/code/renderercommon/tr_public.h +++ b/code/renderercommon/tr_public.h @@ -165,6 +165,8 @@ typedef struct { void (*SetFullscreen)(qboolean fullScreen); int (*GetShaderWidth)(qhandle_t hShader); int (*GetShaderHeight)(qhandle_t hShader); + const char* (*GetShaderName)(qhandle_t hShader); + const char* (*GetModelName)(qhandle_t hModel); const char* (*GetGraphicsInfo)(); void (*ForceUpdatePose)(refEntity_t* model); orientation_t (*TIKI_Orientation)(refEntity_t* model, int tagNum);