Fixed player animations
Added weapon model to player models Fixed networking of weapon events Cleaned up the whole font business
This commit is contained in:
parent
c1f410945a
commit
cb5a002c45
34 changed files with 821 additions and 125 deletions
|
@ -30,6 +30,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#define PRINT_HIGH 2
|
||||
#define PRINT_CHAT 3
|
||||
|
||||
var float FONT_16;
|
||||
|
||||
// Clientside cvars
|
||||
var vector autocvar_con_color = '255 128 0'; // autocvar of "con_color"
|
||||
var vector autocvar_vgui_color = '255 128 0'; // autocvar of "vgui_color"
|
||||
|
@ -92,5 +94,16 @@ vector pmove_vel;
|
|||
.float weapon;
|
||||
.float maxframe;
|
||||
|
||||
void Animation_ShootWeapon( void );
|
||||
void Animation_ReloadWeapon( void )
|
||||
// For the player entity
|
||||
.entity eGunModel;
|
||||
float fWeaponEventPlayer;
|
||||
.float fWeaponLast;
|
||||
.float fWeaponBoneID;
|
||||
|
||||
void Animation_ShootWeapon( entity ePlayer );
|
||||
void Animation_ReloadWeapon( entity ePlayer );
|
||||
|
||||
void CSQC_DrawText( vector vPos, string sString, vector vSize, vector vColor, float fAlpha, float fFlags, float fFont ) {
|
||||
drawfont = fFont;
|
||||
drawstring( vPos, sString, vSize, vColor, fAlpha, fFlags );
|
||||
}
|
|
@ -165,7 +165,7 @@ void CSQC_UpdateView( float fWinWidth, float fWinHeight, float fGameFocus ) {
|
|||
|
||||
if( fGameFocus == TRUE ) {
|
||||
// The spectator sees things... differently
|
||||
if ( getplayerkeyvalue( player_localnum, "*spectator" ) != "0" ) {
|
||||
if ( getplayerkeyvalue( player_localnum, "*spec" ) != "0" ) {
|
||||
VGUI_DrawSpectatorHUD();
|
||||
} else {
|
||||
HUD_Draw();
|
||||
|
|
|
@ -87,6 +87,10 @@ Self explanatory
|
|||
=================
|
||||
*/
|
||||
void CSQC_Ent_Remove( void ) {
|
||||
if ( self.eGunModel ) {
|
||||
remove( self.eGunModel );
|
||||
}
|
||||
|
||||
soundupdate( self, CHAN_VOICE, "", -1, ATTN_IDLE, 0, 0, 0 );
|
||||
remove( self );
|
||||
}
|
||||
|
|
|
@ -417,12 +417,16 @@ void CSQC_Parse_Event( void ) {
|
|||
float fHeader = readbyte();
|
||||
|
||||
if ( fHeader == EV_WEAPON_DRAW ) {
|
||||
fWeaponEventPlayer = readbyte();
|
||||
Weapon_Draw( getstatf( STAT_ACTIVEWEAPON ) );
|
||||
} else if ( fHeader == EV_WEAPON_PRIMARYATTACK ) {
|
||||
fWeaponEventPlayer = readbyte();
|
||||
Weapon_PrimaryAttack( getstatf( STAT_ACTIVEWEAPON ) );
|
||||
} else if ( fHeader == EV_WEAPON_SECONDARYATTACK ) {
|
||||
Weapon_SecondaryAttack( getstatf( STAT_ACTIVEWEAPON ) );
|
||||
fWeaponEventPlayer = readbyte();
|
||||
} else if ( fHeader == EV_WEAPON_RELOAD ) {
|
||||
fWeaponEventPlayer = readbyte();
|
||||
Weapon_Reload( getstatf( STAT_ACTIVEWEAPON ) );
|
||||
} else if ( fHeader == EV_MODELGIB ) {
|
||||
vector vPos;
|
||||
|
@ -521,11 +525,11 @@ Hijacks and controls what input globals are being sent to the server
|
|||
void CSQC_Input_Frame( void ) {
|
||||
// If we are inside a VGUI, don't let the client do stuff outside
|
||||
if ( ( fVGUI_Display != VGUI_NONE ) ) {
|
||||
fInputSendNext = time + 0.1;
|
||||
fInputSendNext = time + 0.2;
|
||||
} else if ( ( fHUDWeaponSelected ) && ( input_buttons & INPUT_BUTTON0 ) ) {
|
||||
HUD_DrawWeaponSelect_Trigger();
|
||||
input_buttons = 0;
|
||||
fInputSendNext = time + 0.1;
|
||||
fInputSendNext = time + 0.2;
|
||||
}
|
||||
|
||||
if ( fInputSendNext > time ) {
|
||||
|
|
|
@ -70,6 +70,8 @@ void CSQC_Init(float apilevel, string enginename, float engineversion) {
|
|||
PARTICLE_BLOOD = particleeffectnum( "part_blood" );
|
||||
DECAL_SHOT = particleeffectnum( "decal_shot" );
|
||||
DECAL_GLASS = particleeffectnum( "decal_glass" );
|
||||
|
||||
FONT_16 = loadfont( "16", "gfx/conchars_16", "16", -1 );
|
||||
|
||||
Radio_InitSounds();
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ Called by the cmd 'nightvision'
|
|||
=================
|
||||
*/
|
||||
void Nightvision_Toggle( void ) {
|
||||
if( getplayerkeyvalue( player_localnum, "*spectator" ) == "1" ) {
|
||||
if( getplayerkeyvalue( player_localnum, "*spec" ) == "1" ) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ Called before rendering the frame in Draw.c
|
|||
=================
|
||||
*/
|
||||
void Nightvision_PreDraw( void ) {
|
||||
if( getplayerkeyvalue( player_localnum, "*spectator" ) == "1" ) {
|
||||
if( getplayerkeyvalue( player_localnum, "*spec" ) == "1" ) {
|
||||
iNightVision = FALSE;
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -18,6 +18,36 @@ along with this program; if not, write to the Free Software
|
|||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
string sPModels[ CS_WEAPON_COUNT - 1 ] = {
|
||||
"models/p_knife.mdl",
|
||||
"models/p_usp.mdl",
|
||||
"models/p_glock18.mdl",
|
||||
"models/p_deagle.mdl",
|
||||
"models/p_p228.mdl",
|
||||
"models/p_elite.mdl",
|
||||
"models/p_fiveseven.mdl",
|
||||
"models/p_m3.mdl",
|
||||
"models/p_xm1014.mdl",
|
||||
"models/p_mp5.mdl",
|
||||
"models/p_p90.mdl",
|
||||
"models/p_ump45.mdl",
|
||||
"models/p_mac10.mdl",
|
||||
"models/p_tmp.mdl",
|
||||
"models/p_ak47.mdl",
|
||||
"models/p_sg552.mdl",
|
||||
"models/p_m4a1.mdl",
|
||||
"models/p_aug.mdl",
|
||||
"models/p_scout.mdl",
|
||||
"models/p_awp.mdl",
|
||||
"models/p_g3sg1.mdl",
|
||||
"models/p_sg550.mdl",
|
||||
"models/p_m249.mdl",
|
||||
"models/p_c4.mdl",
|
||||
"models/p_flashbang.mdl",
|
||||
"models/p_hegrenade.mdl",
|
||||
"models/p_smokegrenade.mdl"
|
||||
};
|
||||
|
||||
float Player_PreDraw( void ) {
|
||||
if ( self.entnum == player_localentnum ) {
|
||||
// Don't predict if we're frozen/paused FIXME: FTE doesn't have serverkey_float yet!
|
||||
|
@ -32,7 +62,7 @@ float Player_PreDraw( void ) {
|
|||
vector vOldVelocity = self.velocity;
|
||||
float fOldPMoveFlags = self.pmove_flags;
|
||||
|
||||
if ( getplayerkeyvalue( player_localnum, "*spectator" ) == "0" ) {
|
||||
if ( getplayerkeyvalue( player_localnum, "*spec" ) == "0" ) {
|
||||
self.movetype = MOVETYPE_WALK;
|
||||
} else {
|
||||
self.movetype = MOVETYPE_NOCLIP;
|
||||
|
@ -71,9 +101,30 @@ float Player_PreDraw( void ) {
|
|||
|
||||
self.renderflags = RF_EXTERNALMODEL;
|
||||
} else {
|
||||
if ( !self.eGunModel ) {
|
||||
self.eGunModel = spawn();
|
||||
self.eGunModel.drawmask = MASK_ENGINE;
|
||||
|
||||
// Get the weapon bone ID for the current player model
|
||||
self.fWeaponBoneID = gettagindex( self, "Bip01 R Hand" );
|
||||
}
|
||||
|
||||
// Only bother updating the model if the weapon has changed
|
||||
if ( self.fWeaponLast != self.weapon ) {
|
||||
setmodel( self.eGunModel, sPModels[ self.weapon - 1 ] );
|
||||
self.fWeaponLast = self.weapon;
|
||||
|
||||
// Update the bone index of the current p_ model so we can calculate the offset
|
||||
self.eGunModel.fWeaponBoneID = gettagindex( self.eGunModel, "Bip01 R Hand" );
|
||||
}
|
||||
|
||||
Animation_PlayerUpdate();
|
||||
self.baseframe1time += frametime;
|
||||
self.frame1time += frametime;
|
||||
|
||||
self.baseframe2time += frametime;
|
||||
self.frame2time += frametime;
|
||||
|
||||
addentity( self );
|
||||
}
|
||||
return PREDRAW_NEXT;
|
||||
|
|
|
@ -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' );
|
||||
VGUI_Text( sprintf( _("BUY_CALIBER"), wptTable[ fWeapon ].iCaliber ), vVGUIWindowPos + '328 260', '8 8 0' );
|
||||
VGUI_Text( sprintf( _("BUY_RPM"), ( wptTable[ fWeapon ].fAttackFinished) * 3600 ), vVGUIWindowPos + '328 270', '8 8 0' );
|
||||
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 );
|
||||
}
|
||||
} 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' );
|
||||
VGUI_Text( sprintf( _("BUY_PRICETAG"), eqptTable[ fID ].iPrice ) , vVGUIWindowPos + '256 250', '8 8 0', FONT_DEFAULT );
|
||||
}
|
||||
} else {
|
||||
VGUI_FakeButton( vguiEquipmentTable[ fID ].sName, vVGUIButtonPos, '180 24 0' );
|
||||
|
|
|
@ -20,18 +20,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
#include "VGUI.h"
|
||||
|
||||
// TODO: Read motd.txt and display that instead
|
||||
void VGUI_MessageOfTheDay( vector vPos ) {
|
||||
static void MessageOfTheDay_ButtonOK( void ) {
|
||||
fVGUI_Display = VGUI_TEAMSELECT;
|
||||
}
|
||||
|
||||
VGUI_Text( serverkey( "hostname" ), vPos + '16 64 0', '16 16 0');
|
||||
VGUI_Text( serverkey( "hostname" ), vPos + '16 64 0', '16 16 0', FONT_16 );
|
||||
|
||||
vector vTextPos = vPos + '16 116 0';
|
||||
|
||||
for ( int i = 0; i < 25; i++ ) {
|
||||
VGUI_Text( sMOTDString[ i ], vTextPos, '8 8 0' );
|
||||
VGUI_Text( sMOTDString[ i ], vTextPos, '8 8 0', FONT_DEFAULT );
|
||||
vTextPos_y += 10;
|
||||
}
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ void VGUI_Window( string sTitle, vector vPos, vector vSize ) {
|
|||
// Draw the outline END
|
||||
|
||||
// Draw the window title
|
||||
drawstring( vPos + '16 16 0', sTitle, '16 16 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
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 );
|
||||
}
|
||||
|
||||
|
@ -99,7 +99,7 @@ void VGUI_WindowSmall( string sTitle, vector vPos, vector vSize ) {
|
|||
// Draw the outline END
|
||||
|
||||
// Draw the window title
|
||||
drawstring( vPos + '8 8 0', sTitle, '8 8 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
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 );
|
||||
}
|
||||
|
||||
|
@ -131,11 +131,11 @@ float VGUI_Button( string sLabel, void() vFunction, vector vPos, vector vSize )
|
|||
fMouseClick = FALSE;
|
||||
}
|
||||
|
||||
drawstring( v4, sLabel, '8 8 0', vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
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 );
|
||||
return TRUE;
|
||||
} else {
|
||||
drawstring( v4, sLabel, '8 8 0', vVGUIColor * 0.8, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
CSQC_DrawText( v4, sLabel, '8 8 0', vVGUIColor * 0.8, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_DEFAULT );
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
@ -161,15 +161,15 @@ void VGUI_FakeButton( string sLabel, vector vPos, vector vSize ) {
|
|||
// Draw the button label
|
||||
v4_x = vPos_x + 16;
|
||||
v4_y = vPos_y + ( ( vSize_y / 2 ) - 4 );
|
||||
drawstring( v4, sLabel, '8 8 0', vVGUIColor * 0.5, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
CSQC_DrawText( v4, sLabel, '8 8 0', vVGUIColor * 0.5, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, FONT_DEFAULT );
|
||||
}
|
||||
|
||||
// Wrapper for simple VGUI Text labels
|
||||
void VGUI_Text( string sText, vector vPos, vector vSize ) {
|
||||
drawstring( vPos, sText, vSize, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE );
|
||||
void VGUI_Text( string sText, vector vPos, vector vSize, float fFont ) {
|
||||
CSQC_DrawText( vPos, sText, vSize, vVGUIColor, VGUI_WINDOW_FGALPHA, DRAWFLAG_ADDITIVE, fFont );
|
||||
}
|
||||
|
||||
void VGUI_RightText( vector vPos, string sText, vector vSize, vector vColor ) {
|
||||
void VGUI_RightText( vector vPos, string sText, vector vSize, vector vColor, float fFont ) {
|
||||
vPos_x -= stringwidth( sText, FALSE, vSize );
|
||||
drawstring( vPos, sText, vSize, vColor, 1, 0 );
|
||||
}
|
||||
CSQC_DrawText( vPos, sText, vSize, vColor, 1, 0, fFont );
|
||||
}
|
|
@ -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' );
|
||||
VGUI_Text( sprintf( "%d) %s", fIndex + 1, sRadioChat[ fMessage ] ), vPos, '8 8 0', 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' );
|
||||
VGUI_Text( sprintf( "0) %s", _("VGUI_BACK") ), vPos, '8 8 0', 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" ) {
|
||||
drawstring( vNewPos + '38 0', sprintf( _("SCORE_DEAD"), getplayerkeyvalue( i, "name" ) ), '8 8 0', vColor, 1, 0 );
|
||||
CSQC_DrawText( vNewPos + '38 0', sprintf( _("SCORE_DEAD"), getplayerkeyvalue( i, "name" ) ), '8 8 0', vColor, 1, 0, FONT_DEFAULT );
|
||||
} else if ( getplayerkeyvalue( i, "*dead" ) == "2" ) {
|
||||
drawstring( vNewPos + '38 0', sprintf( _("SCORE_VIP"), getplayerkeyvalue( i, "name" ) ), '8 8 0', vColor, 1, 0 );
|
||||
CSQC_DrawText( vNewPos + '38 0', sprintf( _("SCORE_VIP"), getplayerkeyvalue( i, "name" ) ), '8 8 0', vColor, 1, 0, FONT_DEFAULT );
|
||||
} else {
|
||||
drawstring( vNewPos + '38 0', getplayerkeyvalue( i, "name" ), '8 8 0', vColor, 1, 0 );
|
||||
CSQC_DrawText( vNewPos + '38 0', getplayerkeyvalue( i, "name" ), '8 8 0', 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 );
|
||||
VGUI_RightText( vNewPos + '384 0', getplayerkeyvalue( i, "*deaths" ), '8 8 0', vColor );
|
||||
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 + '456 0', getplayerkeyvalue( i, INFOKEY_P_PING ), '8 8 0', vColor );
|
||||
VGUI_RightText( vNewPos + '456 0', getplayerkeyvalue( i, INFOKEY_P_PING ), '8 8 0', vColor, FONT_DEFAULT );
|
||||
|
||||
if ( getplayerkeyvalue( i, INFOKEY_P_VOIPSPEAKING ) == "0" ) {
|
||||
VGUI_RightText( vNewPos + '508 0', "N", '8 8 0', '1 1 1' );
|
||||
VGUI_RightText( vNewPos + '508 0', "N", '8 8 0', '1 1 1', FONT_DEFAULT );
|
||||
} else {
|
||||
VGUI_RightText( vNewPos + '508 0', "Y", '8 8 0', '1 1 1' );
|
||||
VGUI_RightText( vNewPos + '508 0', "Y", '8 8 0', '1 1 1', FONT_DEFAULT );
|
||||
}
|
||||
|
||||
vNewPos += '0 14';
|
||||
|
@ -85,20 +85,20 @@ 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
|
||||
drawstring( vPos + '24 0', sScoreTeams[ fTeam ], '16 16 0', vColor, 1, 0 );
|
||||
CSQC_DrawText( vPos + '24 0', sScoreTeams[ fTeam ], '16 16 0', 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 );
|
||||
VGUI_RightText( vPos + '320 0', sprintf( "%i", getstati( STAT_WON_CT ) ), '16 16 0', vColor, FONT_16 );
|
||||
} else if ( fTeam == TEAM_T ) {
|
||||
VGUI_RightText( vPos + '320 0', sprintf( "%i", getstati( STAT_WON_T ) ), '16 16 0', vColor );
|
||||
VGUI_RightText( vPos + '320 0', sprintf( "%i", getstati( STAT_WON_T ) ), '16 16 0', 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;
|
||||
drawstring( vCountPos, sprintf( _("SCORE_PLAYERS"), iPlayerCount ), '8 8 0', vColor, 1, 0 );
|
||||
CSQC_DrawText( vCountPos, sprintf( _("SCORE_PLAYERS"), iPlayerCount ), '8 8 0', vColor, 1, 0, FONT_DEFAULT );
|
||||
}
|
||||
return vNewPos + '0 24';
|
||||
}
|
||||
|
@ -132,13 +132,13 @@ void VGUI_Scores_Show( void ) {
|
|||
// Draw the outline END
|
||||
|
||||
// Server title
|
||||
drawstring( vMainPos + '24 13', serverkey( "hostname" ), '16 16 0', VGUI_WINDOW_FGCOLOR, 1, 0 );
|
||||
CSQC_DrawText( vMainPos + '24 13', serverkey( "hostname" ), '16 16 0', VGUI_WINDOW_FGCOLOR, 1, 0, FONT_16 );
|
||||
|
||||
// Tabs like Score, Ping etc.
|
||||
drawstring( vMainPos + '280 32', _("SCORE_SCORE"), '8 8 0', VGUI_WINDOW_FGCOLOR, 1, 0 );
|
||||
drawstring( vMainPos + '336 32', _("SCORE_DEATHS"), '8 8 0', VGUI_WINDOW_FGCOLOR, 1, 0 );
|
||||
drawstring( vMainPos + '400 32', _("SCORE_LATENCY"), '8 8 0', VGUI_WINDOW_FGCOLOR, 1, 0 );
|
||||
drawstring( vMainPos + '472 32', _("SCORE_VOICE"), '8 8 0', VGUI_WINDOW_FGCOLOR, 1, 0 );
|
||||
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 );
|
||||
|
||||
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' );
|
||||
VGUI_RightText( [ vVideoResolution_x - 16, 23 ], sprintf( "%i:%i%i", iMinutes, iTens, iUnits ), '8 8 0', '0.56 0.56 0.21', FONT_DEFAULT );
|
||||
|
||||
// Draw the money
|
||||
drawstring( [ vVideoResolution_x - 67, 6 ], "$", '8 8 0', '0.56 0.56 0.21', 1, 0 );
|
||||
VGUI_RightText( [ vVideoResolution_x - 16, 6 ], sprintf( "%d", getstatf( STAT_MONEY ) ), '8 8 0', '0.56 0.56 0.21' );
|
||||
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 );
|
||||
|
||||
// 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' );
|
||||
VGUI_RightText( [ vVideoResolution_x - 96, 23 ], sprintf( _("VGUI_SPEC_CTCOUNTER"), getstatf( STAT_WON_CT ) ), '8 8 0', '0.56 0.56 0.21' );
|
||||
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 );
|
||||
}
|
||||
|
|
|
@ -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');
|
||||
VGUI_Text( sMapString[ 0 ], vPos + '16 64 0', '16 16 0', FONT_16);
|
||||
|
||||
vector vTextPos = vPos + '224 116 0';
|
||||
for ( int i = 1; i < 35; i++ ) {
|
||||
VGUI_Text( sMapString[ i ], vTextPos, '8 8 0' );
|
||||
VGUI_Text( sMapString[ i ], vTextPos, '8 8 0', 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' );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 3 ], vVGUIWindowPos + '232 346', '8 8 0' );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 4 ], vVGUIWindowPos + '232 356', '8 8 0' );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 5 ], vVGUIWindowPos + '232 366', '8 8 0' );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 6 ], vVGUIWindowPos + '232 376', '8 8 0' );
|
||||
VGUI_Text( sClassInfo[ 8 * fNumber + 7 ], vVGUIWindowPos + '232 386', '8 8 0' );
|
||||
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 );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<project version="Crimson Editor 3.60">
|
||||
<category name="Client" expanded="no">
|
||||
<category name="Client" expanded="yes">
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\Defs.h" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\Draw.c" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\Entities.c" />
|
||||
|
@ -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="yes">
|
||||
<category name="Menu" expanded="no">
|
||||
<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,18 +112,22 @@
|
|||
</project>
|
||||
|
||||
<workspace version="Crimson Editor 3.60">
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Init.c" linenum="41" placement="0:1:-1:-1:-4:-23:132:132:980:602" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Defs.h" linenum="173" placement="0:1:-1:-1:-4:-23:154:154:1006:628" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Objects.c" linenum="13" placement="0:1:-1:-1:-4:-23:198:198:1050:672" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\BaseMelee.c" linenum="10" placement="0:1:-1:-1:-4:-23:220:220:1072:694" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\MenuMain.c" linenum="19" placement="0:1:-1:-1:-4:-23:0:0:852:474" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\MenuMultiplayer.c" linenum="224" placement="0:1:-1:-1:-4:-23:22:22:874:496" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\freecs\default.cfg" linenum="20" placement="0:1:-1:-1:-4:-23:154:154:1006:628" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Input.c" linenum="1" placement="0:1:-1:-1:-4:-23:198:198:1050:672" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Builtins.h" linenum="2232" placement="0:1:-1:-1:-4:-23:220:220:1072:694" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Draw.c" linenum="82" placement="0:1:-1:-1:-4:-23:0:0:852:474" />
|
||||
<localfile path="C:\Users\eukara\Dropbox\The Wastes Build\SDK\Source\Globals.h" linenum="369" placement="0:1:-1:-1:-4:-23:44:44:896:518" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Globals.h" linenum="299" placement="0:1:-1:-1:-4:-23:66:66:918:540" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Header.c" linenum="1" placement="2:3:-1:-1:-4:-23:88:88:940:562" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\Defs.h" linenum="18" placement="0:1:-1:-1:-4:-23:22:22:914:394" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\Draw.c" linenum="168" placement="0:1:-1:-1:-4:-23:44:44:940:420" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\Event.c" linenum="425" placement="2:3:-1:-1:-4:-23:66:66:962:442" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\HUD.c" linenum="1" placement="0:1:-1:-1:-4:-23:88:88:984:464" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\Init.c" linenum="21" placement="0:1:-1:-1:-4:-23:110:110:1006:486" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\Player.c" linenum="65" placement="0:1:-1:-1:-4:-23:132:132:1028:508" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\Nightvision.c" linenum="56" placement="0:1:-1:-1:-4:-23:132:132:1028:508" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Server\Spawn.c" linenum="110" placement="0:1:-1:-1:-4:-23:154:154:1050:530" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\Animations.c" linenum="149" placement="0:1:-1:-1:-4:-23:176:176:1072:552" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\Weapons.c" linenum="114" placement="0:1:-1:-1:-4:-23:0:0:896:376" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\BaseMelee.c" linenum="26" placement="0:1:-1:-1:-4:-23:22:22:918:398" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\WeaponC4Bomb.c" linenum="187" placement="0:1:-1:-1:-4:-23:44:44:940:420" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Shared\WeaponBase.c" linenum="90" placement="0:1:-1:-1:-4:-23:66:66:962:442" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Server\Client.c" linenum="152" placement="0:1:-1:-1:-4:-23:88:88:984:464" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Globals.h" linenum="218" placement="0:1:-1:-1:-4:-23:110:110:1006:486" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Server\Entities.c" linenum="1" placement="0:1:-1:-1:-4:-23:132:132:1028:508" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Client\Entities.c" linenum="20" placement="0:1:-1:-1:-4:-23:154:154:1050:530" />
|
||||
</workspace>
|
||||
|
||||
|
|
|
@ -149,8 +149,9 @@ void Client_SendEvent( entity eClient, float fEVType ) {
|
|||
|
||||
WriteByte( MSG_MULTICAST, SVC_CGAMEPACKET );
|
||||
WriteByte( MSG_MULTICAST, fEVType );
|
||||
WriteByte( MSG_MULTICAST, num_for_edict( eClient ) );
|
||||
msg_entity = eClient;
|
||||
multicast( '0 0 0', MULTICAST_ONE );
|
||||
multicast( self.origin, MULTICAST_PVS );
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -51,5 +51,16 @@ void light( void ) {
|
|||
}
|
||||
|
||||
self.vUse = light_toggle;
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
light_environment
|
||||
|
||||
This is just a dummy to prevent the engine from complaining.
|
||||
Don't get too excited.
|
||||
=================
|
||||
*/
|
||||
void light_environment( void ) {
|
||||
remove( self );
|
||||
}
|
|
@ -119,7 +119,7 @@ Called whenever a player just needs his basic properties to be reset
|
|||
*/
|
||||
void Spawn_RespawnClient( float fTeam ) {
|
||||
entity eSpawn;
|
||||
forceinfokey( self, "*spectator", "0" ); // Make sure we are known as a spectator
|
||||
forceinfokey( self, "*spec", "0" ); // Make sure we are known as a spectator
|
||||
eSpawn = Spawn_FindSpawnPoint( self.team );
|
||||
|
||||
self.classname = "player";
|
||||
|
@ -215,7 +215,7 @@ void Spawn_MakeSpectator( void ) {
|
|||
setsize (self, '-16 -16 -16', '16 16 16');
|
||||
|
||||
self.view_ofs = self.velocity = '0 0 0';
|
||||
forceinfokey( self, "*spectator", "2" ); // Make sure we are known as a spectator
|
||||
forceinfokey( self, "*spec", "2" ); // Make sure we are known as a spectator
|
||||
|
||||
// Clear all the ammo stuff
|
||||
for ( int i = 0; i < CS_WEAPON_COUNT; i++ ) {
|
||||
|
|
|
@ -22,6 +22,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
.float baseframe_old;
|
||||
.float fWasCrouching;
|
||||
|
||||
// For lerping, sigh
|
||||
.float frame_last;
|
||||
.float baseframe_last;
|
||||
|
||||
enum {
|
||||
ANIM_DUMMY1,
|
||||
ANIM_IDLE,
|
||||
|
@ -120,6 +124,15 @@ enum {
|
|||
ANIM_CROUCH_DIE
|
||||
};
|
||||
|
||||
|
||||
void Animation_Print( string sWow ) {
|
||||
#ifdef CSQC
|
||||
print( sprintf( "[DEBUG] %s" ), sWow );
|
||||
#else
|
||||
bprint( sprintf( "SSQC: %s" ), sWow );
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
Animation_PlayerUpdate
|
||||
|
@ -133,7 +146,7 @@ void Animation_PlayerUpdate( void ) {
|
|||
|
||||
// TODO: Make this faster
|
||||
if ( self.baseframe_time < time ) {
|
||||
switch ( Weapon_GetAnimType( self.weapon ) && self.baseframe != self.baseframe_old ) {
|
||||
switch ( Weapon_GetAnimType( self.weapon ) ) {
|
||||
case ATYPE_AK47:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_AIM_AK47 : ANIM_AIM_AK47;
|
||||
break;
|
||||
|
@ -190,6 +203,54 @@ void Animation_PlayerUpdate( void ) {
|
|||
self.frame = ANIM_RUN;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CSQC
|
||||
// Lerp it down!
|
||||
if ( self.lerpfrac > 0 ) {
|
||||
self.lerpfrac -= frametime * 5;
|
||||
if ( self.lerpfrac < 0 ) {
|
||||
self.lerpfrac = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ( self.baselerpfrac > 0 ) {
|
||||
self.baselerpfrac -= frametime * 5;
|
||||
if ( self.baselerpfrac < 0 ) {
|
||||
self.baselerpfrac = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ( self.frame != self.frame_last ) {
|
||||
//Animation_Print( sprintf( "New Frame: %d, Last Frame: %d\n", self.frame, self.frame_last ));
|
||||
|
||||
// Move everything over to frame 2
|
||||
self.frame2time = self.frame1time;
|
||||
self.frame2 = self.frame_last;
|
||||
|
||||
// Set frame_last to avoid this being called again
|
||||
self.frame_last = self.frame;
|
||||
|
||||
self.lerpfrac = 1.0f;
|
||||
self.frame1time = 0.0f;
|
||||
}
|
||||
|
||||
if ( self.baseframe != self.baseframe_last ) {
|
||||
//Animation_Print( sprintf( "New Baseframe: %d, Last Baseframe: %d\n", self.baseframe, self.baseframe_last ) );
|
||||
|
||||
// Move everything over to frame 2
|
||||
self.baseframe2time = self.baseframe1time;
|
||||
self.baseframe2 = self.baseframe_last;
|
||||
|
||||
// Set frame_last to avoid this being called again
|
||||
self.baseframe_last = self.baseframe;
|
||||
|
||||
self.baselerpfrac = 1.0f;
|
||||
self.baseframe1time = 0.0f;
|
||||
}
|
||||
|
||||
self.bonecontrol1 = self.angles_x;
|
||||
#endif
|
||||
self.angles_x = self.angles_z = 0;
|
||||
|
||||
if ( !( self.flags & FL_ONGROUND ) ) {
|
||||
self.frame = ANIM_JUMP;
|
||||
|
@ -201,6 +262,13 @@ void Animation_PlayerUpdate( void ) {
|
|||
self.baseframe_time = 0;
|
||||
self.fWasCrouching = ( self.flags & FL_CROUCHING );
|
||||
}
|
||||
|
||||
#ifdef CSQC
|
||||
setorigin( self.eGunModel, self.origin );
|
||||
self.eGunModel.angles = self.angles;
|
||||
vector vOffset = gettaginfo( self.eGunModel, self.eGunModel.fWeaponBoneID ) - gettaginfo( self, self.fWeaponBoneID );
|
||||
setorigin( self.eGunModel, self.origin - vOffset );
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -220,82 +288,82 @@ void Animation_PlayerTopTemp( float fFrame, float fTime ) {
|
|||
self.baseframe_time = time + fTime;
|
||||
}
|
||||
|
||||
void Animation_ShootWeapon( void ) {
|
||||
switch ( Weapon_GetAnimType( self.weapon ) ) {
|
||||
void Animation_ShootWeapon( entity ePlayer ) {
|
||||
switch ( Weapon_GetAnimType( ePlayer.weapon ) ) {
|
||||
case ATYPE_AK47:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_AK47 : ANIM_SHOOT_AK47;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_AK47 : ANIM_SHOOT_AK47;
|
||||
break;
|
||||
case ATYPE_C4:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_C4 : ANIM_SHOOT_C4;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_C4 : ANIM_SHOOT_C4;
|
||||
break;
|
||||
case ATYPE_CARBINE:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_CARBINE : ANIM_SHOOT_CARBINE;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_CARBINE : ANIM_SHOOT_CARBINE;
|
||||
break;
|
||||
case ATYPE_DUALPISTOLS:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_DUALPISTOLS : ANIM_SHOOT_DUALPISTOLS;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_DUALPISTOLS : ANIM_SHOOT_DUALPISTOLS;
|
||||
break;
|
||||
case ATYPE_GRENADE:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_GRENADE : ANIM_SHOOT_GRENADE;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_GRENADE : ANIM_SHOOT_GRENADE;
|
||||
break;
|
||||
case ATYPE_KNIFE:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_KNIFE : ANIM_SHOOT_KNIFE;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_KNIFE : ANIM_SHOOT_KNIFE;
|
||||
break;
|
||||
case ATYPE_MP5:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_MP5 : ANIM_SHOOT_MP5;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_MP5 : ANIM_SHOOT_MP5;
|
||||
break;
|
||||
case ATYPE_ONEHAND:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_ONEHAND : ANIM_SHOOT_ONEHAND;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_ONEHAND : ANIM_SHOOT_ONEHAND;
|
||||
break;
|
||||
case ATYPE_PARA:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_PARA : ANIM_SHOOT_PARA;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_PARA : ANIM_SHOOT_PARA;
|
||||
break;
|
||||
case ATYPE_RIFLE:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_RIFLE : ANIM_SHOOT_RIFLE;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_RIFLE : ANIM_SHOOT_RIFLE;
|
||||
break;
|
||||
case ATYPE_SHOTGUN:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_SHOTGUN : ANIM_SHOOT_SHOTGUN;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_SHOOT_SHOTGUN : ANIM_SHOOT_SHOTGUN;
|
||||
break;
|
||||
}
|
||||
|
||||
self.baseframe_time = time + Weapon_GetFireRate( self.weapon );
|
||||
ePlayer.baseframe_time = time + Weapon_GetFireRate( ePlayer.weapon );
|
||||
}
|
||||
|
||||
void Animation_ReloadWeapon( void ) {
|
||||
switch ( Weapon_GetAnimType( self.weapon ) ) {
|
||||
void Animation_ReloadWeapon( entity ePlayer ) {
|
||||
switch ( Weapon_GetAnimType( ePlayer.weapon ) ) {
|
||||
case ATYPE_AK47:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_AK47 : ANIM_RELOAD_AK47;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_AK47 : ANIM_RELOAD_AK47;
|
||||
break;
|
||||
case ATYPE_C4:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_AIM_C4 : ANIM_AIM_C4;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_AIM_C4 : ANIM_AIM_C4;
|
||||
break;
|
||||
case ATYPE_CARBINE:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_CARBINE : ANIM_RELOAD_CARBINE;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_CARBINE : ANIM_RELOAD_CARBINE;
|
||||
break;
|
||||
case ATYPE_DUALPISTOLS:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_DUALPISTOLS : ANIM_RELOAD_DUALPISTOLS;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_DUALPISTOLS : ANIM_RELOAD_DUALPISTOLS;
|
||||
break;
|
||||
case ATYPE_GRENADE:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_AIM_GRENADE : ANIM_AIM_GRENADE;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_AIM_GRENADE : ANIM_AIM_GRENADE;
|
||||
break;
|
||||
case ATYPE_KNIFE:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_AIM_KNIFE : ANIM_AIM_KNIFE;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_AIM_KNIFE : ANIM_AIM_KNIFE;
|
||||
break;
|
||||
case ATYPE_MP5:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_MP5 : ANIM_RELOAD_MP5;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_MP5 : ANIM_RELOAD_MP5;
|
||||
break;
|
||||
case ATYPE_ONEHAND:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_ONEHAND : ANIM_RELOAD_ONEHAND;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_ONEHAND : ANIM_RELOAD_ONEHAND;
|
||||
break;
|
||||
case ATYPE_PARA:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_PARA : ANIM_RELOAD_PARA;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_PARA : ANIM_RELOAD_PARA;
|
||||
break;
|
||||
case ATYPE_RIFLE:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_RIFLE : ANIM_RELOAD_RIFLE;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_RIFLE : ANIM_RELOAD_RIFLE;
|
||||
break;
|
||||
case ATYPE_SHOTGUN:
|
||||
self.baseframe = self.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_SHOTGUN : ANIM_RELOAD_SHOTGUN;
|
||||
ePlayer.baseframe = ePlayer.flags & FL_CROUCHING ? ANIM_CROUCH_RELOAD_SHOTGUN : ANIM_RELOAD_SHOTGUN;
|
||||
break;
|
||||
}
|
||||
|
||||
self.baseframe_time = time + Weapon_GetReloadTime( self.weapon );
|
||||
ePlayer.baseframe_time = time + Weapon_GetReloadTime( ePlayer.weapon );
|
||||
}
|
||||
|
|
|
@ -108,7 +108,7 @@ float OpenCSGunBase_PrimaryFire( void ) {
|
|||
OpenCSGunBase_ShotMultiplierHandle( wptTable[ self.weapon ].iBullets );
|
||||
OpenCSGunBase_AccuracyCalc();
|
||||
TraceAttack_FireBullets( wptTable[ self.weapon ].iBullets, ( self.origin + self.view_ofs ) );
|
||||
Animation_ShootWeapon();
|
||||
Animation_ShootWeapon( self );
|
||||
|
||||
self.(wptTable[ self.weapon ].iMagfld) -= 1;
|
||||
self.fAttackFinished = time + wptTable[ self.weapon ].fAttackFinished;
|
||||
|
@ -145,7 +145,7 @@ float OpenCSGunBase_Reload( void ) {
|
|||
self.nextthink = time + wptTable[ self.weapon ].fReloadFinished;
|
||||
self.fAttackFinished = self.nextthink;
|
||||
|
||||
Animation_ReloadWeapon();
|
||||
Animation_ReloadWeapon( self );
|
||||
Client_SendEvent( self, EV_WEAPON_RELOAD );
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -207,7 +207,7 @@ void WeaponC4BOMB_PrimaryFire( void ) {
|
|||
|
||||
// If we aren't aiming at a place or look in the wrong location... stop it
|
||||
if ( trace_fraction == 1 || self.fInBombZone == FALSE ) {
|
||||
Animation_ReloadWeapon();
|
||||
Animation_ReloadWeapon( self );
|
||||
WeaponC4BOMB_Release();
|
||||
return;
|
||||
}
|
||||
|
@ -216,7 +216,7 @@ void WeaponC4BOMB_PrimaryFire( void ) {
|
|||
if ( self.fBombProgress == 0 ) {
|
||||
self.fBombProgress = time + 3.0f;
|
||||
Client_SendEvent( self, EV_WEAPON_PRIMARYATTACK );
|
||||
Animation_ShootWeapon();
|
||||
Animation_ShootWeapon( self );
|
||||
}
|
||||
|
||||
// 3 seconds have passed, plant the bomb
|
||||
|
|
|
@ -80,7 +80,7 @@ void WeaponFLASHBANG_PrimaryFire( void ) {
|
|||
}
|
||||
|
||||
Client_SendEvent( self, EV_WEAPON_PRIMARYATTACK );
|
||||
Animation_ShootWeapon();
|
||||
Animation_ShootWeapon( self );
|
||||
self.fAttackFinished = time + wptFLASHBANG.fAttackFinished;
|
||||
|
||||
// Mark the nade as ready once the pin has been pulled
|
||||
|
|
|
@ -80,7 +80,7 @@ void WeaponHEGRENADE_PrimaryFire( void ) {
|
|||
}
|
||||
|
||||
Client_SendEvent( self, EV_WEAPON_PRIMARYATTACK );
|
||||
Animation_ShootWeapon();
|
||||
Animation_ShootWeapon( self );
|
||||
self.fAttackFinished = time + wptHEGRENADE.fAttackFinished;
|
||||
|
||||
// Mark the nade as ready once the pin has been pulled
|
||||
|
|
|
@ -78,7 +78,7 @@ void WeaponKNIFE_PrimaryFire( void ) {
|
|||
}
|
||||
}
|
||||
|
||||
Animation_ShootWeapon();
|
||||
Animation_ShootWeapon( self );
|
||||
self.fAttackFinished = time + wptKNIFE.fAttackFinished;
|
||||
#else
|
||||
if ( random() <= 0.5 ) {
|
||||
|
|
|
@ -80,7 +80,7 @@ void WeaponSMOKEGRENADE_PrimaryFire( void ) {
|
|||
}
|
||||
|
||||
Client_SendEvent( self, EV_WEAPON_PRIMARYATTACK );
|
||||
Animation_ShootWeapon();
|
||||
Animation_ShootWeapon( self );
|
||||
self.fAttackFinished = time + wptSMOKEGRENADE.fAttackFinished;
|
||||
|
||||
// Mark the nade as ready once the pin has been pulled
|
||||
|
|
|
@ -108,6 +108,12 @@ void Weapon_Draw( float fWeapon ) {
|
|||
self.fAttackFinished = time + 1.0;
|
||||
self.maxspeed = Player_GetMaxSpeed( fWeapon );
|
||||
#endif
|
||||
|
||||
#ifdef CSQC
|
||||
if ( fWeaponEventPlayer != player_localentnum ) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
wpnFuncTable[ fWeapon ].vDraw();
|
||||
}
|
||||
|
@ -126,8 +132,14 @@ void Weapon_PrimaryAttack( float fWeapon ) {
|
|||
return;
|
||||
#endif
|
||||
#ifdef CSQC
|
||||
Animation_ShootWeapon();
|
||||
if ( fWeaponEventPlayer != player_localentnum ) {
|
||||
entity ono = findfloat( world, entnum, fWeaponEventPlayer );
|
||||
//print( sprintf( "Shooter! Origin: %d %d %d\n", ono.origin_x, ono.origin_y, ono.origin_z ) );
|
||||
Animation_ShootWeapon( ono );
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
wpnFuncTable[ fWeapon ].vPrimary();
|
||||
}
|
||||
|
||||
|
@ -142,7 +154,11 @@ void Weapon_SecondaryAttack( float fWeapon ) {
|
|||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CSQC
|
||||
if ( fWeaponEventPlayer != player_localentnum ) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
wpnFuncTable[ fWeapon ].vSecondary();
|
||||
}
|
||||
|
||||
|
@ -158,7 +174,11 @@ void Weapon_Reload( float fWeapon ) {
|
|||
}
|
||||
#endif
|
||||
#ifdef CSQC
|
||||
Animation_ReloadWeapon();
|
||||
if ( fWeaponEventPlayer != player_localentnum ) {
|
||||
entity ono = findfloat( world, entnum, fWeaponEventPlayer );
|
||||
Animation_ReloadWeapon( ono );
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
wpnFuncTable[ fWeapon ].vReload();
|
||||
}
|
||||
|
|
Binary file not shown.
483
freecs/csprogs.dat.de.po
Executable file
483
freecs/csprogs.dat.de.po
Executable file
|
@ -0,0 +1,483 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-06-21 15:30+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
msgid "VGUI_TITLE_MOTD"
|
||||
msgstr "Nachricht des Tages"
|
||||
|
||||
msgid "VGUI_TITLE_TEAMS"
|
||||
msgstr "Team Auswahl"
|
||||
|
||||
msgid "VGUI_TITLE_TSEL"
|
||||
msgstr "Terroristen Auswahl"
|
||||
|
||||
msgid "VGUI_TITLE_CTSEL"
|
||||
msgstr "Anti-Terror Auswahl"
|
||||
|
||||
msgid "VGUI_TITLE_BUY"
|
||||
msgstr "Kauf-Menue"
|
||||
|
||||
msgid "VGUI_TITLE_HANDGUN"
|
||||
msgstr "Handfeuerwaffen"
|
||||
|
||||
msgid "VGUI_TITLE_SHOTGUN"
|
||||
msgstr "Schrotflinten"
|
||||
|
||||
msgid "VGUI_TITLE_SMG"
|
||||
msgstr "Maschinenpistole"
|
||||
|
||||
msgid "VGUI_TITLE_RIFLE"
|
||||
msgstr "Gewehre"
|
||||
|
||||
msgid "VGUI_TITLE_MG"
|
||||
msgstr "Maschinengewehre"
|
||||
|
||||
msgid "VGUI_TITLE_EQUIPMENT"
|
||||
msgstr "Ausruestung"
|
||||
|
||||
msgid "WEAPON_NONE"
|
||||
msgstr "Keine"
|
||||
|
||||
msgid "WEAPON_KNIFE"
|
||||
msgstr "Messer"
|
||||
|
||||
msgid "WEAPON_USP"
|
||||
msgstr "H&K USP .45 Taktisch"
|
||||
|
||||
msgid "WEAPON_GLOCK18"
|
||||
msgstr "Glock 18 SF"
|
||||
|
||||
msgid "WEAPON_DEAGLE"
|
||||
msgstr "Desert Eagle .50AE"
|
||||
|
||||
msgid "WEAPON_P228"
|
||||
msgstr "SIG P228"
|
||||
|
||||
msgid "WEAPON_ELITES"
|
||||
msgstr "Zwei Beretta 96G Elite"
|
||||
|
||||
msgid "WEAPON_FIVESEVEN"
|
||||
msgstr "FN Five-Seven"
|
||||
|
||||
msgid "WEAPON_M3"
|
||||
msgstr "Benelli M3 Super90"
|
||||
|
||||
msgid "WEAPON_XM1014"
|
||||
msgstr "Benelli XM1014"
|
||||
|
||||
msgid "WEAPON_MP5"
|
||||
msgstr "H&K MP5-Navy"
|
||||
|
||||
msgid "WEAPON_P90"
|
||||
msgstr "FN P90"
|
||||
|
||||
msgid "WEAPON_UMP45"
|
||||
msgstr "H&K UMP45"
|
||||
|
||||
msgid "WEAPON_MAC10"
|
||||
msgstr "Ingram MAC-10"
|
||||
|
||||
msgid "WEAPON_TMP"
|
||||
msgstr "Steyr Taktik Maschinenpistole"
|
||||
|
||||
msgid "WEAPON_AK47"
|
||||
msgstr "AK-47"
|
||||
|
||||
msgid "WEAPON_SG552"
|
||||
msgstr "Sig SG-552 Kommando"
|
||||
|
||||
msgid "WEAPON_M4A1"
|
||||
msgstr "Colt M4A1 Karabiner"
|
||||
|
||||
msgid "WEAPON_AUG"
|
||||
msgstr "Steyr Aug"
|
||||
|
||||
msgid "WEAPON_SCOUT"
|
||||
msgstr "Steyr Scout"
|
||||
|
||||
msgid "WEAPON_AWP"
|
||||
msgstr "AI Arctic Warfare/Magnum"
|
||||
|
||||
msgid "WEAPON_G3SG1"
|
||||
msgstr "H&K G3/SG-1"
|
||||
|
||||
msgid "WEAPON_SG550"
|
||||
msgstr "Sig SG-550"
|
||||
|
||||
msgid "WEAPON_PARA"
|
||||
msgstr "FN M249 Para"
|
||||
|
||||
msgid "EQUIPMENT_KEVLAR"
|
||||
msgstr "Kevlar"
|
||||
|
||||
msgid "EQUIPMENT_HELMET"
|
||||
msgstr "Kevlar & Helm"
|
||||
|
||||
msgid "WEAPON_FLASHBANG"
|
||||
msgstr "Flashbang"
|
||||
|
||||
msgid "WEAPON_HEGRENADE"
|
||||
msgstr "HE Granate"
|
||||
|
||||
msgid "WEAPON_SMOKEGRENADE"
|
||||
msgstr "Smoke Granate"
|
||||
|
||||
msgid "EQUIPMENT_DEFUSALKIT"
|
||||
msgstr "Entschaerfungs Kit"
|
||||
|
||||
msgid "EQUIPMENT_NIGHTVISION"
|
||||
msgstr "Nachtsicht Geraet"
|
||||
|
||||
msgid "VGUI_TITLE_AMMO1"
|
||||
msgstr "Primaere Munition"
|
||||
|
||||
msgid "VGUI_TITLE_AMMO2"
|
||||
msgstr "Sekundaere Munition"
|
||||
|
||||
msgid "VGUI_EXIT"
|
||||
msgstr "Beenden"
|
||||
|
||||
msgid "BUY_PRICETAG"
|
||||
msgstr "Preis: %i"
|
||||
|
||||
msgid "BUY_CALIBER"
|
||||
msgstr "Kaliber: %i"
|
||||
|
||||
msgid "BUY_RPM"
|
||||
msgstr "Schuss pro Minute: %d"
|
||||
|
||||
msgid "VGUI_BACK"
|
||||
msgstr "Zurueck"
|
||||
|
||||
msgid "VGUI_OK"
|
||||
msgstr "OK"
|
||||
|
||||
msgid "RADIO_TITLE1"
|
||||
msgstr "Radio Befehle"
|
||||
|
||||
msgid "RADIO_TITLE2"
|
||||
msgstr "Gruppen Befehle"
|
||||
|
||||
msgid "RADIO_TITLE3"
|
||||
msgstr "Radio Antworten"
|
||||
|
||||
msgid "SCORE_TITLE_SPECTATOR"
|
||||
msgstr "Zuschauer"
|
||||
|
||||
msgid "SCORE_TITLE_T"
|
||||
msgstr "Terroristen"
|
||||
|
||||
msgid "SCORE_TITLE_CT"
|
||||
msgstr "AT Einheiten"
|
||||
|
||||
msgid "SCORE_TITLE_VIP"
|
||||
msgstr "VIP"
|
||||
|
||||
msgid "SCORE_DEAD"
|
||||
msgstr "%s [TOT]"
|
||||
|
||||
msgid "SCORE_VIP"
|
||||
msgstr "%s [VIP]"
|
||||
|
||||
msgid "SCORE_PLAYERS"
|
||||
msgstr "%i Spieler"
|
||||
|
||||
msgid "SCORE_SCORE"
|
||||
msgstr "PUNKTE"
|
||||
|
||||
msgid "SCORE_DEATHS"
|
||||
msgstr "TODE"
|
||||
|
||||
msgid "SCORE_LATENCY"
|
||||
msgstr "LATENZ"
|
||||
|
||||
msgid "SCORE_VOICE"
|
||||
msgstr "VOICE"
|
||||
|
||||
msgid "VGUI_SPEC_TCOUNTER"
|
||||
msgstr "Terroristen: %d"
|
||||
|
||||
msgid "VGUI_SPEC_CTCOUNTER"
|
||||
msgstr "AT Einheiten: %d"
|
||||
|
||||
msgid "VGUI_T1_TITLE"
|
||||
msgstr "Phoenix Connexion"
|
||||
|
||||
msgid "VGUI_T1_TXT1"
|
||||
msgstr "The Phoenix Fraktion wurde kurz nach dem"
|
||||
|
||||
msgid "VGUI_T1_TXT2"
|
||||
msgstr "Fall der UDSSR gegruendet. Sie haben eine"
|
||||
|
||||
msgid "VGUI_T1_TXT3"
|
||||
msgstr "Reputation fuer das vernichten jener, der"
|
||||
|
||||
msgid "VGUI_T1_TXT4"
|
||||
msgstr "ihnen in den Weg kommt."
|
||||
|
||||
msgid "VGUI_T1_TXT5"
|
||||
msgstr "Sie ist eine der meist gefuerchtesten"
|
||||
|
||||
msgid "VGUI_T1_TXT6"
|
||||
msgstr "Terroristen Gruppen in Ost-Europa."
|
||||
|
||||
msgid "VGUI_T2_TITLE"
|
||||
msgstr "L337 Krew"
|
||||
|
||||
msgid "VGUI_T2_TXT1"
|
||||
msgstr "Fundamentalisten aus dem Mittleren Osten"
|
||||
|
||||
msgid "VGUI_T2_TXT2"
|
||||
msgstr "die sich die Weltherrschaft an sich"
|
||||
|
||||
msgid "VGUI_T2_TXT3"
|
||||
msgstr "reissen wollen, sowie andere Fiese Taten"
|
||||
|
||||
msgid "VGUI_T2_TXT4"
|
||||
msgstr "begehen."
|
||||
|
||||
msgid "VGUI_T2_TXT5"
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T2_TXT6"
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T3_TITLE"
|
||||
msgstr "Arctic Avengers"
|
||||
|
||||
msgid "VGUI_T3_TXT1"
|
||||
msgstr "Swedische Terror Fraktion, gegruendet 1977."
|
||||
|
||||
msgid "VGUI_T3_TXT2"
|
||||
msgstr "Beruehmt fuer das bombardieren der Kanadischen"
|
||||
|
||||
msgid "VGUI_T3_TXT3"
|
||||
msgstr "Botschaft im Jahre 1990."
|
||||
|
||||
msgid "VGUI_T3_TXT4"
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T3_TXT5"
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T3_TXT6"
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T4_TITLE"
|
||||
msgstr "Guerilla Warfare"
|
||||
|
||||
msgid "VGUI_T4_TXT1"
|
||||
msgstr "Eine Terror Fraktion, die im Mittleren Osten"
|
||||
|
||||
msgid "VGUI_T4_TXT2"
|
||||
msgstr "gegruendet wurde. Bekannt fuer Ihre Ruecksichts-"
|
||||
|
||||
msgid "VGUI_T4_TXT3"
|
||||
msgstr "losigkeit. Ihr hass fuer den Amerikanischen"
|
||||
|
||||
msgid "VGUI_T4_TXT4"
|
||||
msgstr "Lebensstil haben Sie mit der Bombadierung"
|
||||
|
||||
msgid "VGUI_T4_TXT5"
|
||||
msgstr "eines Schulbusses voller Rock&Roll stars"
|
||||
|
||||
msgid "VGUI_T4_TXT6"
|
||||
msgstr "im Jahre 1982 bewiesen."
|
||||
|
||||
msgid "VGUI_CT1_TITLE"
|
||||
msgstr "Seal Team 6"
|
||||
|
||||
msgid "VGUI_CT1_TXT1"
|
||||
msgstr "Seal Team 6 (spaeter bekannt als DEVGRU)"
|
||||
|
||||
msgid "VGUI_CT1_TXT2"
|
||||
msgstr "wurde im Jahre 1980 unter dem Kommando von"
|
||||
|
||||
msgid "VGUI_CT1_TXT3"
|
||||
msgstr "Lieutenant-Kommander Richard Marcincko."
|
||||
|
||||
msgid "VGUI_CT1_TXT4"
|
||||
msgstr "gegruendet. Sie ist permanent bereit"
|
||||
|
||||
msgid "VGUI_CT1_TXT5"
|
||||
msgstr "Terror Attacken gegen Amerikanische"
|
||||
|
||||
msgid "VGUI_CT1_TXT6"
|
||||
msgstr "Ziele zu bekaempfen."
|
||||
|
||||
msgid "VGUI_CT2_TITLE"
|
||||
msgstr "Deutsche GSG 9"
|
||||
|
||||
msgid "VGUI_CT2_TXT1"
|
||||
msgstr "Grenzschutzgruppe 9 der Bundespolizei"
|
||||
|
||||
msgid "VGUI_CT2_TXT2"
|
||||
msgstr "wurde nach der Geiselnahme von"
|
||||
|
||||
msgid "VGUI_CT2_TXT3"
|
||||
msgstr "Israelischen Teilnehmern waehrend"
|
||||
|
||||
msgid "VGUI_CT2_TXT4"
|
||||
msgstr "der 1972 Olympischen Spiele in Muenchen"
|
||||
|
||||
msgid "VGUI_CT2_TXT5"
|
||||
msgstr "gegruendet."
|
||||
|
||||
msgid "VGUI_CT2_TXT6"
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_CT3_TITLE"
|
||||
msgstr "Britische SAS"
|
||||
|
||||
msgid "VGUI_CT3_TXT1"
|
||||
msgstr "Die Welt-Bekannte Britische SAS wurde"
|
||||
|
||||
msgid "VGUI_CT3_TXT2"
|
||||
msgstr "im Zweiten Weltkrieg von dem Offizier"
|
||||
|
||||
msgid "VGUI_CT3_TXT3"
|
||||
msgstr "David Stirling gegruendet. Ihre Rolle"
|
||||
|
||||
msgid "VGUI_CT3_TXT4"
|
||||
msgstr "involvierte das Sammeln von Informationen"
|
||||
|
||||
msgid "VGUI_CT3_TXT5"
|
||||
msgstr "hinter Feindlichen Linien, Sabotage"
|
||||
|
||||
msgid "VGUI_CT3_TXT6"
|
||||
msgstr "und Ermordungen spezifischer Ziele."
|
||||
|
||||
msgid "VGUI_CT4_TITLE"
|
||||
msgstr "Franzoesische GIGN"
|
||||
|
||||
msgid "VGUI_CT4_TXT1"
|
||||
msgstr "Frankreichs Elite Anti-Terroreinheit"
|
||||
|
||||
msgid "VGUI_CT4_TXT2"
|
||||
msgstr "soll eine schnelle Reaktions-Gruppe"
|
||||
|
||||
msgid "VGUI_CT4_TXT3"
|
||||
msgstr "darstellen, die zu jeder Art von Grosser"
|
||||
|
||||
msgid "VGUI_CT4_TXT4"
|
||||
msgstr "Attacke antworten kann. Sie besteht aus"
|
||||
|
||||
msgid "VGUI_CT4_TXT5"
|
||||
msgstr "nicht mehr als 100 Mann. Die GIGN hat"
|
||||
|
||||
msgid "VGUI_CT4_TXT6"
|
||||
msgstr "viele erfolgreiche Missionen hinter sich."
|
||||
|
||||
msgid "VGUI_TEAM_T"
|
||||
msgstr "Terroristen"
|
||||
|
||||
msgid "VGUI_TEAM_CT"
|
||||
msgstr "Anti-Terror Einheit"
|
||||
|
||||
msgid "VGUI_TEAM_AUTO"
|
||||
msgstr "Auto-Auswahl"
|
||||
|
||||
msgid "VGUI_TEAM_SPEC"
|
||||
msgstr "Zuschauen"
|
||||
|
||||
msgid "RADIO_BLOW"
|
||||
msgstr "Raus da! Es wird gleich hochgehen!"
|
||||
msgid "RADIO_BOMBDEF"
|
||||
msgstr "Die Bombe wurde entschaerft."
|
||||
msgid "RADIO_BOMBPL"
|
||||
msgstr "Die Bombe wurde gelegt."
|
||||
msgid "RADIO_CIRCLEBACK"
|
||||
msgstr "Kreise um die Rueckseite!"
|
||||
msgid "RADIO_CLEAR"
|
||||
msgstr "Sektor sicher."
|
||||
msgid "RADIO_COM_FOLLOWCOM"
|
||||
msgstr "Alles klar, folge meinem Kommando."
|
||||
msgid "RADIO_COM_GETINPOS"
|
||||
msgstr "Geh in Position und warte auf mein Zeichen."
|
||||
msgid "RADIO_COM_GO"
|
||||
msgstr "Los, los, los!"
|
||||
msgid "RADIO_COM_REPORTIN"
|
||||
msgstr "Erstatte Bericht, Team!"
|
||||
msgid "RADIO_CT_AFFIRM"
|
||||
msgstr "Positiv."
|
||||
msgid "RADIO_CT_BACKUP"
|
||||
msgstr "Brauche Unterstuetzung!"
|
||||
msgid "RADIO_CT_COVERME"
|
||||
msgstr "Gib mir Deckung!"
|
||||
msgid "RADIO_CT_ENEMYS"
|
||||
msgstr "Feind gesichtet."
|
||||
msgid "RADIO_CT_FIREINHOLE"
|
||||
msgstr "Granate vorraus!"
|
||||
msgid "RADIO_CT_IMHIT"
|
||||
msgstr "Bin getroffen!"
|
||||
msgid "RADIO_CT_INPOS"
|
||||
msgstr "Ich bin in Position."
|
||||
msgid "RADIO_CT_POINT"
|
||||
msgstr "Ich nehme das Ziel ein."
|
||||
msgid "RADIO_CT_REPORTINGIN"
|
||||
msgstr "Ich erstatte Bericht."
|
||||
msgid "RADIO_CTWIN"
|
||||
msgstr "Anti-Terror Einheiten gewinnen!"
|
||||
msgid "RADIO_ENEMYDOWN"
|
||||
msgstr "Feind am Boden!"
|
||||
msgid "RADIO_FALLBACK"
|
||||
msgstr "Team, zurueckfallen!"
|
||||
msgid "RADIO_FIREASSIS"
|
||||
msgstr "Unter Beschuss, brauche Unterstuetzung!"
|
||||
msgid "RADIO_FOLLOWME"
|
||||
msgstr "Folge mir!"
|
||||
msgid "RADIO_GETOUT"
|
||||
msgstr "Team, lass bloss raus hier!"
|
||||
msgid "RADIO_GO"
|
||||
msgstr "Okay, los gehts."
|
||||
msgid "RADIO_HITASSIST"
|
||||
msgstr "Bin getroffen! Brauche Unterstuetzung!"
|
||||
msgid "RADIO_HOSDOWN"
|
||||
msgstr "Geisel am Boden!"
|
||||
msgid "RADIO_LETSGO"
|
||||
msgstr "Okay, los gehts."
|
||||
msgid "RADIO_LOCKNLOAD"
|
||||
msgstr "Lock 'n load."
|
||||
msgid "RADIO_MATEDOWN"
|
||||
msgstr "Teammitglied am Boden!"
|
||||
msgid "RADIO_MEETME"
|
||||
msgstr "Trefft micht am Rendezvous Zíel."
|
||||
msgid "RADIO_MOVEOUT"
|
||||
msgstr "Alles klar, bewegen wir uns."
|
||||
msgid "RADIO_NEGATIVE"
|
||||
msgstr "Negativ."
|
||||
msgid "RADIO_POSITION"
|
||||
msgstr "Halte diese Position!"
|
||||
msgid "RADIO_REGROUP"
|
||||
msgstr "Gruppieren, Team!"
|
||||
msgid "RADIO_RESCUED"
|
||||
msgstr "Eine Geisel wurde gerettet."
|
||||
msgid "RADIO_ROGER"
|
||||
msgstr "Verstanden."
|
||||
msgid "RADIO_ROUNDDRAW"
|
||||
msgstr "Runde unentschieden!"
|
||||
msgid "RADIO_STICKTOG"
|
||||
msgstr "Zusammenbleiben, Team!"
|
||||
msgid "RADIO_STORMFRONT"
|
||||
msgstr "Stuerme die Front!"
|
||||
msgid "RADIO_TAKEPOINT"
|
||||
msgstr "Du nimmst das Ziel!"
|
||||
msgid "RADIO_TERWIN"
|
||||
msgstr "Terroristen gewinnen!"
|
||||
msgid "RADIO_VIP"
|
||||
msgstr "Beschuetzt den VIP, Team!"
|
|
@ -249,13 +249,13 @@ msgid "VGUI_T2_TXT3"
|
|||
msgstr "evil deeds."
|
||||
|
||||
msgid "VGUI_T2_TXT4"
|
||||
msgstr ""
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T2_TXT5"
|
||||
msgstr ""
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T2_TXT6"
|
||||
msgstr ""
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T3_TITLE"
|
||||
msgstr "Arctic Avengers"
|
||||
|
@ -270,13 +270,13 @@ msgid "VGUI_T3_TXT3"
|
|||
msgstr "embassy in 1990."
|
||||
|
||||
msgid "VGUI_T3_TXT4"
|
||||
msgstr ""
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T3_TXT5"
|
||||
msgstr ""
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T3_TXT6"
|
||||
msgstr ""
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_T4_TITLE"
|
||||
msgstr "Guerilla Warfare"
|
||||
|
@ -336,10 +336,10 @@ msgid "VGUI_CT2_TXT4"
|
|||
msgstr "games in Munich, Germany."
|
||||
|
||||
msgid "VGUI_CT2_TXT5"
|
||||
msgstr ""
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_CT2_TXT6"
|
||||
msgstr ""
|
||||
msgstr " "
|
||||
|
||||
msgid "VGUI_CT3_TITLE"
|
||||
msgstr "UK SAS"
|
||||
|
|
BIN
freecs/gfx/conchars_12.tga
Executable file
BIN
freecs/gfx/conchars_12.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/conchars_16.tga
Executable file
BIN
freecs/gfx/conchars_16.tga
Executable file
Binary file not shown.
After Width: | Height: | Size: 256 KiB |
BIN
freecs/menu.dat
BIN
freecs/menu.dat
Binary file not shown.
36
freecs/menu.dat.de.po
Executable file
36
freecs/menu.dat.de.po
Executable file
|
@ -0,0 +1,36 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-06-21 15:30+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
msgid "FREECS_QUITMSG"
|
||||
msgstr "Wollen sie das Spiel verlassen?"
|
||||
|
||||
msgid "MP_MAPS"
|
||||
msgstr "Karten:"
|
||||
|
||||
msgid "MP_GAME"
|
||||
msgstr "Name"
|
||||
|
||||
msgid "MP_MAP"
|
||||
msgstr "Karte"
|
||||
|
||||
msgid "MP_PLAYERS"
|
||||
msgstr "Spieler"
|
||||
|
||||
msgid "MP_PING"
|
||||
msgstr "Ping"
|
BIN
freecs/progs.dat
BIN
freecs/progs.dat
Binary file not shown.
Loading…
Reference in a new issue