diff --git a/Source/Client/View.c b/Source/Client/View.c
index 38258374..d870ea50 100755
--- a/Source/Client/View.c
+++ b/Source/Client/View.c
@@ -126,7 +126,6 @@ View_DrawViewModel
====================
*/
void View_DrawViewModel( void ) {
- static float fLastTime;
static float fBob;
static float fLastWeapon;
@@ -143,7 +142,7 @@ void View_DrawViewModel( void ) {
}
// Don't update when paused
- if ( time != fLastTime ) {
+ if ( serverkey("pausestate") == "0" ) {
fBob = View_CalcBob();
if( getstatf( STAT_ACTIVEWEAPON ) < CS_WEAPON_COUNT ) {
@@ -167,6 +166,7 @@ void View_DrawViewModel( void ) {
processmodelevents( eViewModel.modelindex, eViewModel.frame, fBaseTime, eViewModel.frame1time, View_ProcessEvent );
eViewModel.frame1time += frametime;
+ eViewModel.frame2time += frametime;
}
makevectors( getproperty( VF_ANGLES ) );
@@ -189,9 +189,7 @@ void View_DrawViewModel( void ) {
if ( autocvar_cl_bobclassic == 1 ) {
eViewModel.angles_z = -fBob;
}
-
- fLastTime = time;
-
+
// Only bother when zoomed out
if ( getstatf( STAT_VIEWZOOM ) == 255 ) {
// Update muzzleflash position and draw it
diff --git a/Source/FreeCS-CE.prj b/Source/FreeCS-CE.prj
index 02c63429..2f04e5dd 100644
--- a/Source/FreeCS-CE.prj
+++ b/Source/FreeCS-CE.prj
@@ -25,7 +25,7 @@
-
+
@@ -114,6 +114,13 @@
-
+
+
+
+
+
+
+
+
diff --git a/Source/Menu/Defs.h b/Source/Menu/Defs.h
index bbcc08c7..61f0dd0b 100644
--- a/Source/Menu/Defs.h
+++ b/Source/Menu/Defs.h
@@ -60,7 +60,7 @@ int iMapCount;
var float FONT_MENU;
-#define MENU_COUNT 10
+#define MENU_COUNT 11
enum {
MENU_MAIN,
MENU_CONFIGURATION,
@@ -71,6 +71,7 @@ enum {
MENU_MULTIPLAYER,
MENU_MULTIPLAYER_CREATE,
MENU_MULTIPLAYER_OPTIONS,
+ MENU_MULTIPLAYER_IRC,
MENU_QUIT
};
diff --git a/Source/Menu/Header.c b/Source/Menu/Header.c
index edd9f341..ffc97f33 100644
--- a/Source/Menu/Header.c
+++ b/Source/Menu/Header.c
@@ -28,6 +28,7 @@ fcsMenu fcsMain[ MENU_COUNT ] = {
{ Menu_Multiplayer, HEAD_MULTI },
{ Menu_Multiplayer_Create, HEAD_CREATEGAME },
{ Menu_Multiplayer_Create, HEAD_ADVOPTIONS },
+ { Menu_Multiplayer_IRC, HEAD_ADVOPTIONS },
{ Menu_Quit, -1 }
};
diff --git a/Source/Menu/MenuMultiplayer.c b/Source/Menu/MenuMultiplayer.c
index 9bb6dc20..48943cbc 100644
--- a/Source/Menu/MenuMultiplayer.c
+++ b/Source/Menu/MenuMultiplayer.c
@@ -123,6 +123,9 @@ void Menu_Multiplayer( void ) {
static void Multiplayer_ButtonDone( void ) {
iMenu = MENU_MAIN;
}
+ static void Multiplayer_ButtonIRC( void ) {
+ iMenu = MENU_MULTIPLAYER_IRC;
+ }
// Initialize it on the first run
if ( iSelectedServer == -1 ) {
@@ -132,7 +135,7 @@ void Menu_Multiplayer( void ) {
sethostcachesort( gethostcacheindexforkey( "ping" ), FALSE );
refreshhostcache();
resorthostcache();
- iSelectedServer = 0;
+ iSelectedServer = -2;
}
fldName = gethostcacheindexforkey("name");
@@ -146,12 +149,15 @@ void Menu_Multiplayer( void ) {
iServersTotal = gethostcachevalue( SLIST_HOSTCACHEVIEWCOUNT );
- Menu_SetClipArea( '32 148', '164 160' );
+ Menu_SetClipArea( '32 148', '164 192' );
Object_Button( '32 148', BTN_JOINGAME, Multiplayer_ButtonJoin, fButtonAlpha[0] );
Object_Button( '32 180', BTN_CREATE, Multiplayer_ButtonCreate, fButtonAlpha[1] );
Object_Button( '32 212', BTN_GAMEINFO, __NULL__, fButtonAlpha[2] );
Object_Button( '32 244', BTN_REFRESHLIST, Multiplayer_ButtonRefresh, fButtonAlpha[3] );
- Object_Button( '32 276', BTN_DONE, Multiplayer_ButtonDone, fButtonAlpha[4] );
+ if ( checkcommand( "irc" ) ) {
+ Object_Button( '32 276', BTN_IRCCHAT, Multiplayer_ButtonIRC, fButtonAlpha[4] );
+ }
+ Object_Button( '32 308', BTN_DONE, Multiplayer_ButtonDone, fButtonAlpha[5] );
Menu_ResetClipArea();
Object_Frame( '196 140', '404 308' );
@@ -234,4 +240,24 @@ void Menu_Multiplayer_Create( void ) {
vListPos_y += 10;
}
Menu_ResetClipArea();
+}
+
+void Menu_Multiplayer_IRC( void ) {
+ static int iIRCInit = FALSE;
+
+ static void IRC_ButtonDone( void ) {
+ iMenu = MENU_MULTIPLAYER;
+ }
+
+ if ( iIRCInit == FALSE ) {
+ print( "[IRC] Connecting to #freecs...\n" );
+ con_printf( "IRC", "/irc /connect irc.freenode.org #freecs\n" );
+ //con_getset( "IRC", "hidden", "1" );
+ iIRCInit = TRUE;
+ for (string s = ""; s; s = con_getset("", "next")) {con_printf(s, "SPAMMING EVERY CONSOLE HAR HAR HAR\n");}
+ }
+
+ con_draw( "IRC", vMenuOffset + '196 140', '404 308', 8 );
+
+ Object_Button( '32 308', BTN_DONE, IRC_ButtonDone, fButtonAlpha[0] );
}
\ No newline at end of file
diff --git a/freecs/csprogs.dat b/freecs/csprogs.dat
index c74e553a..c7053fd0 100644
Binary files a/freecs/csprogs.dat and b/freecs/csprogs.dat differ
diff --git a/freecs/menu.dat b/freecs/menu.dat
index 6d6cf0e8..5d60ca81 100755
Binary files a/freecs/menu.dat and b/freecs/menu.dat differ