Translations now show, menu uses btn_main graphics and header files. The freecs dir will contain TGA copies of them until BMP support gets enabled.
This commit is contained in:
parent
5b0cc923a0
commit
ac3a42e49d
49 changed files with 861 additions and 157 deletions
|
@ -62,6 +62,7 @@
|
|||
<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" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Init.c" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Input.c" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\MenuMain.c" />
|
||||
|
@ -111,9 +112,18 @@
|
|||
</project>
|
||||
|
||||
<workspace version="Crimson Editor 3.60">
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\MenuMain.c" linenum="51" placement="0:1:-1:-1:-4:-23:110:110:958:580" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\MenuMultiplayer.c" linenum="43" placement="2:3:-1:-1:-4:-23:132:132:984:606" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Defs.h" linenum="116" placement="0:1:-1:-1:-4:-23:154:154:1006:628" />
|
||||
<localfile path="C:\Cygwin\home\eukara\Projects\FreeCS\Source\Menu\Draw.c" linenum="79" placement="0:1:-1:-1:-4:-23:110:110:962:584" />
|
||||
<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" />
|
||||
</workspace>
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
|
||||
var vector vVideoSize;
|
||||
var vector vMenuOffset;
|
||||
var vector autocvar_menu_color = '1 0.59 0.19';
|
||||
var vector autocvar_menu_fgcolor = '1 0.59 0.19';
|
||||
|
||||
var vector vMousePos;
|
||||
var float fInputKeyCode;
|
||||
|
@ -45,7 +45,6 @@ enum {
|
|||
};
|
||||
|
||||
var int iMenuActive;
|
||||
|
||||
var int iScrollbarHold; // Because of this, don't put more than one scrollbar per screen :)
|
||||
|
||||
float frametime;
|
||||
|
@ -55,6 +54,9 @@ int iMenu;
|
|||
string *sMapList;
|
||||
int iMapCount;
|
||||
|
||||
var float FONT_MENU;
|
||||
|
||||
#define MENU_COUNT 5
|
||||
enum {
|
||||
MENU_MAIN,
|
||||
MENU_MULTIPLAYER,
|
||||
|
@ -63,6 +65,35 @@ enum {
|
|||
MENU_QUIT
|
||||
};
|
||||
|
||||
enum {
|
||||
HEAD_ADVANCED,
|
||||
HEAD_ADVOPTIONS,
|
||||
HEAD_AUDIO,
|
||||
HEAD_CONFIG,
|
||||
HEAD_CONTROLS,
|
||||
HEAD_CREATEGAME,
|
||||
HEAD_CREATEROOM,
|
||||
HEAD_CUSTOM,
|
||||
HEAD_CUSTOMIZE,
|
||||
HEAD_FILTER,
|
||||
HEAD_GAMEOPTS,
|
||||
HEAD_GORE,
|
||||
HEAD_INETGAMES,
|
||||
HEAD_KEYBOARD,
|
||||
HEAD_LAN,
|
||||
HEAD_LOAD,
|
||||
HEAD_MULTI,
|
||||
HEAD_README,
|
||||
HEAD_ROOM,
|
||||
HEAD_ROOMS,
|
||||
HEAD_SAVE,
|
||||
HEAD_SAVELOAD,
|
||||
HEAD_SPECGAMES,
|
||||
HEAD_VIDEO,
|
||||
HEAD_VIDMODES,
|
||||
HEAD_VIDOPTIONS
|
||||
};
|
||||
|
||||
#define MENU_BUTTONS 69
|
||||
enum {
|
||||
BTN_NEWGAME,
|
||||
|
@ -101,7 +132,8 @@ enum {
|
|||
BTN_EXIT,
|
||||
BTN_CONNECT,
|
||||
BTN_REFRESH,
|
||||
BTN_FILTER,
|
||||
BTN_FILTER1,
|
||||
BTN_FILTER2,
|
||||
BTN_CREATE,
|
||||
BTN_CREATEGAME,
|
||||
BTN_CHATROOMS,
|
||||
|
@ -136,5 +168,14 @@ enum {
|
|||
BTN_SPECTATEGAMES
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
void() vMenu;
|
||||
int iHeaderID;
|
||||
} fcsMenu;
|
||||
|
||||
void Menu_SetClipArea( vector vPosition, vector vRegion );
|
||||
void Menu_ResetClipArea( void );
|
||||
void Menu_ResetClipArea( void );
|
||||
|
||||
float Math_Lerp( float fA, float fB, float fPercent ) {
|
||||
return ( fA * ( 1 - fPercent ) ) + ( fB * fPercent );
|
||||
}
|
|
@ -18,15 +18,6 @@ along with this program; if not, write to the Free Software
|
|||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
enum {
|
||||
MAIN_NONE,
|
||||
MAIN_BROWSER,
|
||||
MAIN_HOST,
|
||||
MAIN_OPTIONS,
|
||||
MAIN_REPLAY,
|
||||
MAIN_QUIT,
|
||||
MAIN_DISCONNECT
|
||||
};
|
||||
|
||||
/*
|
||||
=================
|
||||
|
@ -68,14 +59,6 @@ void m_draw( vector vScreenSize ) {
|
|||
}
|
||||
|
||||
m_drawback();
|
||||
|
||||
if ( iMenu == MENU_MAIN ) {
|
||||
Menu_Main();
|
||||
} else if ( iMenu == MENU_MULTIPLAYER ) {
|
||||
Menu_Multiplayer();
|
||||
} else if ( iMenu == MENU_MULTIPLAYER_CREATE ) {
|
||||
Menu_Multiplayer_Create();
|
||||
} else if ( iMenu == MENU_QUIT ) {
|
||||
Menu_Quit();
|
||||
}
|
||||
fcsMain[ iMenu ].vMenu();
|
||||
Header_Draw();
|
||||
}
|
||||
|
|
90
Source/Menu/Header.c
Executable file
90
Source/Menu/Header.c
Executable file
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
FreeCS Project
|
||||
Copyright (C) 2016, 2017 Marco "eukara" Hladik
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
fcsMenu fcsMain[ MENU_COUNT ] = {
|
||||
{ Menu_Main, -1 },
|
||||
{ Menu_Multiplayer, HEAD_MULTI },
|
||||
{ Menu_Multiplayer_Create, HEAD_CREATEGAME },
|
||||
{ Menu_Multiplayer_Create, HEAD_ADVOPTIONS },
|
||||
{ Menu_Quit, -1 }
|
||||
};
|
||||
|
||||
string sHeaderImage[] = {
|
||||
"gfx/shell/head_advanced",
|
||||
"gfx/shell/head_advoptions",
|
||||
"gfx/shell/head_audio",
|
||||
"gfx/shell/head_config",
|
||||
"gfx/shell/head_controls",
|
||||
"gfx/shell/head_creategame",
|
||||
"gfx/shell/head_createroom",
|
||||
"gfx/shell/head_custom",
|
||||
"gfx/shell/head_customize",
|
||||
"gfx/shell/head_filter",
|
||||
"gfx/shell/head_gameopts",
|
||||
"gfx/shell/head_gore",
|
||||
"gfx/shell/head_inetgames",
|
||||
"gfx/shell/head_keyboard",
|
||||
"gfx/shell/head_lan",
|
||||
"gfx/shell/head_load",
|
||||
"gfx/shell/head_multi",
|
||||
"gfx/shell/head_readme",
|
||||
"gfx/shell/head_room",
|
||||
"gfx/shell/head_rooms",
|
||||
"gfx/shell/head_save",
|
||||
"gfx/shell/head_saveload",
|
||||
"gfx/shell/head_specgames",
|
||||
"gfx/shell/head_video",
|
||||
"gfx/shell/head_vidmodes",
|
||||
"gfx/shell/head_vidoptions"
|
||||
};
|
||||
|
||||
void Header_Draw( void ) {
|
||||
static int iHeader;
|
||||
static int iLastHeader = -1;
|
||||
static float fHeaderLerp = 1.0f;
|
||||
static vector vHeaderPos;
|
||||
static vector vHeaderSize;
|
||||
|
||||
iHeader = fcsMain[ iMenu ].iHeaderID;
|
||||
|
||||
if ( iHeader != iLastHeader ) {
|
||||
fHeaderLerp = 0.0f;
|
||||
iLastHeader = iHeader;
|
||||
}
|
||||
|
||||
if ( iHeader == -1 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( fHeaderLerp < 1.0f ) {
|
||||
vHeaderPos_x = Math_Lerp( 484, 18, fHeaderLerp );
|
||||
vHeaderPos_y = Math_Lerp( 454, 32, fHeaderLerp );
|
||||
|
||||
vHeaderSize_x = Math_Lerp( 156, 460, fHeaderLerp );
|
||||
vHeaderSize_y = Math_Lerp( 26, 80, fHeaderLerp );
|
||||
|
||||
vHeaderPos += vMenuOffset;
|
||||
drawpic( vHeaderPos, sHeaderImage[iHeader], vHeaderSize, '1 1 1', 0.5f, 1 );
|
||||
|
||||
fHeaderLerp += ( frametime * 3 );
|
||||
} else {
|
||||
drawpic( '18 32' + vMenuOffset, sHeaderImage[ iHeader ], '460 80', '1 1 1', 0.5f, 1 );
|
||||
}
|
||||
}
|
|
@ -38,8 +38,7 @@ void m_init( void ) {
|
|||
}
|
||||
|
||||
search_end( shMaps );
|
||||
|
||||
Menu_ResetClipArea();
|
||||
FONT_MENU = loadfont( "menu", "gfx/menuchars", "32", -1 );
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -18,7 +18,6 @@ along with this program; if not, write to the Free Software
|
|||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
// Temporary state
|
||||
var vector vMenuClickMins;
|
||||
var vector vMenuClickMaxs;
|
||||
|
||||
|
@ -52,6 +51,14 @@ int Menu_InputCheckMouse( vector vPosition, vector vRegion ) {
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
Menu_SetClipArea
|
||||
|
||||
This will set the region in which mouse activity and drawing
|
||||
of objects will happen. Use it to clip text and mouse activity.
|
||||
=================
|
||||
*/
|
||||
void Menu_SetClipArea( vector vPosition, vector vRegion ) {
|
||||
vPosition += vMenuOffset;
|
||||
vMenuClickMins = vPosition;
|
||||
|
@ -65,6 +72,13 @@ void Menu_SetClipArea( vector vPosition, vector vRegion ) {
|
|||
drawsetcliparea( vPosition_x, vPosition_y, vRegion_x, vRegion_y );
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
Menu_ResetClipArea
|
||||
|
||||
Resets the clip area that was set via Menu_SetClipArea
|
||||
=================
|
||||
*/
|
||||
void Menu_ResetClipArea( void ) {
|
||||
vMenuClickMins = vMenuOffset;
|
||||
vMenuClickMaxs = vMenuOffset + '640 480';
|
||||
|
|
|
@ -18,6 +18,13 @@ along with this program; if not, write to the Free Software
|
|||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/*
|
||||
=================
|
||||
Menu_Main
|
||||
|
||||
The first, main screen
|
||||
=================
|
||||
*/
|
||||
void Menu_Main( void ) {
|
||||
static void Main_ButtonConsole( void ) {
|
||||
localcmd( "toggleconsole\n" );
|
||||
|
@ -40,6 +47,13 @@ void Menu_Main( void ) {
|
|||
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
Menu_Quit
|
||||
|
||||
The quit screen
|
||||
=================
|
||||
*/
|
||||
void Menu_Quit( void ) {
|
||||
static void Quit_Cancel( void ) {
|
||||
iMenu = MENU_MAIN;
|
||||
|
@ -49,8 +63,8 @@ void Menu_Quit( void ) {
|
|||
}
|
||||
|
||||
Object_Frame( '192 192', '256 96' );
|
||||
Object_Label( '200 216', "FREECS_QUITMSG", '8 8' );
|
||||
Object_Label( '200 216', _("FREECS_QUITMSG"), '8 8' );
|
||||
|
||||
Object_Button( '200 248', BTN_QUIT, Quit_Exit, fButtonAlpha[0] );
|
||||
Object_Button_Right( '440 248', BTN_CANCEL, Quit_Cancel, fButtonAlpha[1] );
|
||||
Object_Button( '208 248', BTN_QUIT, Quit_Exit, fButtonAlpha[0] );
|
||||
Object_Button( '364 248', BTN_CANCEL, Quit_Cancel, fButtonAlpha[1] );
|
||||
}
|
|
@ -29,18 +29,34 @@ float fldTimelimit;
|
|||
float fldFraglimit;
|
||||
float fServerClickTime;
|
||||
|
||||
/*
|
||||
=================
|
||||
Menu_Multiplayer_Connect
|
||||
|
||||
Connect to a specific ServerID from the hostcache
|
||||
=================
|
||||
*/
|
||||
void Menu_Multiplayer_Connect( int iServerID ) {
|
||||
// Filter dead entries
|
||||
if ( gethostcachenumber( fldMaxplayers, iServerID ) <= 0 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Connect as long as a real server is actually selected
|
||||
if ( iServerID >= 0 ) {
|
||||
localcmd( sprintf( "connect %s\n", gethostcachestring( fldAddress, iServerID ) ) );
|
||||
m_hide();
|
||||
}
|
||||
}
|
||||
|
||||
int Menu_Multiplayer_Find_Item( vector vPosition, int i, __inout int iSelected ) {
|
||||
/*
|
||||
=================
|
||||
Menu_Multiplayer_Find_Item
|
||||
|
||||
Draw a single server item from the hostcache
|
||||
=================
|
||||
*/
|
||||
void Menu_Multiplayer_Find_Item( vector vPosition, int i, __inout int iSelected ) {
|
||||
float fItemAlpha = 1.0f;
|
||||
|
||||
vPosition += vMenuOffset;
|
||||
|
@ -65,10 +81,6 @@ int Menu_Multiplayer_Find_Item( vector vPosition, int i, __inout int iSelected )
|
|||
fItemAlpha = 0.8;
|
||||
}
|
||||
|
||||
if ( gethostcachenumber( fldPing, i ) == -1 ) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if ( iSelected == i ) {
|
||||
drawfill( [ vPosition_x, vPosition_y - 1 ], [ 397, 10 ], '1 1 1', 0.5, 2 );
|
||||
drawstring( [vPosition_x + 8, vPosition_y], sprintf( "%.25s", gethostcachestring( fldName, i ) ), '8 8 0', '1 1 1', 1.0f, FALSE );
|
||||
|
@ -81,10 +93,15 @@ int Menu_Multiplayer_Find_Item( vector vPosition, int i, __inout int iSelected )
|
|||
drawstring( [vPosition_x + 298, vPosition_y], sprintf( "%d/%d", gethostcachenumber( fldPlayers, i ), gethostcachenumber( fldMaxplayers, i ) ), '8 8 0', '1 1 1', fItemAlpha, FALSE );
|
||||
drawstring( [vPosition_x + 362, vPosition_y], sprintf( "%.3s", ftos( gethostcachenumber( fldPing, i ) ) ), '8 8 0', '1 1 1', fItemAlpha, FALSE );
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
Menu_Multiplayer
|
||||
|
||||
First mulitplayer screen with the server browser
|
||||
=================
|
||||
*/
|
||||
void Menu_Multiplayer( void ) {
|
||||
static int iSelectedServer = -1;
|
||||
static int iScrollServer;
|
||||
|
@ -135,24 +152,29 @@ void Menu_Multiplayer( void ) {
|
|||
Object_Frame( '196 140', '404 308' );
|
||||
Object_Scrollbar( '604 140', 308, iScrollServer );
|
||||
|
||||
Object_Label( '208 124', "Game", '8 8' );
|
||||
Object_Label( '418 124', "Map", '8 8' );
|
||||
Object_Label( '498 124', "Players", '8 8' );
|
||||
Object_Label( '562 124', "Ping", '8 8' );
|
||||
Object_Label( '208 124', _("MP_GAME"), '8 8' );
|
||||
Object_Label( '418 124', _("MP_MAP"), '8 8' );
|
||||
Object_Label( '498 124', _("MP_PLAYERS"), '8 8' );
|
||||
Object_Label( '562 124', _("MP_PING"), '8 8' );
|
||||
|
||||
Menu_SetClipArea( '196 141', '404 306' );
|
||||
vector vListPos = '200 145';
|
||||
vListPos_y -= fabs( ( ( iServersTotal - 8 ) * 10 ) * ( iScrollServer / 308 ) );
|
||||
for ( float i = 0; i < iServersTotal; i++ ) {
|
||||
if ( Menu_Multiplayer_Find_Item( vListPos, i, iSelectedServer ) == TRUE ) {
|
||||
vListPos_y += 10;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
|
||||
for ( int i = 0; i < iServersTotal; i++ ) {
|
||||
Menu_Multiplayer_Find_Item( vListPos, i, iSelectedServer );
|
||||
vListPos_y += 10;
|
||||
}
|
||||
Menu_ResetClipArea();
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
Menu_Multiplayer_Create
|
||||
|
||||
Server creation menu screen
|
||||
=================
|
||||
*/
|
||||
void Menu_Multiplayer_Create( void ) {
|
||||
static int iSelectedMap;
|
||||
static int iScrollMap;
|
||||
|
@ -161,15 +183,18 @@ void Menu_Multiplayer_Create( void ) {
|
|||
float fAlpha = 0.8;
|
||||
vPosition += vMenuOffset;
|
||||
|
||||
if ( Menu_InputCheckMouse( vPosition, '182 10' ) == TRUE ) {
|
||||
if ( fMouseClick == TRUE ) {
|
||||
iSelectedMap = iIndex;
|
||||
fMouseClick = FALSE;
|
||||
if ( iScrollbarHold == FALSE ) {
|
||||
if ( Menu_InputCheckMouse( vPosition, '182 10' ) == TRUE ) {
|
||||
if ( fMouseClick == TRUE ) {
|
||||
iSelectedMap = iIndex;
|
||||
fMouseClick = FALSE;
|
||||
}
|
||||
fAlpha = 1.0f;
|
||||
}
|
||||
fAlpha = 1.0f;
|
||||
}
|
||||
|
||||
if ( iSelectedMap == iIndex ) {
|
||||
drawfill( [ vPosition_x, vPosition_y - 1 ], [ 182, 10 ], '1 1 1', 0.5, 2 );
|
||||
drawstring( vPosition, sMapList[ iIndex ], '8 8', '1 1 1', 1.0f, 0 );
|
||||
} else {
|
||||
drawstring( vPosition, sMapList[ iIndex ], '8 8', '0.9 0.9 0.9', fAlpha, 0 );
|
||||
|
@ -191,7 +216,7 @@ void Menu_Multiplayer_Create( void ) {
|
|||
Object_Button( '32 180', BTN_OK, Create_ButtonOK, fButtonAlpha[1] );
|
||||
Object_Button( '32 212', BTN_CANCEL, Create_ButtonCancel, fButtonAlpha[2] );
|
||||
|
||||
Object_Label( '384 148', "Maps:", '8 8' );
|
||||
Object_Label( '384 148', _("MP_MAPS"), '8 8' );
|
||||
Object_Frame( '384 164', '190 288' );
|
||||
Object_Scrollbar( '576 164', 288, iScrollMap );
|
||||
|
||||
|
|
|
@ -19,79 +19,77 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
|
||||
string sButtonLabels[ MENU_BUTTONS ] = {
|
||||
"BTN_NEWGAME",
|
||||
"BTN_RESUMEGAME",
|
||||
"BTN_TRAINING",
|
||||
"BTN_CONFIG",
|
||||
"BTN_LOADGAME",
|
||||
"BTN_SAVELOAD",
|
||||
"BTN_README",
|
||||
"BTN_QUIT",
|
||||
"BTN_MULTIPLAYER",
|
||||
"BTN_EASY",
|
||||
"BTN_MEDIUM",
|
||||
"BTN_DIFFICULT",
|
||||
"BTN_SAVEGAME",
|
||||
"BTN_LOADGAME2",
|
||||
"BTN_CANCEL",
|
||||
"BTN_OPTIONS",
|
||||
"BTN_VIDEO",
|
||||
"BTN_AUDIO",
|
||||
"BTN_CONTROLS",
|
||||
"BTN_DONE",
|
||||
"BTN_QUICKSTART",
|
||||
"BTN_DEFAULTS",
|
||||
"BTN_OK",
|
||||
"BTN_VIDEOOPTIONS",
|
||||
"BTN_VIDEOMODES",
|
||||
"BTN_ADVCONTROLS",
|
||||
"BTN_ORDER",
|
||||
"BTN_DELETE",
|
||||
"BTN_INTERNET",
|
||||
"BTN_IRCCHAT",
|
||||
"BTN_LAN",
|
||||
"BTN_CUSTOMIZE",
|
||||
"BTN_SKIP",
|
||||
"BTN_EXIT",
|
||||
"BTN_CONNECT",
|
||||
"BTN_REFRESH",
|
||||
"BTN_FILTER",
|
||||
"BTN_CREATE",
|
||||
"BTN_CREATEGAME",
|
||||
"BTN_CHATROOMS",
|
||||
"BTN_LISTROOMS",
|
||||
"BTN_SEARCH",
|
||||
"BTN_SERVERS",
|
||||
"BTN_JOIN",
|
||||
"BTN_FIND",
|
||||
"BTN_CREATEROOM",
|
||||
"BTN_JOINGAME",
|
||||
"BTN_SEARCHGAMES",
|
||||
"BTN_FINDGAME",
|
||||
"BTN_STARTGAME",
|
||||
"BTN_GAMEINFO",
|
||||
"BTN_UPDATE",
|
||||
"BTN_ADDSERVER",
|
||||
"BTN_DISCONNECT",
|
||||
"BTN_CONSOLE",
|
||||
"BTN_CONTENTCONTROL",
|
||||
"BTN_UPDATE",
|
||||
"BTN_VISITWON",
|
||||
"BTN_PREVIEWS",
|
||||
"BTN_ADVOPTIONS",
|
||||
"BTN_3DINFO",
|
||||
"BTN_CUSTOMGAME",
|
||||
"BTN_ACTIVATE",
|
||||
"BTN_INSTALL",
|
||||
"BTN_VISITWEB",
|
||||
"BTN_REFRESHLIST",
|
||||
"BTN_DEACTIVATE",
|
||||
"BTN_SPECTATEGAME",
|
||||
"BTN_SPECTATEGAMES"
|
||||
_("BTN_NEWGAME"),
|
||||
_("BTN_RESUMEGAME"),
|
||||
_("BTN_TRAINING"),
|
||||
_("BTN_CONFIG"),
|
||||
_("BTN_LOADGAME"),
|
||||
_("BTN_SAVELOAD"),
|
||||
_("BTN_README"),
|
||||
_("BTN_QUIT"),
|
||||
_("BTN_MULTIPLAYER"),
|
||||
_("BTN_EASY"),
|
||||
_("BTN_MEDIUM"),
|
||||
_("BTN_DIFFICULT"),
|
||||
_("BTN_SAVEGAME"),
|
||||
_("BTN_LOADGAME2"),
|
||||
_("BTN_CANCEL"),
|
||||
_("BTN_OPTIONS"),
|
||||
_("BTN_VIDEO"),
|
||||
_("BTN_AUDIO"),
|
||||
_("BTN_CONTROLS"),
|
||||
_("BTN_DONE"),
|
||||
_("BTN_QUICKSTART"),
|
||||
_("BTN_DEFAULTS"),
|
||||
_("BTN_OK"),
|
||||
_("BTN_VIDEOOPTIONS"),
|
||||
_("BTN_VIDEOMODES"),
|
||||
_("BTN_ADVCONTROLS"),
|
||||
_("BTN_ORDER"),
|
||||
_("BTN_DELETE"),
|
||||
_("BTN_INTERNET"),
|
||||
_("BTN_IRCCHAT"),
|
||||
_("BTN_LAN"),
|
||||
_("BTN_CUSTOMIZE"),
|
||||
_("BTN_SKIP"),
|
||||
_("BTN_EXIT"),
|
||||
_("BTN_CONNECT"),
|
||||
_("BTN_REFRESH"),
|
||||
_("BTN_FILTER"),
|
||||
_("BTN_CREATE"),
|
||||
_("BTN_CREATEGAME"),
|
||||
_("BTN_CHATROOMS"),
|
||||
_("BTN_LISTROOMS"),
|
||||
_("BTN_SEARCH"),
|
||||
_("BTN_SERVERS"),
|
||||
_("BTN_JOIN"),
|
||||
_("BTN_FIND"),
|
||||
_("BTN_CREATEROOM"),
|
||||
_("BTN_JOINGAME"),
|
||||
_("BTN_SEARCHGAMES"),
|
||||
_("BTN_FINDGAME"),
|
||||
_("BTN_STARTGAME"),
|
||||
_("BTN_GAMEINFO"),
|
||||
_("BTN_UPDATE"),
|
||||
_("BTN_ADDSERVER"),
|
||||
_("BTN_DISCONNECT"),
|
||||
_("BTN_CONSOLE"),
|
||||
_("BTN_CONTENTCONTROL"),
|
||||
_("BTN_UPDATE"),
|
||||
_("BTN_VISITWON"),
|
||||
_("BTN_PREVIEWS"),
|
||||
_("BTN_ADVOPTIONS"),
|
||||
_("BTN_3DINFO"),
|
||||
_("BTN_CUSTOMGAME"),
|
||||
_("BTN_ACTIVATE"),
|
||||
_("BTN_INSTALL"),
|
||||
_("BTN_VISITWEB"),
|
||||
_("BTN_REFRESHLIST"),
|
||||
_("BTN_DEACTIVATE"),
|
||||
_("BTN_SPECTATEGAME"),
|
||||
_("BTN_SPECTATEGAMES")
|
||||
};
|
||||
|
||||
#define autocvar_menu_color '1 0.59 0.19'
|
||||
|
||||
/*
|
||||
=================
|
||||
Object_Button
|
||||
|
@ -110,9 +108,7 @@ void Object_Button( vector vPosition, int iButtonID, void() vFunction, __inout f
|
|||
fAlpha = 0.0f;
|
||||
}
|
||||
|
||||
float sWidth = stringwidth( sButtonLabels[ iButtonID ], TRUE, '16 16' );
|
||||
|
||||
if ( Menu_InputCheckMouse( vPosition, [ sWidth, 16 ] ) == TRUE ) {
|
||||
if ( Menu_InputCheckMouse( vPosition, '156 26' ) == TRUE ) {
|
||||
if ( iLastButton != iButtonID ) {
|
||||
localcmd( "play ../media/launch_deny2.wav\n" );
|
||||
}
|
||||
|
@ -125,21 +121,13 @@ void Object_Button( vector vPosition, int iButtonID, void() vFunction, __inout f
|
|||
fMouseClick = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
drawstring( vPosition, sButtonLabels[ iButtonID ], '16 16', autocvar_menu_color, 1.0f, 0 );
|
||||
drawstring( vPosition, sButtonLabels[ iButtonID ], '16 16', '1 1 1', fAlpha, 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
Object_Button_Right
|
||||
|
||||
A right-aligned version of Object_Button
|
||||
=================
|
||||
*/
|
||||
void Object_Button_Right( vector vPosition, int iButtonID, void() vFunction, __inout float fAlpha ) {
|
||||
vPosition_x -= stringwidth( sButtonLabels[ iButtonID ], TRUE, '16 16' );
|
||||
Object_Button( vPosition, iButtonID, vFunction, fAlpha );
|
||||
vector vSrcPos, vSrcSize;
|
||||
vSrcPos_x = 0;
|
||||
vSrcPos_y = ( 78 * iButtonID ) / 5538;
|
||||
vSrcSize = [ 1, 26 / 5538 ];
|
||||
drawsubpic( vPosition, '156 26', "gfx/shell/btns_main", vSrcPos, vSrcSize, '1 1 1', 1.0f, 1 );
|
||||
drawsubpic( vPosition, '156 26', "gfx/shell/btns_main", vSrcPos + [ 0, 52 / 5538 ], vSrcSize, '1 1 1', fAlpha, 1 );
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -155,11 +143,11 @@ void Object_Frame( vector vPosition, vector vSize ) {
|
|||
// Draw the background
|
||||
drawfill( vPosition, vSize, '0 0 0', 1.0f );
|
||||
|
||||
drawfill( vPosition, [vSize_x, 1], autocvar_menu_color, 1.0f ); // Top
|
||||
drawfill( [vPosition_x, vPosition_y + vSize_y], [vSize_x, 1], autocvar_menu_color, 1.0f ); // Bottom
|
||||
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, [1, vSize_y], autocvar_menu_color, 1.0f ); // Left
|
||||
drawfill( [vPosition_x + vSize_x, vPosition_y], [1, vSize_y + 1], autocvar_menu_color, 1.0f ); // Right
|
||||
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
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -171,7 +159,7 @@ A label in a cvar driven color scheme
|
|||
*/
|
||||
void Object_Label( vector vPosition, string sLabel, vector vSize ) {
|
||||
vPosition += vMenuOffset;
|
||||
drawstring( vPosition, sLabel, vSize, autocvar_menu_color, 1.0f, 0 );
|
||||
drawstring( vPosition, sLabel, vSize, autocvar_menu_fgcolor, 1.0f, 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -222,6 +210,6 @@ void Object_Scrollbar( vector vPosition, int iHeight, __inout int iProgress ) {
|
|||
|
||||
iHeight += 16;
|
||||
|
||||
drawfill( [vPosition_x, vPosition_y + iProgress], [ 16, 16 ], autocvar_menu_color, 1.0f );
|
||||
drawfill( [vPosition_x, vPosition_y + iProgress], [ 16, 16 ], autocvar_menu_fgcolor, 1.0f );
|
||||
}
|
||||
|
||||
|
|
|
@ -13,5 +13,6 @@ Input.c
|
|||
Objects.c
|
||||
MenuMain.c
|
||||
MenuMultiplayer.c
|
||||
Header.c
|
||||
Draw.c
|
||||
#endlist
|
||||
|
|
|
@ -62,7 +62,12 @@ void Entities_UseTargets( void ) {
|
|||
while ( eFind ) {
|
||||
self = eFind;
|
||||
//bprint( sprintf( "Triggering %s %s\n", self.classname, self.targetname ) );
|
||||
self.vUse();
|
||||
|
||||
// Make sure we really do have a target...
|
||||
if ( self.vUse != __NULL__ ) {
|
||||
self.vUse();
|
||||
}
|
||||
|
||||
eFind = eFind.chain;
|
||||
}
|
||||
self = eOld;
|
||||
|
@ -100,6 +105,7 @@ Called
|
|||
.vector vOldOrigin;
|
||||
.vector vOldAngle;
|
||||
.void() vRespawn;
|
||||
.void() vOldUse;
|
||||
void Entities_InitRespawnable( void() vRespawnFunc ) {
|
||||
self.sOldModel = self.model;
|
||||
self.fOldSolid = self.solid;
|
||||
|
@ -107,6 +113,7 @@ void Entities_InitRespawnable( void() vRespawnFunc ) {
|
|||
self.vOldOrigin = self.origin;
|
||||
self.vOldAngle = self.angles;
|
||||
self.vRespawn = vRespawnFunc;
|
||||
self.vOldUse = self.vUse;
|
||||
self.fRespawns = TRUE;
|
||||
}
|
||||
|
||||
|
@ -116,6 +123,7 @@ void Entities_Respawn( void ) {
|
|||
self.health = self.fOldHealth;
|
||||
self.origin = self.vOldOrigin;
|
||||
self.angles = self.vOldAngle;
|
||||
self.vUse = self.vOldUse;
|
||||
Entities_RenderSetup();
|
||||
self.vRespawn();
|
||||
}
|
||||
|
|
|
@ -178,7 +178,7 @@ enumflags {
|
|||
// TODO: Finish cosmetic effects
|
||||
void env_explosion( void ) {
|
||||
static void env_explosion_use( void ) {
|
||||
te_explosion( self.origin );
|
||||
Effect_CreateExplosion( self.origin );
|
||||
|
||||
if ( !( self.spawnflags & ENVEXPLO_NODAMAGE ) ) {
|
||||
Damage_Radius( self.origin, self, 500, self.iMagnitude );
|
||||
|
|
|
@ -72,6 +72,13 @@ func_breakable_die
|
|||
=================
|
||||
*/
|
||||
void func_breakable_die( int iNull ) {
|
||||
// Make sure this is dead
|
||||
if ( self.vUse == __NULL__ ) {
|
||||
return;
|
||||
}
|
||||
|
||||
self.health = 0;
|
||||
self.vUse = __NULL__;
|
||||
Effect_BreakModel( self.absmin, self.absmax, self.velocity, self.material );
|
||||
Entities_UseTargets();
|
||||
Entities_Remove();
|
||||
|
|
|
@ -206,7 +206,8 @@ void FuncDoorRotate_Blocked( void ) {
|
|||
=================
|
||||
BrushRotate
|
||||
|
||||
Brush entity that rotates into a specific direction. Has the ability to trigger an object once touched, used or triggered otherwise.
|
||||
Brush entity that rotates into a specific direction.
|
||||
Has the ability to trigger an object once touched, used or triggered otherwise.
|
||||
=================
|
||||
*/
|
||||
void func_door_rotating( void ) {
|
||||
|
|
|
@ -40,8 +40,10 @@ void func_pushable( void ) {
|
|||
}
|
||||
static void func_pushable_use( void ) {
|
||||
if ( eActivator.classname != "player" ) {
|
||||
func_breakable_use();
|
||||
return;
|
||||
if ( self.health > 0 ) {
|
||||
func_breakable_use();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
self.movedir = eActivator.movement;
|
||||
|
|
|
@ -29,7 +29,7 @@ void Effect_CreateExplosion( vector vPos ) {
|
|||
msg_entity = self;
|
||||
multicast( vPos, MULTICAST_PVS );
|
||||
#else
|
||||
print( "Explosion\n" );
|
||||
|
||||
static void Effect_CreateExplosion_Animate( void ) {
|
||||
if ( self.frame >= self.maxframe ) {
|
||||
remove( self );
|
||||
|
@ -42,12 +42,15 @@ void Effect_CreateExplosion( vector vPos ) {
|
|||
entity eExplosion = spawn();
|
||||
setorigin( eExplosion, vPos );
|
||||
setmodel( eExplosion, "sprites/fexplo.spr" );
|
||||
sound( eExplosion, CHAN_WEAPON, sprintf( "weapons/explode%d.wav", floor( random() * 3 ) + 3 ), 1, ATTN_NORM );
|
||||
|
||||
eExplosion.think = Effect_CreateExplosion_Animate;
|
||||
eExplosion.nextthink = time + 0.05f;
|
||||
eExplosion.effects = EF_ADDITIVE;
|
||||
eExplosion.drawmask = MASK_ENGINE;
|
||||
eExplosion.maxframe = modelframecount( eExplosion.modelindex );
|
||||
|
||||
te_explosion( vPos );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -97,7 +97,6 @@ void WeaponHEGRENADE_Throw( void ) {
|
|||
static void WeaponHEGRENADE_Explode( void ) {
|
||||
Effect_CreateExplosion( self.origin );
|
||||
Damage_Radius( self.origin, self, 100, 512 );
|
||||
sound( self, CHAN_WEAPON, sprintf( "weapons/explode%d.wav", floor( random() * 3 ) + 3 ), 1, ATTN_NORM );
|
||||
remove( self );
|
||||
}
|
||||
static void Weapon_HEGRENADE_Touch( void ) {
|
||||
|
|
Binary file not shown.
483
freecs/csprogs.dat.en.po
Executable file
483
freecs/csprogs.dat.en.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 "Message Of The Day"
|
||||
|
||||
msgid "VGUI_TITLE_TEAMS"
|
||||
msgstr "Team Selection"
|
||||
|
||||
msgid "VGUI_TITLE_TSEL"
|
||||
msgstr "Terrorist Selection"
|
||||
|
||||
msgid "VGUI_TITLE_CTSEL"
|
||||
msgstr "Counter-Terrorist Selection"
|
||||
|
||||
msgid "VGUI_TITLE_BUY"
|
||||
msgstr "Buy Menu"
|
||||
|
||||
msgid "VGUI_TITLE_HANDGUN"
|
||||
msgstr "Handguns"
|
||||
|
||||
msgid "VGUI_TITLE_SHOTGUN"
|
||||
msgstr "Shotgun"
|
||||
|
||||
msgid "VGUI_TITLE_SMG"
|
||||
msgstr "Sub-Machine-Guns"
|
||||
|
||||
msgid "VGUI_TITLE_RIFLE"
|
||||
msgstr "Rifles"
|
||||
|
||||
msgid "VGUI_TITLE_MG"
|
||||
msgstr "Machineguns"
|
||||
|
||||
msgid "VGUI_TITLE_EQUIPMENT"
|
||||
msgstr "Equipment"
|
||||
|
||||
msgid "WEAPON_NONE"
|
||||
msgstr "None"
|
||||
|
||||
msgid "WEAPON_KNIFE"
|
||||
msgstr "Knife"
|
||||
|
||||
msgid "WEAPON_USP"
|
||||
msgstr "H&K USP .45 Tactical"
|
||||
|
||||
msgid "WEAPON_GLOCK18"
|
||||
msgstr "Glock18 Select Fire"
|
||||
|
||||
msgid "WEAPON_DEAGLE"
|
||||
msgstr "Desert Eagle .50AE"
|
||||
|
||||
msgid "WEAPON_P228"
|
||||
msgstr "SIG P228"
|
||||
|
||||
msgid "WEAPON_ELITES"
|
||||
msgstr "Dual 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 Tactical Machine Pistol"
|
||||
|
||||
msgid "WEAPON_AK47"
|
||||
msgstr "AK-47"
|
||||
|
||||
msgid "WEAPON_SG552"
|
||||
msgstr "Sig SG-552 Commando"
|
||||
|
||||
msgid "WEAPON_M4A1"
|
||||
msgstr "Colt M4A1 Carbine"
|
||||
|
||||
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 Sniper Rifle"
|
||||
|
||||
msgid "WEAPON_SG550"
|
||||
msgstr "Sig SG-550 Sniper"
|
||||
|
||||
msgid "WEAPON_PARA"
|
||||
msgstr "FN M249 Para"
|
||||
|
||||
msgid "EQUIPMENT_KEVLAR"
|
||||
msgstr "Kevlar"
|
||||
|
||||
msgid "EQUIPMENT_HELMET"
|
||||
msgstr "Kevlar & Helmet"
|
||||
|
||||
msgid "WEAPON_FLASHBANG"
|
||||
msgstr "Flashbang"
|
||||
|
||||
msgid "WEAPON_HEGRENADE"
|
||||
msgstr "HE Grenade"
|
||||
|
||||
msgid "WEAPON_SMOKEGRENADE"
|
||||
msgstr "Smoke Grenade"
|
||||
|
||||
msgid "EQUIPMENT_DEFUSALKIT"
|
||||
msgstr "Defusal Kit"
|
||||
|
||||
msgid "EQUIPMENT_NIGHTVISION"
|
||||
msgstr "NightVision"
|
||||
|
||||
msgid "VGUI_TITLE_AMMO1"
|
||||
msgstr "Primary Ammo"
|
||||
|
||||
msgid "VGUI_TITLE_AMMO2"
|
||||
msgstr "Secondary Ammo"
|
||||
|
||||
msgid "VGUI_EXIT"
|
||||
msgstr "Exit"
|
||||
|
||||
msgid "BUY_PRICETAG"
|
||||
msgstr "Price: %i"
|
||||
|
||||
msgid "BUY_CALIBER"
|
||||
msgstr "Caliber: %i"
|
||||
|
||||
msgid "BUY_RPM"
|
||||
msgstr "Rounds Per Minute: %d"
|
||||
|
||||
msgid "VGUI_BACK"
|
||||
msgstr "Back"
|
||||
|
||||
msgid "VGUI_OK"
|
||||
msgstr "OK"
|
||||
|
||||
msgid "RADIO_TITLE1"
|
||||
msgstr "Radio Commands"
|
||||
|
||||
msgid "RADIO_TITLE2"
|
||||
msgstr "Group Radio Commands"
|
||||
|
||||
msgid "RADIO_TITLE3"
|
||||
msgstr "Radio Responses"
|
||||
|
||||
msgid "SCORE_TITLE_SPECTATOR"
|
||||
msgstr "Spectator"
|
||||
|
||||
msgid "SCORE_TITLE_T"
|
||||
msgstr "Terrorists"
|
||||
|
||||
msgid "SCORE_TITLE_CT"
|
||||
msgstr "CT Forces"
|
||||
|
||||
msgid "SCORE_TITLE_VIP"
|
||||
msgstr "VIP"
|
||||
|
||||
msgid "SCORE_DEAD"
|
||||
msgstr "%s [DEAD]"
|
||||
|
||||
msgid "SCORE_VIP"
|
||||
msgstr "%s [VIP]"
|
||||
|
||||
msgid "SCORE_PLAYERS"
|
||||
msgstr "(%i players)"
|
||||
|
||||
msgid "SCORE_SCORE"
|
||||
msgstr "SCORE"
|
||||
|
||||
msgid "SCORE_DEATHS"
|
||||
msgstr "DEATHS"
|
||||
|
||||
msgid "SCORE_LATENCY"
|
||||
msgstr "LATENCY"
|
||||
|
||||
msgid "SCORE_VOICE"
|
||||
msgstr "VOICE"
|
||||
|
||||
msgid "VGUI_SPEC_TCOUNTER"
|
||||
msgstr "Terrorists: %d"
|
||||
|
||||
msgid "VGUI_SPEC_CTCOUNTER"
|
||||
msgstr "CT Forces: %d"
|
||||
|
||||
msgid "VGUI_T1_TITLE"
|
||||
msgstr "Phoenix Connexion"
|
||||
|
||||
msgid "VGUI_T1_TXT1"
|
||||
msgstr "The Phoenix Faction was formed shortly"
|
||||
|
||||
msgid "VGUI_T1_TXT2"
|
||||
msgstr "after the breakup of the USSR. Having"
|
||||
|
||||
msgid "VGUI_T1_TXT3"
|
||||
msgstr "established a reputation for killing"
|
||||
|
||||
msgid "VGUI_T1_TXT4"
|
||||
msgstr "anyone that gets in their way."
|
||||
|
||||
msgid "VGUI_T1_TXT5"
|
||||
msgstr "The Phoenix Faction is one of the most"
|
||||
|
||||
msgid "VGUI_T1_TXT6"
|
||||
msgstr "feared terrorist groups in Eastern Europe."
|
||||
|
||||
msgid "VGUI_T2_TITLE"
|
||||
msgstr "L337 Krew"
|
||||
|
||||
msgid "VGUI_T2_TXT1"
|
||||
msgstr "Middle Eastern fundamentalist group bent"
|
||||
|
||||
msgid "VGUI_T2_TXT2"
|
||||
msgstr "on world domination and various other"
|
||||
|
||||
msgid "VGUI_T2_TXT3"
|
||||
msgstr "evil deeds."
|
||||
|
||||
msgid "VGUI_T2_TXT4"
|
||||
msgstr ""
|
||||
|
||||
msgid "VGUI_T2_TXT5"
|
||||
msgstr ""
|
||||
|
||||
msgid "VGUI_T2_TXT6"
|
||||
msgstr ""
|
||||
|
||||
msgid "VGUI_T3_TITLE"
|
||||
msgstr "Arctic Avengers"
|
||||
|
||||
msgid "VGUI_T3_TXT1"
|
||||
msgstr "Swedish terrorist faction founded in 1977."
|
||||
|
||||
msgid "VGUI_T3_TXT2"
|
||||
msgstr "Famous for their bombing of the Canadian"
|
||||
|
||||
msgid "VGUI_T3_TXT3"
|
||||
msgstr "embassy in 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 "A terrorist faction founded in the"
|
||||
|
||||
msgid "VGUI_T4_TXT2"
|
||||
msgstr "Middle East, Guerilla Warfare, has a"
|
||||
|
||||
msgid "VGUI_T4_TXT3"
|
||||
msgstr "reputation for ruthlessness. Their disgust"
|
||||
|
||||
msgid "VGUI_T4_TXT4"
|
||||
msgstr "for the American lifestyle was demonstrated"
|
||||
|
||||
msgid "VGUI_T4_TXT5"
|
||||
msgstr "in their 1982 bombing of a school bus full"
|
||||
|
||||
msgid "VGUI_T4_TXT6"
|
||||
msgstr "of Rock and Roll musicians."
|
||||
|
||||
msgid "VGUI_CT1_TITLE"
|
||||
msgstr "Seal Team 6"
|
||||
|
||||
msgid "VGUI_CT1_TXT1"
|
||||
msgstr "Seal Team 6 (to be known later as DEVGRU)"
|
||||
|
||||
msgid "VGUI_CT1_TXT2"
|
||||
msgstr "was founded in 1980 under the command of"
|
||||
|
||||
msgid "VGUI_CT1_TXT3"
|
||||
msgstr "Lieutenant-Commander Richard Marcincko."
|
||||
|
||||
msgid "VGUI_CT1_TXT4"
|
||||
msgstr "ST-6 was placed on permanent alert to"
|
||||
|
||||
msgid "VGUI_CT1_TXT5"
|
||||
msgstr "respond to terrorist attacks against"
|
||||
|
||||
msgid "VGUI_CT1_TXT6"
|
||||
msgstr "American targets worldwide."
|
||||
|
||||
msgid "VGUI_CT2_TITLE"
|
||||
msgstr "German GSG9"
|
||||
|
||||
msgid "VGUI_CT2_TXT1"
|
||||
msgstr "GSG-9 was born out of the tragic events"
|
||||
|
||||
msgid "VGUI_CT2_TXT2"
|
||||
msgstr "that led to the death of several"
|
||||
|
||||
msgid "VGUI_CT2_TXT3"
|
||||
msgstr "Israeli athletes during the 1972 Olympic"
|
||||
|
||||
msgid "VGUI_CT2_TXT4"
|
||||
msgstr "games in Munich, Germany."
|
||||
|
||||
msgid "VGUI_CT2_TXT5"
|
||||
msgstr ""
|
||||
|
||||
msgid "VGUI_CT2_TXT6"
|
||||
msgstr ""
|
||||
|
||||
msgid "VGUI_CT3_TITLE"
|
||||
msgstr "UK SAS"
|
||||
|
||||
msgid "VGUI_CT3_TXT1"
|
||||
msgstr "The world-renowned British SAS was founded"
|
||||
|
||||
msgid "VGUI_CT3_TXT2"
|
||||
msgstr "in the Second World War by a man named"
|
||||
|
||||
msgid "VGUI_CT3_TXT3"
|
||||
msgstr "David Stirling. Their role during WW2"
|
||||
|
||||
msgid "VGUI_CT3_TXT4"
|
||||
msgstr "involved gathering intelligence behind enemy"
|
||||
|
||||
msgid "VGUI_CT3_TXT5"
|
||||
msgstr "lines and executing sabotage strikes and"
|
||||
|
||||
msgid "VGUI_CT3_TXT6"
|
||||
msgstr "assassinations against key targets."
|
||||
|
||||
msgid "VGUI_CT4_TITLE"
|
||||
msgstr "French GIGN"
|
||||
|
||||
msgid "VGUI_CT4_TXT1"
|
||||
msgstr "France's elite Counter-Terrorist unit was"
|
||||
|
||||
msgid "VGUI_CT4_TXT2"
|
||||
msgstr "designed to be a fast response force"
|
||||
|
||||
msgid "VGUI_CT4_TXT3"
|
||||
msgstr "that could decisively react to any large-"
|
||||
|
||||
msgid "VGUI_CT4_TXT4"
|
||||
msgstr "scale terrorist incident. Consisting of no"
|
||||
|
||||
msgid "VGUI_CT4_TXT5"
|
||||
msgstr "more than 100 men, the GIGN has earned its"
|
||||
|
||||
msgid "VGUI_CT4_TXT6"
|
||||
msgstr "reputation through a history of successful ops."
|
||||
|
||||
msgid "VGUI_TEAM_T"
|
||||
msgstr "Terrorists"
|
||||
|
||||
msgid "VGUI_TEAM_CT"
|
||||
msgstr "Counter-Terrorists"
|
||||
|
||||
msgid "VGUI_TEAM_AUTO"
|
||||
msgstr "Auto-Assign"
|
||||
|
||||
msgid "VGUI_TEAM_SPEC"
|
||||
msgstr "Spectate"
|
||||
|
||||
msgid "RADIO_BLOW"
|
||||
msgstr "Get out of there, it's gonna blow!"
|
||||
msgid "RADIO_BOMBDEF"
|
||||
msgstr "The bomb has been defused."
|
||||
msgid "RADIO_BOMBPL"
|
||||
msgstr "The bomb has been planted."
|
||||
msgid "RADIO_CIRCLEBACK"
|
||||
msgstr "Circle around back!"
|
||||
msgid "RADIO_CLEAR"
|
||||
msgstr "Sector clear."
|
||||
msgid "RADIO_COM_FOLLOWCOM"
|
||||
msgstr "Okay team, follow my command!"
|
||||
msgid "RADIO_COM_GETINPOS"
|
||||
msgstr "Get in position and wait for my go!"
|
||||
msgid "RADIO_COM_GO"
|
||||
msgstr "Go, go, go!"
|
||||
msgid "RADIO_COM_REPORTIN"
|
||||
msgstr "Report in, team!"
|
||||
msgid "RADIO_CT_AFFIRM"
|
||||
msgstr "Affirmative."
|
||||
msgid "RADIO_CT_BACKUP"
|
||||
msgstr "Need backup!"
|
||||
msgid "RADIO_CT_COVERME"
|
||||
msgstr "Cover me!"
|
||||
msgid "RADIO_CT_ENEMYS"
|
||||
msgstr "Enemy spotted."
|
||||
msgid "RADIO_CT_FIREINHOLE"
|
||||
msgstr "Fire in the hole!"
|
||||
msgid "RADIO_CT_IMHIT"
|
||||
msgstr "I'm hit!"
|
||||
msgid "RADIO_CT_INPOS"
|
||||
msgstr "I'm in position."
|
||||
msgid "RADIO_CT_POINT"
|
||||
msgstr "I'll take the point."
|
||||
msgid "RADIO_CT_REPORTINGIN"
|
||||
msgstr "Reporting in."
|
||||
msgid "RADIO_CTWIN"
|
||||
msgstr "Counter-Terrorists win!"
|
||||
msgid "RADIO_ENEMYDOWN"
|
||||
msgstr "Enemy down!"
|
||||
msgid "RADIO_FALLBACK"
|
||||
msgstr "Team, fall back!"
|
||||
msgid "RADIO_FIREASSIS"
|
||||
msgstr "Taking fire, need assistance!"
|
||||
msgid "RADIO_FOLLOWME"
|
||||
msgstr "Follow me!"
|
||||
msgid "RADIO_GETOUT"
|
||||
msgstr "Team, let's get out of here!"
|
||||
msgid "RADIO_GO"
|
||||
msgstr "Okay, let's go."
|
||||
msgid "RADIO_HITASSIST"
|
||||
msgstr "I'm hit! Need assistance!"
|
||||
msgid "RADIO_HOSDOWN"
|
||||
msgstr "Hostage down."
|
||||
msgid "RADIO_LETSGO"
|
||||
msgstr "Okay, let's go."
|
||||
msgid "RADIO_LOCKNLOAD"
|
||||
msgstr "Lock 'n load."
|
||||
msgid "RADIO_MATEDOWN"
|
||||
msgstr "Teammate down."
|
||||
msgid "RADIO_MEETME"
|
||||
msgstr "Meet at the rendezvous point."
|
||||
msgid "RADIO_MOVEOUT"
|
||||
msgstr "Alright, let's move out."
|
||||
msgid "RADIO_NEGATIVE"
|
||||
msgstr "Negative."
|
||||
msgid "RADIO_POSITION"
|
||||
msgstr "Hold this position!"
|
||||
msgid "RADIO_REGROUP"
|
||||
msgstr "Regroup, team!"
|
||||
msgid "RADIO_RESCUED"
|
||||
msgstr "A hostage has been rescued."
|
||||
msgid "RADIO_ROGER"
|
||||
msgstr "Roger that."
|
||||
msgid "RADIO_ROUNDDRAW"
|
||||
msgstr "Round draw!"
|
||||
msgid "RADIO_STICKTOG"
|
||||
msgstr "Stick together, team!"
|
||||
msgid "RADIO_STORMFRONT"
|
||||
msgstr "Storm the front!"
|
||||
msgid "RADIO_TAKEPOINT"
|
||||
msgstr "You take the point!"
|
||||
msgid "RADIO_TERWIN"
|
||||
msgstr "Terrorists win!"
|
||||
msgid "RADIO_VIP"
|
||||
msgstr "Protect the VIP, team!"
|
BIN
freecs/gfx/shell/btns_main.tga
Executable file
BIN
freecs/gfx/shell/btns_main.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_advanced.tga
Executable file
BIN
freecs/gfx/shell/head_advanced.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_advoptions.tga
Executable file
BIN
freecs/gfx/shell/head_advoptions.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_audio.tga
Executable file
BIN
freecs/gfx/shell/head_audio.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_config.tga
Executable file
BIN
freecs/gfx/shell/head_config.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_controls.tga
Executable file
BIN
freecs/gfx/shell/head_controls.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_creategame.tga
Executable file
BIN
freecs/gfx/shell/head_creategame.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_createroom.tga
Executable file
BIN
freecs/gfx/shell/head_createroom.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_custom.tga
Executable file
BIN
freecs/gfx/shell/head_custom.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_customize.tga
Executable file
BIN
freecs/gfx/shell/head_customize.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_filter.tga
Executable file
BIN
freecs/gfx/shell/head_filter.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_gameopts.tga
Executable file
BIN
freecs/gfx/shell/head_gameopts.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_gore.tga
Executable file
BIN
freecs/gfx/shell/head_gore.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_inetgames.tga
Executable file
BIN
freecs/gfx/shell/head_inetgames.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_keyboard.tga
Executable file
BIN
freecs/gfx/shell/head_keyboard.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_lan.tga
Executable file
BIN
freecs/gfx/shell/head_lan.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_load.tga
Executable file
BIN
freecs/gfx/shell/head_load.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_multi.tga
Executable file
BIN
freecs/gfx/shell/head_multi.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_readme.tga
Executable file
BIN
freecs/gfx/shell/head_readme.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_room.tga
Executable file
BIN
freecs/gfx/shell/head_room.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_rooms.tga
Executable file
BIN
freecs/gfx/shell/head_rooms.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_save.tga
Executable file
BIN
freecs/gfx/shell/head_save.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_saveload.tga
Executable file
BIN
freecs/gfx/shell/head_saveload.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_specgames.tga
Executable file
BIN
freecs/gfx/shell/head_specgames.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_video.tga
Executable file
BIN
freecs/gfx/shell/head_video.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_vidmodes.tga
Executable file
BIN
freecs/gfx/shell/head_vidmodes.tga
Executable file
Binary file not shown.
BIN
freecs/gfx/shell/head_vidoptions.tga
Executable file
BIN
freecs/gfx/shell/head_vidoptions.tga
Executable file
Binary file not shown.
BIN
freecs/menu.dat
BIN
freecs/menu.dat
Binary file not shown.
36
freecs/menu.dat.en.po
Executable file
36
freecs/menu.dat.en.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 "Are you sure you want to quit?"
|
||||
|
||||
msgid "MP_MAPS"
|
||||
msgstr "Maps:"
|
||||
|
||||
msgid "MP_GAME"
|
||||
msgstr "Game"
|
||||
|
||||
msgid "MP_MAP"
|
||||
msgstr "Map"
|
||||
|
||||
msgid "MP_PLAYERS"
|
||||
msgstr "Players"
|
||||
|
||||
msgid "MP_PING"
|
||||
msgstr "Ping"
|
BIN
freecs/progs.dat
BIN
freecs/progs.dat
Binary file not shown.
Loading…
Reference in a new issue