diff --git a/Source/FreeCS-CE.prj b/Source/FreeCS-CE.prj
index 7acd6442..32523f1e 100644
--- a/Source/FreeCS-CE.prj
+++ b/Source/FreeCS-CE.prj
@@ -61,7 +61,7 @@
-
+
@@ -83,7 +83,6 @@
-
diff --git a/Source/Menu/MenuMultiplayer.c b/Source/Menu/MenuMultiplayer.c
index a3533eaa..554be45f 100755
--- a/Source/Menu/MenuMultiplayer.c
+++ b/Source/Menu/MenuMultiplayer.c
@@ -189,6 +189,8 @@ Server creation menu screen
void Menu_Multiplayer_Create( void ) {
static int iSelectedMap;
static int iScrollMap;
+ static int iFirst = 1;
+ static string strHostname;
static void Create_ListMap( vector vPosition, int iIndex ) {
float fAlpha = 0.8;
@@ -216,6 +218,13 @@ void Menu_Multiplayer_Create( void ) {
iMenu = MENU_MULTIPLAYER_OPTIONS;
}
static void Create_ButtonOK( void ) {
+ // Apply the configurations
+ if ( strHostname != __NULL__ ) {
+ localcmd( sprintf( "hostname %s\n", strHostname ) );
+ } else {
+ strHostname = cvar_string( "hostname" );
+ }
+
// Start server
localcmd( sprintf( "map %s\n", sMapList[ iSelectedMap ] ) );
}
@@ -223,10 +232,20 @@ void Menu_Multiplayer_Create( void ) {
iMenu = MENU_MULTIPLAYER;
}
+ if ( iFirst == 1 ) {
+ strHostname = cvar_string( "hostname" );
+ iFirst = 0;
+ }
+
Object_Button( '32 148', BTN_ADVOPTIONS, Create_ButtonAdvanced, fButtonAlpha[0] );
Object_Button( '32 180', BTN_OK, Create_ButtonOK, fButtonAlpha[1] );
Object_Button( '32 212', BTN_CANCEL, Create_ButtonCancel, fButtonAlpha[2] );
+ // Options
+ Object_Label( '196 148', _("SERVER_NAME"), '8 8' );
+ Object_Textfield( '196 160', strHostname, 20 );
+
+ // Map list
Object_Label( '384 148', _("MP_MAPS"), '8 8' );
Object_Frame( '384 164', '190 288' );
Object_Scrollbar( '576 164', 288, iScrollMap );
diff --git a/Source/Shared/Weapons.c b/Source/Shared/Weapons.c
index 5b87a99e..dd160234 100755
--- a/Source/Shared/Weapons.c
+++ b/Source/Shared/Weapons.c
@@ -287,6 +287,10 @@ float Weapon_SlotEmpty( int fSlot ) {
if ( self.fSlotSecondary == 0 ) {
return TRUE;
}
+ } else if ( fSlot == SLOT_GRENADE ) {
+ if ( self.fSlotGrenade == 0 ) {
+ return TRUE;
+ }
}
return FALSE;
@@ -402,9 +406,14 @@ void Weapon_DropWeapon( int iSlot ) {
return;
}
+ // No bomb for the CTs
+ if ( ( self.weapon == WEAPON_C4BOMB ) && ( other.team == TEAM_CT ) ) {
+ return;
+ }
+
entity eOld = self;
self = other;
-
+
if ( Weapon_SlotEmpty( Weapon_GetSlot( eOld.weapon ) ) ) {
Weapon_AddItem( eOld.weapon );
Weapon_Draw( eOld.weapon );
diff --git a/freecs/menu.dat b/freecs/menu.dat
index ee8ec31b..b4674ff8 100755
Binary files a/freecs/menu.dat and b/freecs/menu.dat differ
diff --git a/freecs/menu.dat.de.po b/freecs/menu.dat.de.po
index 5c79f6a2..cc01bc68 100755
--- a/freecs/menu.dat.de.po
+++ b/freecs/menu.dat.de.po
@@ -48,4 +48,7 @@ msgid "PLAYER_GUICOLOR"
msgstr "UI Farbe:"
msgid "PLAYER_HUDCOLOR"
-msgstr "Heads-Up-Display Farbe:"
\ No newline at end of file
+msgstr "Heads-Up-Display Farbe:"
+
+msgid "SERVER_NAME"
+msgstr "Servername:"
\ No newline at end of file
diff --git a/freecs/menu.dat.en.po b/freecs/menu.dat.en.po
index f6719477..c5d732e1 100755
--- a/freecs/menu.dat.en.po
+++ b/freecs/menu.dat.en.po
@@ -54,4 +54,7 @@ msgid "PLAYER_GUICOLOR"
msgstr "UI Color:"
msgid "PLAYER_HUDCOLOR"
-msgstr "Heads-Up-Display Color:"
\ No newline at end of file
+msgstr "Heads-Up-Display Color:"
+
+msgid "SERVER_NAME"
+msgstr "Hostname:"
\ No newline at end of file
diff --git a/freecs/progs.dat b/freecs/progs.dat
index 54a8edf5..ea8d1f0b 100644
Binary files a/freecs/progs.dat and b/freecs/progs.dat differ