Simplified a whole bunch of GUI stuff
Basic, albeit mathematically lame angle correction for p_ weapons
This commit is contained in:
parent
79fa38562a
commit
f19f73ffc8
16 changed files with 123 additions and 169 deletions
|
@ -63,8 +63,8 @@ void CSQC_DrawChat( void ) {
|
|||
}
|
||||
|
||||
for ( int i = 0; i < CHAT_LINES; i++ ) {
|
||||
drawstring( vChatPos + '1 1', sMSGBuffer[ i ], '8 8 0', '0 0 0', VGUI_WINDOW_FGALPHA, 0 );
|
||||
drawstring( vChatPos, sMSGBuffer[ i ], '8 8 0', vHUDColor, 1, DRAWFLAG_ADDITIVE );
|
||||
drawstring( vChatPos + '1 1', sMSGBuffer[ i ], '8 8', '0 0 0', VGUI_WINDOW_FGALPHA, 0 );
|
||||
drawstring( vChatPos, sMSGBuffer[ i ], '8 8', vHUDColor, 1, DRAWFLAG_ADDITIVE );
|
||||
vChatPos_y += 12;
|
||||
}
|
||||
}
|
||||
|
@ -101,8 +101,8 @@ void CSQC_DrawCenterprint( void ) {
|
|||
vCenterPrintPos_y = ( vVideoResolution_y / 2 ) - ( fCenterPrintLines - 4 );
|
||||
for ( int i = 0; i < ( fCenterPrintLines ); i++ ) {
|
||||
vCenterPrintPos_x = ( vVideoResolution_x / 2 ) - ( stringwidth( sCenterPrintBuffer[ i ], FALSE ) / 2 );
|
||||
drawstring( vCenterPrintPos + '1 1', sCenterPrintBuffer[ i ], '8 8 0', '0 0 0', fCenterPrintAlpha, 0 );
|
||||
drawstring( vCenterPrintPos, sCenterPrintBuffer[ i ], '8 8 0', vHUDColor, fCenterPrintAlpha, DRAWFLAG_ADDITIVE );
|
||||
drawstring( vCenterPrintPos + '1 1', sCenterPrintBuffer[ i ], '8 8', '0 0 0', fCenterPrintAlpha, 0 );
|
||||
drawstring( vCenterPrintPos, sCenterPrintBuffer[ i ], '8 8', vHUDColor, fCenterPrintAlpha, DRAWFLAG_ADDITIVE );
|
||||
vCenterPrintPos_y += 8;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -293,14 +293,14 @@ void HUD_DrawMoney( void ) {
|
|||
// If the alpha/color effect is active, draw the money twice in their varying alphas/colors
|
||||
if ( fMoneyAlphaEffect > 0 ) {
|
||||
fMoneyAlphaEffect -= frametime * 0.5;
|
||||
drawsubpic( vMoneyPos, '18 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 8, NUMSIZE_Y * 1], [ NUMSIZE_X * 0.75, NUMSIZE_Y ], vMoneyColorEffect, fMoneyAlphaEffect, DRAWFLAG_ADDITIVE );
|
||||
drawsubpic( vMoneyPos, '18 25 0', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 8, NUMSIZE_Y * 1], [ NUMSIZE_X * 0.75, NUMSIZE_Y ], vHUDColor, HUD_ALPHA - ( fMoneyAlphaEffect * 0.5 ), DRAWFLAG_ADDITIVE );
|
||||
drawsubpic( vMoneyPos, '18 25', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 8, NUMSIZE_Y * 1], [ NUMSIZE_X * 0.75, NUMSIZE_Y ], vMoneyColorEffect, fMoneyAlphaEffect, DRAWFLAG_ADDITIVE );
|
||||
drawsubpic( vMoneyPos, '18 25', HUD_NUMFILE_LAYER, [ NUMSIZE_X * 8, NUMSIZE_Y * 1], [ NUMSIZE_X * 0.75, NUMSIZE_Y ], vHUDColor, HUD_ALPHA - ( fMoneyAlphaEffect * 0.5 ), DRAWFLAG_ADDITIVE );
|
||||
|
||||
// Draw the +/- symbols depending on whether or not we made or lost money
|
||||
if ( fMoneyDifference < 0 ) {
|
||||
drawsubpic( vMoneyPos + '0 -32 0', '18 23 0', HUD_NUMFILE_LAYER, [ 0.8671875, 0.09765625], [ 0.0703125, 0.08984375 ], vMoneyColorEffect, fMoneyAlphaEffect, DRAWFLAG_ADDITIVE );
|
||||
drawsubpic( vMoneyPos + '0 -32 0', '18 23', HUD_NUMFILE_LAYER, [ 0.8671875, 0.09765625], [ 0.0703125, 0.08984375 ], vMoneyColorEffect, fMoneyAlphaEffect, DRAWFLAG_ADDITIVE );
|
||||
} else {
|
||||
drawsubpic( vMoneyPos + '0 -32 0', '13 23 0', HUD_NUMFILE_LAYER, [ 0.8203125, 0.09765625], [ 0.05078125, 0.08984375 ], vMoneyColorEffect, fMoneyAlphaEffect, DRAWFLAG_ADDITIVE );
|
||||
drawsubpic( vMoneyPos + '0 -32 0', '13 23', HUD_NUMFILE_LAYER, [ 0.8203125, 0.09765625], [ 0.05078125, 0.08984375 ], vMoneyColorEffect, fMoneyAlphaEffect, DRAWFLAG_ADDITIVE );
|
||||
}
|
||||
|
||||
// Shift the numbers for reverse drawing
|
||||
|
@ -348,13 +348,13 @@ void HUD_DrawAmmo( void ) {
|
|||
vector vAmmoMagPos = [ vVideoResolution_x - 142, vVideoResolution_y - 42 ];
|
||||
HUD_DrawNums( getstatf( STAT_CURRENT_MAG ), vAmmoMagPos, fAmmoAlpha, vHUDColor );
|
||||
|
||||
drawsubpic( [vVideoResolution_x - 118, vVideoResolution_y - 42], '3 25 0', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.09765625 ], vHUDColor, fAmmoAlpha, DRAWFLAG_ADDITIVE );
|
||||
drawsubpic( [vVideoResolution_x - 118, vVideoResolution_y - 42], '3 25', HUD_NUMFILE_LAYER, [0.9375, 0], [ 0.01171875, 0.09765625 ], vHUDColor, fAmmoAlpha, DRAWFLAG_ADDITIVE );
|
||||
|
||||
vector vAmmoCalPos = [ vVideoResolution_x - 64, vVideoResolution_y - 42 ];
|
||||
HUD_DrawNums( getstatf( STAT_CURRENT_CALIBER ), vAmmoCalPos, fAmmoAlpha, vHUDColor );
|
||||
|
||||
// Caliber icon
|
||||
drawsubpic( vVideoResolution - '42 42 0', '24 24 0', HUD_NUMFILE_LAYER, vHUDCalPos[ wptTable[ getstatf( STAT_ACTIVEWEAPON ) ].iCaliber ], [ NUMSIZE_X, NUMSIZE_X ], vHUDColor, fAmmoAlpha, DRAWFLAG_ADDITIVE );
|
||||
drawsubpic( vVideoResolution - '42 42', '24 24', HUD_NUMFILE_LAYER, vHUDCalPos[ wptTable[ getstatf( STAT_ACTIVEWEAPON ) ].iCaliber ], [ NUMSIZE_X, NUMSIZE_X ], vHUDColor, fAmmoAlpha, DRAWFLAG_ADDITIVE );
|
||||
fOldMag = getstatf( STAT_CURRENT_MAG );
|
||||
fOldCal = getstatf( STAT_CURRENT_CALIBER );
|
||||
}
|
||||
|
@ -362,7 +362,6 @@ void HUD_DrawAmmo( void ) {
|
|||
void HUD_DrawProgressBar( void ) {
|
||||
vector vSize = '540 16';
|
||||
vector vMainPos;
|
||||
vector v1, v2, v3;
|
||||
|
||||
if ( getstatf( STAT_PROGRESS ) > 0 ) {
|
||||
vMainPos_x = ( vVideoResolution_x / 2 ) - (vSize_x / 2);
|
||||
|
@ -370,23 +369,15 @@ void HUD_DrawProgressBar( void ) {
|
|||
|
||||
// Draw the background
|
||||
vector vBar = vSize;
|
||||
vBar_x = 536 * getstatf( STAT_PROGRESS );
|
||||
vBar_y = 13;
|
||||
drawfill( vMainPos + '1 1 0', vBar, vHUDColor, 1, DRAWFLAG_ADDITIVE );
|
||||
|
||||
// Draw the outline START
|
||||
v1_x = vMainPos_x + vSize_x;
|
||||
v1_y = vMainPos_y;
|
||||
drawline( 1.0, vMainPos - '1 0 0', v1, vHUDColor, 1, DRAWFLAG_ADDITIVE );
|
||||
|
||||
v2_x = vMainPos_x;
|
||||
v2_y = vMainPos_y + vSize_y;
|
||||
drawline( 1.0, vMainPos, v2, vHUDColor, 1, DRAWFLAG_ADDITIVE );
|
||||
vBar_x = 538 * getstatf( STAT_PROGRESS );
|
||||
vBar_y = 14;
|
||||
drawfill( vMainPos + '1 1', vBar, vHUDColor, 1, DRAWFLAG_ADDITIVE );
|
||||
|
||||
v3 = vMainPos + vSize;
|
||||
drawline( 1.0, v1, v3, vHUDColor, 1, DRAWFLAG_ADDITIVE );
|
||||
drawline( 1.0, v2, v3, vHUDColor, 1, DRAWFLAG_ADDITIVE );
|
||||
// Draw the outline END
|
||||
drawfill( vMainPos, [vSize_x, 1], vHUDColor, 1.0f ); // Top
|
||||
drawfill( [vMainPos_x, vMainPos_y + vSize_y], [vSize_x, 1], vHUDColor, 1.0f ); // Bottom
|
||||
|
||||
drawfill( vMainPos, [1, vSize_y], vHUDColor, 1.0f ); // Left
|
||||
drawfill( [vMainPos_x + vSize_x, vMainPos_y], [1, vSize_y + 1], vHUDColor, 1.0f ); // Right
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -102,15 +102,15 @@ void HUD_DrawOrbituaries( void ) {
|
|||
vOrbPos_x = vVideoResolution_x - ( orbBuffer[ i ].fOffset1 + orbBuffer[ i ].fOffset2 + orbBuffer[ i ].fOffset3 ) - 16;
|
||||
|
||||
// Draw the attacker's name, shadow first
|
||||
drawstring( vOrbPos + '1 1', orbBuffer[ i ].sAttacker, '8 8 0', '0 0 0', VGUI_WINDOW_FGALPHA, 0 );
|
||||
drawstring( vOrbPos, orbBuffer[ i ].sAttacker, '8 8 0', orbBuffer[ i ].vColor1, VGUI_WINDOW_FGALPHA, 0 );
|
||||
drawstring( vOrbPos + '1 1', orbBuffer[ i ].sAttacker, '8 8', '0 0 0', VGUI_WINDOW_FGALPHA, 0 );
|
||||
drawstring( vOrbPos, orbBuffer[ i ].sAttacker, '8 8', orbBuffer[ i ].vColor1, VGUI_WINDOW_FGALPHA, 0 );
|
||||
|
||||
// Draw the weapon icon
|
||||
drawsubpic( vOrbPos + [ orbBuffer[ i ].fOffset1, 0 ], wpIconTable[ orbBuffer[ i ].fWeapon ].vSize * 256, wpIconTable[ orbBuffer[ i ].fWeapon ].sSprite, wpIconTable[ orbBuffer[ i ].fWeapon ].vOrigin, wpIconTable[ orbBuffer[ i ].fWeapon ].vSize, '1 0.5 0', 1, DRAWFLAG_ADDITIVE );
|
||||
|
||||
// Draw the victim's name, shadow first again
|
||||
drawstring( vOrbPos + [ orbBuffer[ i ].fOffset2 + orbBuffer[ i ].fOffset1, 0 ] + '1 1', orbBuffer[ i ].sVictim, '8 8 0', '0 0', VGUI_WINDOW_FGALPHA, 0 );
|
||||
drawstring( vOrbPos + [ orbBuffer[ i ].fOffset2 + orbBuffer[ i ].fOffset1, 0 ], orbBuffer[ i ].sVictim, '8 8 0', orbBuffer[ i ].vColor2, VGUI_WINDOW_FGALPHA, 0 );
|
||||
drawstring( vOrbPos + [ orbBuffer[ i ].fOffset2 + orbBuffer[ i ].fOffset1, 0 ] + '1 1', orbBuffer[ i ].sVictim, '8 8', '0 0', VGUI_WINDOW_FGALPHA, 0 );
|
||||
drawstring( vOrbPos + [ orbBuffer[ i ].fOffset2 + orbBuffer[ i ].fOffset1, 0 ], orbBuffer[ i ].sVictim, '8 8', orbBuffer[ i ].vColor2, VGUI_WINDOW_FGALPHA, 0 );
|
||||
vOrbPos_y += 18;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -144,9 +144,9 @@ void VGUI_BuyMenu_WeaponButton( float fWeapon ) {
|
|||
if ( wptTable[ fWeapon ].iPrice <= getstatf( STAT_MONEY ) ) {
|
||||
if ( VGUI_Button( vguiWeaponTable[ fWeapon ].sName, VGUI_BuyMenu_BuyWeapon, vVGUIButtonPos, '264 24 0' ) == TRUE ) {
|
||||
drawpic( vVGUIWindowPos + '328 116', vguiWeaponTable[ fWeapon ].sImage, '256 64', '1 1 1', 1 );
|
||||
VGUI_Text( sprintf( _("BUY_PRICETAG"), wptTable[ fWeapon ].iPrice ), vVGUIWindowPos + '328 250', '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sprintf( _("BUY_CALIBER"), wptTable[ fWeapon ].iCaliber ), vVGUIWindowPos + '328 260', '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sprintf( _("BUY_RPM"), ( wptTable[ fWeapon ].fAttackFinished) * 3600 ), vVGUIWindowPos + '328 270', '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sprintf( _("BUY_PRICETAG"), wptTable[ fWeapon ].iPrice ), vVGUIWindowPos + '328 250', '8 8', FONT_DEFAULT );
|
||||
VGUI_Text( sprintf( _("BUY_CALIBER"), wptTable[ fWeapon ].iCaliber ), vVGUIWindowPos + '328 260', '8 8', FONT_DEFAULT );
|
||||
VGUI_Text( sprintf( _("BUY_RPM"), ( wptTable[ fWeapon ].fAttackFinished) * 3600 ), vVGUIWindowPos + '328 270', '8 8', FONT_DEFAULT );
|
||||
}
|
||||
} else {
|
||||
VGUI_FakeButton( vguiWeaponTable[ fWeapon ].sName, vVGUIButtonPos, '264 24 0' );
|
||||
|
@ -168,7 +168,7 @@ void VGUI_BuyMenu_EquipmentButton( float fID ) {
|
|||
if ( eqptTable[ fID ].iPrice <= getstatf( STAT_MONEY ) ) {
|
||||
if ( VGUI_Button( vguiEquipmentTable[ fID ].sName, VGUI_BuyMenu_BuyEquipment, vVGUIButtonPos, '180 24 0' ) == TRUE ) {
|
||||
drawpic( vVGUIWindowPos + '290 116', vguiEquipmentTable[ fID ].sImage, '256 64', '1 1 1', 1 );
|
||||
VGUI_Text( sprintf( _("BUY_PRICETAG"), eqptTable[ fID ].iPrice ) , vVGUIWindowPos + '256 250', '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sprintf( _("BUY_PRICETAG"), eqptTable[ fID ].iPrice ) , vVGUIWindowPos + '256 250', '8 8', FONT_DEFAULT );
|
||||
}
|
||||
} else {
|
||||
VGUI_FakeButton( vguiEquipmentTable[ fID ].sName, vVGUIButtonPos, '180 24 0' );
|
||||
|
|
|
@ -25,12 +25,12 @@ void VGUI_MessageOfTheDay( vector vPos ) {
|
|||
fVGUI_Display = VGUI_TEAMSELECT;
|
||||
}
|
||||
|
||||
VGUI_Text( serverkey( "hostname" ), vPos + '16 64 0', '16 16 0', FONT_16 );
|
||||
VGUI_Text( serverkey( "hostname" ), vPos + '16 64 0', '16 16', FONT_16 );
|
||||
|
||||
vector vTextPos = vPos + '16 116 0';
|
||||
|
||||
for ( int i = 0; i < 25; i++ ) {
|
||||
VGUI_Text( sMOTDString[ i ], vTextPos, '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sMOTDString[ i ], vTextPos, '8 8', FONT_DEFAULT );
|
||||
vTextPos_y += 10;
|
||||
}
|
||||
|
||||
|
|
|
@ -52,116 +52,79 @@ float VGUI_CheckMouse( vector vPos, vector vReg ) {
|
|||
}
|
||||
|
||||
// Draws window with outline, border and title
|
||||
void VGUI_Window( string sTitle, vector vPos, vector vSize ) {
|
||||
vector v1, v2, v3;
|
||||
|
||||
void VGUI_Window( string sTitle, vector vPosition, vector vSize ) {
|
||||
// Draw the background
|
||||
drawfill( vPos, vSize, VGUI_WINDOW_BGCOLOR, VGUI_WINDOW_BGALPHA );
|
||||
drawfill( vPosition, vSize, VGUI_WINDOW_BGCOLOR, VGUI_WINDOW_BGALPHA );
|
||||
|
||||
// Draw the outline START
|
||||
v1_x = vPos_x + vSize_x;
|
||||
v1_y = vPos_y + 1;
|
||||
drawline( 1.0, vPos, v1, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
|
||||
v2_x = vPos_x;
|
||||
v2_y = vPos_y + vSize_y;
|
||||
drawline( 1.0, vPos, v2, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
|
||||
v3 = vPos + vSize;
|
||||
drawline( 1.0, v1 - '1 0', v3 - '1 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
drawline( 1.0, v2, v3, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
// Draw the outline END
|
||||
// Sides
|
||||
drawfill( vPosition, [vSize_x, 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( [vPosition_x, vPosition_y + vSize_y - 1], [vSize_x, 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( vPosition, [1, vSize_y], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( [vPosition_x + vSize_x - 1, vPosition_y], [1, vSize_y], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
|
||||
// Draw the window title
|
||||
CSQC_DrawText( vPos + '16 16 0', sTitle, '16 16 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_16 );
|
||||
drawline( 1.0, vPos + '0 48 0', v1 + '0 48 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
CSQC_DrawText( vPosition + '16 16', sTitle, '16 16', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_DEFAULT );
|
||||
drawfill( vPosition + '0 48', [vSize_x, 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
}
|
||||
|
||||
// Draws window with outline, border and title
|
||||
void VGUI_WindowSmall( string sTitle, vector vPos, vector vSize ) {
|
||||
vector v1, v2, v3;
|
||||
|
||||
void VGUI_WindowSmall( string sTitle, vector vPosition, vector vSize ) {
|
||||
// Draw the background
|
||||
drawfill( vPos, vSize, VGUI_WINDOW_BGCOLOR, VGUI_WINDOW_BGALPHA );
|
||||
drawfill( vPosition, vSize, VGUI_WINDOW_BGCOLOR, VGUI_WINDOW_BGALPHA );
|
||||
|
||||
// Draw the outline START
|
||||
v1_x = vPos_x + vSize_x;
|
||||
v1_y = vPos_y + 1;
|
||||
drawline( 1.0, vPos, v1, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
|
||||
v2_x = vPos_x;
|
||||
v2_y = vPos_y + vSize_y;
|
||||
drawline( 1.0, vPos, v2, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
|
||||
v3 = vPos + vSize;
|
||||
drawline( 1.0, v1 - '1 0', v3 - '1 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
drawline( 1.0, v2, v3, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
// Draw the outline END
|
||||
// Sides
|
||||
drawfill( vPosition, [vSize_x, 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( [vPosition_x, vPosition_y + vSize_y - 1], [vSize_x, 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( vPosition, [1, vSize_y], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( [vPosition_x + vSize_x - 1, vPosition_y], [1, vSize_y], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
|
||||
// Draw the window title
|
||||
CSQC_DrawText( vPos + '8 8 0', sTitle, '8 8 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_16 );
|
||||
drawline( 1.0, vPos + '0 24 0', v1 + '0 24 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
CSQC_DrawText( vPosition + '8 8', sTitle, '8 8', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_DEFAULT );
|
||||
drawfill( vPosition + '0 24', [vSize_x, 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
}
|
||||
|
||||
// Draws a button, returns whether or not a mouse is hovering over it (for inheritance' sake)
|
||||
float VGUI_Button( string sLabel, void() vFunction, vector vPos, vector vSize ) {
|
||||
vector v1, v2, v3, v4;
|
||||
float VGUI_Button( string sLabel, void() vFunction, vector vPosition, vector vSize ) {
|
||||
vector vLabelPos;
|
||||
|
||||
// Draw the outline START
|
||||
v1_x = vPos_x + vSize_x;
|
||||
v1_y = vPos_y + 1;
|
||||
drawline( 1.0, vPos, v1, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
|
||||
v2_x = vPos_x;
|
||||
v2_y = vPos_y + vSize_y;
|
||||
drawline( 1.0, vPos, v2, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
|
||||
v3 = vPos + vSize;
|
||||
drawline( 1.0, v1 - '1 0', v3 - '1 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
drawline( 1.0, v2, v3, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
// Draw the outline END
|
||||
drawfill( vPosition, [vSize_x, 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( [vPosition_x, vPosition_y + vSize_y - 1], [vSize_x, 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( vPosition, [1, vSize_y], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( [vPosition_x + vSize_x - 1, vPosition_y], [1, vSize_y], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
|
||||
// Draw the button label
|
||||
v4_x = vPos_x + 16;
|
||||
v4_y = vPos_y + ( ( vSize_y / 2 ) - 4 );
|
||||
vLabelPos_x = vPosition_x + 16;
|
||||
vLabelPos_y = vPosition_y + ( ( vSize_y / 2 ) - 4 );
|
||||
|
||||
if( VGUI_CheckMouse( vPos, vSize ) ) {
|
||||
if( VGUI_CheckMouse( vPosition, vSize ) ) {
|
||||
if ( fMouseClick == TRUE ) {
|
||||
vFunction();
|
||||
fMouseClick = FALSE;
|
||||
}
|
||||
|
||||
CSQC_DrawText( v4, sLabel, '8 8 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_DEFAULT );
|
||||
drawline( 1.0, v4 + '0 10 0', v4 + '0 10 0' + [ (strlen( sLabel ) * 8 ), 0 ], vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
CSQC_DrawText( vLabelPos, sLabel, '8 8', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_DEFAULT );
|
||||
drawfill( vLabelPos + '0 10 0', [(strlen( sLabel ) * 8 ), 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
return TRUE;
|
||||
} else {
|
||||
CSQC_DrawText( v4, sLabel, '8 8 0', vVGUIColor * 0.8, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_DEFAULT );
|
||||
CSQC_DrawText( vLabelPos, sLabel, '8 8', vVGUIColor * 0.8, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_DEFAULT );
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void VGUI_FakeButton( string sLabel, vector vPos, vector vSize ) {
|
||||
vector v1, v2, v3, v4;
|
||||
void VGUI_FakeButton( string sLabel, vector vPosition, vector vSize ) {
|
||||
vector vLabelPos;
|
||||
|
||||
// Draw the outline START
|
||||
v1_x = vPos_x + vSize_x;
|
||||
v1_y = vPos_y + 1;
|
||||
drawline( 1.0, vPos, v1, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
|
||||
v2_x = vPos_x;
|
||||
v2_y = vPos_y + vSize_y;
|
||||
drawline( 1.0, vPos, v2, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
|
||||
v3 = vPos + vSize;
|
||||
drawline( 1.0, v1 - '1 0', v3 - '1 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
drawline( 1.0, v2, v3, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
// Draw the outline END
|
||||
drawfill( vPosition, [vSize_x, 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( [vPosition_x, vPosition_y + vSize_y - 1], [vSize_x, 1], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( vPosition, [1, vSize_y], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
drawfill( [vPosition_x + vSize_x - 1, vPosition_y], [1, vSize_y], vVGUIColor, VGUI_WINDOW_FGALPHA );
|
||||
|
||||
// Draw the button label
|
||||
v4_x = vPos_x + 16;
|
||||
v4_y = vPos_y + ( ( vSize_y / 2 ) - 4 );
|
||||
CSQC_DrawText( v4, sLabel, '8 8 0', vVGUIColor * 0.5, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_DEFAULT );
|
||||
vLabelPos_x = vPosition_x + 16;
|
||||
vLabelPos_y = vPosition_y + ( ( vSize_y / 2 ) - 4 );
|
||||
|
||||
CSQC_DrawText( vLabelPos, sLabel, '8 8', vVGUIColor * 0.5, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_DEFAULT );
|
||||
}
|
||||
|
||||
// Wrapper for simple VGUI Text labels
|
||||
|
|
|
@ -57,7 +57,7 @@ float fRadioResponses[ VGUIRADIO_RESPONSES ] = {
|
|||
};
|
||||
|
||||
void VGUI_Radio_DrawCommand( float fIndex, float fMessage, vector vPos ) {
|
||||
VGUI_Text( sprintf( "%d) %s", fIndex + 1, sRadioChat[ fMessage ] ), vPos, '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sprintf( "%d) %s", fIndex + 1, sRadioChat[ fMessage ] ), vPos, '8 8', FONT_DEFAULT );
|
||||
|
||||
if ( fInputKeyCode == ( fIndex + 49 ) ) {
|
||||
sendevent( "RadioMessage", "f", fMessage );
|
||||
|
@ -110,7 +110,7 @@ void VGUI_Radio_Draw( void ) {
|
|||
}
|
||||
|
||||
vPos_y += 20;
|
||||
VGUI_Text( sprintf( "0) %s", _("VGUI_BACK") ), vPos, '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sprintf( "0) %s", _("VGUI_BACK") ), vPos, '8 8', FONT_DEFAULT );
|
||||
|
||||
if ( fInputKeyCode == 48 ) {
|
||||
fVGUI_Display = VGUI_NONE;
|
||||
|
|
|
@ -52,25 +52,25 @@ vector VGUI_Scores_DrawTeam( vector vPos, float fTeam ) {
|
|||
}
|
||||
|
||||
if ( getplayerkeyvalue( i, "*dead" ) == "1" ) {
|
||||
CSQC_DrawText( vNewPos + '38 0', sprintf( _("SCORE_DEAD"), getplayerkeyvalue( i, "name" ) ), '8 8 0', vColor, 1, 0, FONT_DEFAULT );
|
||||
CSQC_DrawText( vNewPos + '38 0', sprintf( _("SCORE_DEAD"), getplayerkeyvalue( i, "name" ) ), '8 8', vColor, 1, 0, FONT_DEFAULT );
|
||||
} else if ( getplayerkeyvalue( i, "*dead" ) == "2" ) {
|
||||
CSQC_DrawText( vNewPos + '38 0', sprintf( _("SCORE_VIP"), getplayerkeyvalue( i, "name" ) ), '8 8 0', vColor, 1, 0, FONT_DEFAULT );
|
||||
CSQC_DrawText( vNewPos + '38 0', sprintf( _("SCORE_VIP"), getplayerkeyvalue( i, "name" ) ), '8 8', vColor, 1, 0, FONT_DEFAULT );
|
||||
} else {
|
||||
CSQC_DrawText( vNewPos + '38 0', getplayerkeyvalue( i, "name" ), '8 8 0', vColor, 1, 0, FONT_DEFAULT );
|
||||
CSQC_DrawText( vNewPos + '38 0', getplayerkeyvalue( i, "name" ), '8 8', vColor, 1, 0, FONT_DEFAULT );
|
||||
}
|
||||
|
||||
|
||||
// Spectators don't have stats worth caring about
|
||||
if ( fTeam != TEAM_SPECTATOR ) {
|
||||
VGUI_RightText( vNewPos + '320 0', getplayerkeyvalue( i, INFOKEY_P_FRAGS ), '8 8 0', vColor, FONT_DEFAULT );
|
||||
VGUI_RightText( vNewPos + '384 0', getplayerkeyvalue( i, "*deaths" ), '8 8 0', vColor, FONT_DEFAULT );
|
||||
VGUI_RightText( vNewPos + '320 0', getplayerkeyvalue( i, INFOKEY_P_FRAGS ), '8 8', vColor, FONT_DEFAULT );
|
||||
VGUI_RightText( vNewPos + '384 0', getplayerkeyvalue( i, "*deaths" ), '8 8', vColor, FONT_DEFAULT );
|
||||
}
|
||||
VGUI_RightText( vNewPos + '456 0', getplayerkeyvalue( i, INFOKEY_P_PING ), '8 8 0', vColor, FONT_DEFAULT );
|
||||
VGUI_RightText( vNewPos + '456 0', getplayerkeyvalue( i, INFOKEY_P_PING ), '8 8', vColor, FONT_DEFAULT );
|
||||
|
||||
if ( getplayerkeyvalue( i, INFOKEY_P_VOIPSPEAKING ) == "0" ) {
|
||||
VGUI_RightText( vNewPos + '508 0', "N", '8 8 0', '1 1 1', FONT_DEFAULT );
|
||||
VGUI_RightText( vNewPos + '508 0', "N", '8 8', '1 1 1', FONT_DEFAULT );
|
||||
} else {
|
||||
VGUI_RightText( vNewPos + '508 0', "Y", '8 8 0', '1 1 1', FONT_DEFAULT );
|
||||
VGUI_RightText( vNewPos + '508 0', "Y", '8 8', '1 1 1', FONT_DEFAULT );
|
||||
}
|
||||
|
||||
vNewPos += '0 14';
|
||||
|
@ -85,27 +85,26 @@ vector VGUI_Scores_DrawTeam( vector vPos, float fTeam ) {
|
|||
// If we've got no spectators, don't draw them.
|
||||
if ( ( fTeam != TEAM_SPECTATOR ) || ( fTeam == TEAM_SPECTATOR && iPlayerCount > 0 ) ) {
|
||||
// The name/title of the team
|
||||
CSQC_DrawText( vPos + '24 0', sScoreTeams[ fTeam ], '16 16 0', vColor, 1, 0, FONT_16 );
|
||||
CSQC_DrawText( vPos + '24 0', sScoreTeams[ fTeam ], '16 16', vColor, 1, 0, FONT_16 );
|
||||
drawline( 1.0, vPos + '19 24', vPos + '512 24 0', vColor, 1, 0 );
|
||||
|
||||
// Draw the amount of rounds we've von
|
||||
if ( fTeam == TEAM_CT ) {
|
||||
VGUI_RightText( vPos + '320 0', sprintf( "%i", getstati( STAT_WON_CT ) ), '16 16 0', vColor, FONT_16 );
|
||||
VGUI_RightText( vPos + '320 0', sprintf( "%i", getstati( STAT_WON_CT ) ), '16 16', vColor, FONT_16 );
|
||||
} else if ( fTeam == TEAM_T ) {
|
||||
VGUI_RightText( vPos + '320 0', sprintf( "%i", getstati( STAT_WON_T ) ), '16 16 0', vColor, FONT_16 );
|
||||
VGUI_RightText( vPos + '320 0', sprintf( "%i", getstati( STAT_WON_T ) ), '16 16', vColor, FONT_16 );
|
||||
}
|
||||
|
||||
// Now we know the playercount, so let's calculate the position next to the Teamname String and print it
|
||||
vector vCountPos = vPos + '24 6';
|
||||
vCountPos_x += stringwidth( sScoreTeams[ fTeam ], FALSE, '16 16 0' ) + 8;
|
||||
CSQC_DrawText( vCountPos, sprintf( _("SCORE_PLAYERS"), iPlayerCount ), '8 8 0', vColor, 1, 0, FONT_DEFAULT );
|
||||
vCountPos_x += stringwidth( sScoreTeams[ fTeam ], FALSE, '16 16' ) + 8;
|
||||
CSQC_DrawText( vCountPos, sprintf( _("SCORE_PLAYERS"), iPlayerCount ), '8 8', vColor, 1, 0, FONT_DEFAULT );
|
||||
}
|
||||
return vNewPos + '0 24';
|
||||
}
|
||||
|
||||
void VGUI_Scores_Show( void ) {
|
||||
vector vMainPos;
|
||||
vector v1, v2, v3;
|
||||
vector vSize;
|
||||
|
||||
vSize_x = 540;
|
||||
|
@ -117,28 +116,20 @@ void VGUI_Scores_Show( void ) {
|
|||
// Draw the background
|
||||
drawfill( vMainPos, vSize, VGUI_WINDOW_BGCOLOR, VGUI_WINDOW_BGALPHA );
|
||||
|
||||
// Draw the outline START
|
||||
v1_x = vMainPos_x + vSize_x;
|
||||
v1_y = vMainPos_y + 1;
|
||||
drawline( 1.0, vMainPos, v1, '0.35 0.35 0.35', 1, DRAWFLAG_NORMAL );
|
||||
|
||||
v2_x = vMainPos_x;
|
||||
v2_y = vMainPos_y + vSize_y;
|
||||
drawline( 1.0, vMainPos, v2, '0.35 0.35 0.35', 1, DRAWFLAG_NORMAL );
|
||||
|
||||
v3 = vMainPos + vSize;
|
||||
drawline( 1.0, v1 - '1 0', v3 - '1 0', '0.35 0.35 0.35', 1, DRAWFLAG_NORMAL );
|
||||
drawline( 1.0, v2, v3, '0.35 0.35 0.35', 1, DRAWFLAG_NORMAL );
|
||||
// Draw the outline END
|
||||
// Sides
|
||||
drawfill( vMainPos, [vSize_x, 1], '0.35 0.35 0.35', 1.0f );
|
||||
drawfill( [vMainPos_x, vMainPos_y + vSize_y - 1], [vSize_x, 1], '0.35 0.35 0.35', 1.0f );
|
||||
drawfill( vMainPos, [1, vSize_y], '0.35 0.35 0.35', 1.0f );
|
||||
drawfill( [vMainPos_x + vSize_x - 1, vMainPos_y], [1, vSize_y], '0.35 0.35 0.35', 1.0f );
|
||||
|
||||
// Server title
|
||||
CSQC_DrawText( vMainPos + '24 13', serverkey( "hostname" ), '16 16 0', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_16 );
|
||||
CSQC_DrawText( vMainPos + '24 13', serverkey( "hostname" ), '16 16', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_16 );
|
||||
|
||||
// Tabs like Score, Ping etc.
|
||||
CSQC_DrawText( vMainPos + '280 32', _("SCORE_SCORE"), '8 8 0', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_DEFAULT );
|
||||
CSQC_DrawText( vMainPos + '336 32', _("SCORE_DEATHS"), '8 8 0', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_DEFAULT );
|
||||
CSQC_DrawText( vMainPos + '400 32', _("SCORE_LATENCY"), '8 8 0', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_DEFAULT );
|
||||
CSQC_DrawText( vMainPos + '472 32', _("SCORE_VOICE"), '8 8 0', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_DEFAULT );
|
||||
CSQC_DrawText( vMainPos + '280 32', _("SCORE_SCORE"), '8 8', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_DEFAULT );
|
||||
CSQC_DrawText( vMainPos + '336 32', _("SCORE_DEATHS"), '8 8', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_DEFAULT );
|
||||
CSQC_DrawText( vMainPos + '400 32', _("SCORE_LATENCY"), '8 8', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_DEFAULT );
|
||||
CSQC_DrawText( vMainPos + '472 32', _("SCORE_VOICE"), '8 8', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_DEFAULT );
|
||||
|
||||
vector vOffset = VGUI_Scores_DrawTeam( vMainPos + '0 50', TEAM_CT );
|
||||
vOffset = VGUI_Scores_DrawTeam( vOffset, TEAM_T );
|
||||
|
|
|
@ -47,16 +47,16 @@ void VGUI_DrawSpectatorHUD( void ) {
|
|||
}
|
||||
|
||||
drawpic( [ vVideoResolution_x - 70, 20 ], "gfx/vgui/640_timer", '14 14', '1 1 1', 1 );
|
||||
VGUI_RightText( [ vVideoResolution_x - 16, 23 ], sprintf( "%i:%i%i", iMinutes, iTens, iUnits ), '8 8 0', '0.56 0.56 0.21', FONT_DEFAULT );
|
||||
VGUI_RightText( [ vVideoResolution_x - 16, 23 ], sprintf( "%i:%i%i", iMinutes, iTens, iUnits ), '8 8', '0.56 0.56 0.21', FONT_DEFAULT );
|
||||
|
||||
// Draw the money
|
||||
CSQC_DrawText( [ vVideoResolution_x - 67, 6 ], "$", '8 8 0', '0.56 0.56 0.21', 1, 0, FONT_DEFAULT );
|
||||
VGUI_RightText( [ vVideoResolution_x - 16, 6 ], sprintf( "%d", getstatf( STAT_MONEY ) ), '8 8 0', '0.56 0.56 0.21', FONT_DEFAULT );
|
||||
CSQC_DrawText( [ vVideoResolution_x - 67, 6 ], "$", '8 8', '0.56 0.56 0.21', 1, 0, FONT_DEFAULT );
|
||||
VGUI_RightText( [ vVideoResolution_x - 16, 6 ], sprintf( "%d", getstatf( STAT_MONEY ) ), '8 8', '0.56 0.56 0.21', FONT_DEFAULT );
|
||||
|
||||
// Seperator
|
||||
drawfill( [ vVideoResolution_x - 85, 6 ], [ 2, 28 ], '0.56 0.56 0.21', 1 );
|
||||
|
||||
// Team Stats
|
||||
VGUI_RightText( [ vVideoResolution_x - 96, 6 ], sprintf( _("VGUI_SPEC_TCOUNTER"), getstatf( STAT_WON_T ) ), '8 8 0', '0.56 0.56 0.21', FONT_DEFAULT );
|
||||
VGUI_RightText( [ vVideoResolution_x - 96, 23 ], sprintf( _("VGUI_SPEC_CTCOUNTER"), getstatf( STAT_WON_CT ) ), '8 8 0', '0.56 0.56 0.21', FONT_DEFAULT );
|
||||
VGUI_RightText( [ vVideoResolution_x - 96, 6 ], sprintf( _("VGUI_SPEC_TCOUNTER"), getstatf( STAT_WON_T ) ), '8 8', '0.56 0.56 0.21', FONT_DEFAULT );
|
||||
VGUI_RightText( [ vVideoResolution_x - 96, 23 ], sprintf( _("VGUI_SPEC_CTCOUNTER"), getstatf( STAT_WON_CT ) ), '8 8', '0.56 0.56 0.21', FONT_DEFAULT );
|
||||
}
|
||||
|
|
|
@ -119,11 +119,11 @@ void VGUI_TeamSelect_Main( vector vPos ) {
|
|||
fVGUI_Display = VGUI_NONE;
|
||||
}
|
||||
|
||||
VGUI_Text( sMapString[ 0 ], vPos + '16 64 0', '16 16 0', FONT_16);
|
||||
VGUI_Text( sMapString[ 0 ], vPos + '16 64 0', '16 16', FONT_16);
|
||||
|
||||
vector vTextPos = vPos + '224 116 0';
|
||||
for ( int i = 1; i < 35; i++ ) {
|
||||
VGUI_Text( sMapString[ i ], vTextPos, '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sMapString[ i ], vTextPos, '8 8', FONT_DEFAULT );
|
||||
vTextPos_y += 10;
|
||||
}
|
||||
|
||||
|
@ -144,12 +144,12 @@ void VGUI_TeamSelect_Button( float fNumber, void() vFunc, vector vPos, vector vS
|
|||
if( VGUI_Button( sClassInfo[ 8 * fNumber ] , vFunc, vPos, vSize ) == TRUE ) {
|
||||
drawpic( vVGUIWindowPos + '356 64', sClassInfo[ 8 * fNumber + 1 ], '128 256', '1 1 1', 1 );
|
||||
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 2 ], vVGUIWindowPos + '232 336', '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 3 ], vVGUIWindowPos + '232 346', '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 4 ], vVGUIWindowPos + '232 356', '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 5 ], vVGUIWindowPos + '232 366', '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 6 ], vVGUIWindowPos + '232 376', '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 7 ], vVGUIWindowPos + '232 386', '8 8 0', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 2 ], vVGUIWindowPos + '232 336', '8 8', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 3 ], vVGUIWindowPos + '232 346', '8 8', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 4 ], vVGUIWindowPos + '232 356', '8 8', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 5 ], vVGUIWindowPos + '232 366', '8 8', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 6 ], vVGUIWindowPos + '232 376', '8 8', FONT_DEFAULT );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 7 ], vVGUIWindowPos + '232 386', '8 8', FONT_DEFAULT );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Server\TraceAttack.c" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Server\Triggers.c" />
|
||||
</category>
|
||||
<category name="Menu" expanded="no">
|
||||
<category name="Menu" expanded="yes">
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Defs.h" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Draw.c" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Header.c" />
|
||||
|
@ -70,7 +70,7 @@
|
|||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Objects.c" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\progs.src" />
|
||||
</category>
|
||||
<category name="Shared" expanded="no">
|
||||
<category name="Shared" expanded="yes">
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\Animations.c" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\BaseMelee.c" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\Effects.c" />
|
||||
|
@ -112,7 +112,7 @@
|
|||
</project>
|
||||
|
||||
<workspace version="Crimson Editor 3.60">
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Builtins.h" linenum="2247" placement="0:1:-1:-1:-4:-23:198:198:1046:676" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\HUD.c" linenum="15" placement="2:3:-1:-1:-4:-23:220:220:1072:702" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\Animations.c" linenum="10" placement="0:1:-1:-1:-4:-23:22:22:958:326" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\WeaponElites.c" linenum="10" placement="2:3:-1:-1:-4:-23:44:44:984:352" />
|
||||
</workspace>
|
||||
|
||||
|
|
|
@ -144,10 +144,10 @@ void Object_Frame( vector vPosition, vector vSize ) {
|
|||
drawfill( vPosition, vSize, '0 0 0', 1.0f );
|
||||
|
||||
drawfill( vPosition, [vSize_x, 1], autocvar_menu_fgcolor, 1.0f ); // Top
|
||||
drawfill( [vPosition_x, vPosition_y + vSize_y], [vSize_x, 1], autocvar_menu_fgcolor, 1.0f ); // Bottom
|
||||
drawfill( [vPosition_x, vPosition_y + vSize_y - 1], [vSize_x, 1], autocvar_menu_fgcolor, 1.0f ); // Bottom
|
||||
|
||||
drawfill( vPosition, [1, vSize_y], autocvar_menu_fgcolor, 1.0f ); // Left
|
||||
drawfill( [vPosition_x + vSize_x, vPosition_y], [1, vSize_y + 1], autocvar_menu_fgcolor, 1.0f ); // Right
|
||||
drawfill( [vPosition_x + vSize_x - 1, vPosition_y], [1, vSize_y], autocvar_menu_fgcolor, 1.0f ); // Right
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -264,8 +264,17 @@ void Animation_PlayerUpdate( void ) {
|
|||
}
|
||||
|
||||
#ifdef CSQC
|
||||
setorigin( self.eGunModel, self.origin );
|
||||
self.eGunModel.angles = self.angles;
|
||||
// Fix the angle (this is REALLY expensive, probably. But how else would one do it without skeletal objects?)
|
||||
vector v1, v2;
|
||||
self.eGunModel.angles = self.angles; // Set it to something consistent
|
||||
gettaginfo( self, self.fWeaponBoneID ); // Updates the v_ globals for the player hand bone angle
|
||||
v1 = vectoangles( v_right, v_up ); // Create angles from the v_ matrix
|
||||
gettaginfo( self.eGunModel, self.eGunModel.fWeaponBoneID ); // Updates the v_ globals for the weapon hand bone angle
|
||||
v2 = vectoangles( v_right, v_up );
|
||||
self.eGunModel.angles = self.angles + ( v1 - v2 ); // The difference is applied
|
||||
|
||||
// Fix the origin
|
||||
setorigin( self.eGunModel, self.origin ); // Set it to something consistent
|
||||
vector vOffset = gettaginfo( self.eGunModel, self.eGunModel.fWeaponBoneID ) - gettaginfo( self, self.fWeaponBoneID );
|
||||
setorigin( self.eGunModel, self.origin - vOffset );
|
||||
#endif
|
||||
|
|
Binary file not shown.
BIN
freecs/menu.dat
BIN
freecs/menu.dat
Binary file not shown.
BIN
freecs/progs.dat
BIN
freecs/progs.dat
Binary file not shown.
Loading…
Reference in a new issue