diff options
| author | Tim Angus <tim@ngus.net> | 2009-10-16 22:20:49 +0000 | 
|---|---|---|
| committer | Tim Angus <tim@ngus.net> | 2013-01-03 00:16:52 +0000 | 
| commit | 9a60b0c6c2252e95caa35e4b00b310b5e628371b (patch) | |
| tree | e698b603ca92b2093b06071be602c734b40d1fec /src/cgame/cg_drawtools.c | |
| parent | db2626a08e4d39c58890ba7e3f7c4470e7c0b38b (diff) | |
* (bug #4265) Fix CG_WorldToScreen to accomdate cg_viewsize
* (bug #4265) Clip health bars to the cg_viewsize viewport 
Diffstat (limited to 'src/cgame/cg_drawtools.c')
| -rw-r--r-- | src/cgame/cg_drawtools.c | 15 | 
1 files changed, 9 insertions, 6 deletions
diff --git a/src/cgame/cg_drawtools.c b/src/cgame/cg_drawtools.c index 726c4de9..5a6129df 100644 --- a/src/cgame/cg_drawtools.c +++ b/src/cgame/cg_drawtools.c @@ -358,18 +358,18 @@ qboolean CG_WorldToScreen( vec3_t point, float *x, float *y )    VectorSubtract( point, cg.refdef.vieworg, trans ); -  xc = 640.0f / 2.0f; -  yc = 480.0f / 2.0f; +  xc = ( 640.0f * cg_viewsize.integer ) / 200.0f; +  yc = ( 480.0f * cg_viewsize.integer ) / 200.0f;    z = DotProduct( trans, cg.refdef.viewaxis[ 0 ] );    if( z <= 0.001f )      return qfalse;    if( x ) -    *x = xc - DotProduct( trans, cg.refdef.viewaxis[ 1 ] ) * xc / ( z * px ); +    *x = 320.0f - DotProduct( trans, cg.refdef.viewaxis[ 1 ] ) * xc / ( z * px );    if( y ) -    *y = yc - DotProduct( trans, cg.refdef.viewaxis[ 2 ] ) * yc / ( z * py ); +    *y = 240.0f - DotProduct( trans, cg.refdef.viewaxis[ 2 ] ) * yc / ( z * py );    return qtrue;  } @@ -386,6 +386,7 @@ char *CG_KeyBinding( const char *bind )    int i;    key[ 0 ] = '\0'; +    // NOTE: change K_LAST_KEY to MAX_KEYS for full key support (eventually)    for( i = 0; i < K_LAST_KEY; i++ )    { @@ -394,13 +395,15 @@ char *CG_KeyBinding( const char *bind )      {        trap_Key_KeynumToStringBuf( i, key, sizeof( key ) );        break; -    }  +    }    } +    if( !key[ 0 ] )    {      Q_strncpyz( key, "\\", sizeof( key ) );      Q_strcat( key, sizeof( key ), bind );    } +    return key;  } @@ -421,7 +424,7 @@ char CG_GetColorCharForHealth( int clientnum )    else      maxHealth = BG_Class( PCL_HUMAN )->health; -  healthPercent = (int) ( 100.0f * (float) cgs.clientinfo[ clientnum ].health /  +  healthPercent = (int) ( 100.0f * (float) cgs.clientinfo[ clientnum ].health /                          (float) maxHealth );    if( healthPercent < 33 )  | 
