From b4f5da1141ea5c42f82f9be019093a271e23b6f8 Mon Sep 17 00:00:00 2001 From: plagman Date: Fri, 4 Mar 2011 05:33:35 +0000 Subject: [PATCH] Adds r_pr_overridemodelscale to help with getting models in-game, also works with HUD models. git-svn-id: https://svn.eduke32.com/eduke32@1818 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/build/include/polymer.h | 1 + polymer/eduke32/build/src/polymer.c | 7 ++++++- polymer/eduke32/build/src/polymost.c | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/polymer/eduke32/build/include/polymer.h b/polymer/eduke32/build/include/polymer.h index c9b6068a6..cdc5efd68 100644 --- a/polymer/eduke32/build/include/polymer.h +++ b/polymer/eduke32/build/include/polymer.h @@ -59,6 +59,7 @@ extern float pr_hudyadd; extern float pr_hudzadd; extern int32_t pr_hudangadd; extern int32_t pr_hudfov; +extern float pr_overridemodelscale; extern int32_t pr_ati_fboworkaround; extern int32_t pr_ati_nodepthoffset; #ifdef __APPLE__ diff --git a/polymer/eduke32/build/src/polymer.c b/polymer/eduke32/build/src/polymer.c index e0ce813e9..ac577a3fd 100644 --- a/polymer/eduke32/build/src/polymer.c +++ b/polymer/eduke32/build/src/polymer.c @@ -37,6 +37,7 @@ float pr_hudyadd = 0.0f; float pr_hudzadd = 0.0f; int32_t pr_hudangadd = 0; int32_t pr_hudfov = 426; +float pr_overridemodelscale = 0.0f; int32_t pr_ati_fboworkaround = 0; int32_t pr_ati_nodepthoffset = 0; #ifdef __APPLE__ @@ -3734,7 +3735,11 @@ static void polymer_drawmdsprite(spritetype *tspr) bglLoadIdentity(); scale = (1.0/4.0); scale *= m->scale; - scale *= m->bscale; + if (pr_overridemodelscale) { + scale *= pr_overridemodelscale; + } else { + scale *= m->bscale; + } if (tspriteptr[MAXSPRITESONSCREEN] == tspr) { float playerang, radplayerang, cosminusradplayerang, sinminusradplayerang, hudzoom; diff --git a/polymer/eduke32/build/src/polymost.c b/polymer/eduke32/build/src/polymost.c index e16f6c23d..f00447582 100644 --- a/polymer/eduke32/build/src/polymost.c +++ b/polymer/eduke32/build/src/polymost.c @@ -6282,6 +6282,7 @@ void polymost_initosdfuncs(void) { "r_pr_hudzadd", "r_pr_hudzadd: overriden HUD zadd; see r_pr_overridehud", (void *) &pr_hudzadd, CVAR_FLOAT | CVAR_NOSAVE, -100, 100 }, { "r_pr_hudangadd", "r_pr_hudangadd: overriden HUD angadd; see r_pr_overridehud", (void *) &pr_hudangadd, CVAR_INT | CVAR_NOSAVE, -512, 512 }, { "r_pr_hudfov", "r_pr_hudfov: overriden HUD fov; see r_pr_overridehud", (void *) &pr_hudfov, CVAR_INT | CVAR_NOSAVE, 0, 1023 }, + { "r_pr_overridemodelscale", "r_pr_overridemodelscale: overrides model scale if non-zero; use it to fine-tune DEF tokens", (void *) &pr_overridemodelscale, CVAR_FLOAT | CVAR_NOSAVE, 0, 500 }, { "r_pr_ati_fboworkaround", "r_pr_ati_fboworkaround: enable this to workaround an ATI driver bug that causes sprite shadows to be square - you need to restart the renderer for it to take effect", (void *) &pr_ati_fboworkaround, CVAR_BOOL | CVAR_NOSAVE, 0, 1 }, { "r_pr_ati_nodepthoffset", "r_pr_ati_nodepthoffset: enable this to workaround an ATI driver bug that causes sprite drawing to freeze the game on Radeon X1x00 hardware - you need to restart the renderer for it to take effect", (void *) &pr_ati_nodepthoffset, CVAR_BOOL | CVAR_NOSAVE, 0, 1 }, #endif