12 Sep 2009

This commit is contained in:
g-cont 2009-09-12 00:00:00 +04:00 committed by Alibek Omarov
parent f52588e6d8
commit 407490f4cd
12 changed files with 141 additions and 117 deletions

View File

@ -149,7 +149,7 @@ void CL_FadeAlpha( float starttime, float endtime, rgba_t color )
time = cls.realtime - starttime;
if( time >= endtime )
{
MakeRGBA( color, 255, 255, 255, 255 );
MakeRGBA( color, 255, 255, 255, 0 );
return;
}

View File

@ -77,7 +77,12 @@ void CL_MouseMove( usercmd_t *cmd )
rate = com.sqrt( mx * mx + my * my ) / 0.5f;
if( cls.key_dest != key_menu )
if( UI_IsVisible( ))
{
// if the menu is visible, move the menu cursor
UI_MouseMove( mx, my );
}
else if( cls.key_dest != key_menu )
{
if( cl.frame.ps.health <= 0 ) return;
if( cl.mouse_sens == 0.0f ) cl.mouse_sens = 1.0f;
@ -96,11 +101,6 @@ void CL_MouseMove( usercmd_t *cmd )
if( cl_mouselook->value ) cl.viewangles[PITCH] += m_pitch->value * my;
else if( in_strafe.state & 1 ) cmd->forwardmove = cmd->forwardmove - m_forward->value * my;
}
else if( UI_IsVisible( ))
{
// if the menu is visible, move the menu cursor
UI_MouseMove( mx, my );
}
}
/*

View File

@ -783,7 +783,7 @@ void CL_ConnectionlessPacket( netadr_t from, sizebuf_t *msg )
{
if( cls.state == ca_connected )
{
Msg ("Dup connect received. Ignored.\n");
MsgDev( D_INFO, "dup connect received. ignored\n");
return;
}
Netchan_Setup( NS_CLIENT, &cls.netchan, from, Cvar_VariableValue( "net_qport" ));

View File

@ -265,9 +265,10 @@ bool SCR_PlayCinematic( char *name, int bits )
FS_DefaultExtension( path, ".dpv" );
S_StopAllSounds();
UI_SetActiveMenu( UI_CLOSEMENU );
//S_StartStreaming();
if(CIN_PlayCinematic( path ))
if( CIN_PlayCinematic( path ))
{
SCR_RunCinematic(); // load first frame
return true;

View File

@ -633,6 +633,7 @@ void UI_KeyEvent( int key );
void UI_MouseMove( int x, int y );
void UI_SetActiveMenu( uiActiveMenu_t activeMenu );
void UI_AddServerToList( netadr_t adr, const char *info );
bool UI_CreditsActive( void );
bool UI_IsVisible( void );
void UI_Precache( void );
void UI_Init( void );

View File

@ -634,6 +634,9 @@ void CIN_StopCinematic( void )
cin_state = cin_firstframe;
cls.state = ca_disconnected;
}
if( cls.state == ca_disconnected )
UI_SetActiveMenu( UI_MAINMENU );
}
/*

View File

@ -822,7 +822,7 @@ void Key_SetBinding( int keynum, char *binding )
if( keynum == -1 ) return;
// free old bindings
if( keys[ keynum ].binding )
if( keys[keynum].binding )
{
Mem_Free( keys[keynum].binding );
keys[keynum].binding = NULL;
@ -840,9 +840,9 @@ Key_GetBinding
*/
char *Key_GetBinding( int keynum )
{
if ( keynum == -1 )
if( keynum == -1 )
return "";
return keys[ keynum ].binding;
return keys[keynum].binding;
}
/*
@ -1101,9 +1101,18 @@ void Key_Event( int key, bool down )
Key_Message( key );
return;
case key_game:
case key_console:
UI_SetActiveMenu( UI_MAINMENU );
if( cls.state == ca_cinematic )
SCR_StopCinematic();
else if( cls.state == ca_active )
UI_SetActiveMenu( UI_INGAMEMENU );
else UI_SetActiveMenu( UI_MAINMENU );
cls.key_dest = key_menu;
return;
case key_console:
if( cls.state == ca_active )
cls.key_dest = key_game;
else UI_SetActiveMenu( UI_MAINMENU );
break;
case key_menu:
UI_KeyEvent( key );
return;

View File

@ -71,6 +71,7 @@ Con_ToggleConsole_f
void Con_ToggleConsole_f( void )
{
if( !host.developer ) return;
if(UI_CreditsActive()) return;
Field_Clear( &g_consoleField );
g_consoleField.widthInChars = g_console_field_width;
@ -79,17 +80,12 @@ void Con_ToggleConsole_f( void )
if( cls.key_dest == key_console )
{
if( cls.state == ca_disconnected )
{
// because console show as fullscreen when cleint is not connected
UI_SetActiveMenu( UI_MAINMENU );
cls.key_dest = key_menu;
}
UI_SetActiveMenu( UI_CLOSEMENU );
cls.key_dest = key_game;
}
else
{
if( cls.state == ca_disconnected )
UI_SetActiveMenu( UI_CLOSEMENU );
UI_SetActiveMenu( UI_CLOSEMENU );
cls.key_dest = key_console;
if( com.atoi(cl.configstrings[CS_MAXCLIENTS]) == 1 && Host_ServerState())

View File

@ -250,6 +250,8 @@ Called every frame, even if not generating commands
*/
void IN_Frame( void )
{
bool shutdownMouse = false;
// if at a full screen console, don't update unless needed
if( host.state != HOST_FRAME || host.type == HOST_DEDICATED )
Sys_Sleep( 20 );
@ -262,13 +264,19 @@ void IN_Frame( void )
return;
}
if((!cl.video_prepped && cls.key_dest != key_menu) || cls.key_dest == key_console || cl_paused->integer )
if( !cl.video_prepped && cls.key_dest != key_menu )
shutdownMouse = true; // release mouse during vid_restart
if( cls.key_dest == key_console )
shutdownMouse = true; // release mouse when console is drawing
if( cl_paused->integer && cls.key_dest != key_menu )
shutdownMouse = true; // release mouse when game pause but menu
if( shutdownMouse && !Cvar_VariableInteger( "fullscreen" ))
{
if( !Cvar_VariableValue( "fullscreen" ))
{
IN_DeactivateMouse();
return;
}
IN_DeactivateMouse();
return;
}
IN_ActivateMouse();

View File

@ -6,35 +6,36 @@
--------------------Configuration: engine - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP5FCE.tmp" with contents
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP64D4.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "./" /I "common" /I "server" /I "client" /I "uimenu" /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\engine\!debug/" /Fo"..\temp\engine\!debug/" /Fd"..\temp\engine\!debug/" /FD /c
"D:\Xash3D\src_main\engine\uimenu\ui_advanced.c"
"D:\Xash3D\src_main\engine\uimenu\ui_audio.c"
"D:\Xash3D\src_main\engine\uimenu\ui_controls.c"
"D:\Xash3D\src_main\engine\uimenu\ui_credits.c"
"D:\Xash3D\src_main\engine\uimenu\ui_defaults.c"
"D:\Xash3D\src_main\engine\uimenu\ui_demos.c"
"D:\Xash3D\src_main\engine\uimenu\ui_gameoptions.c"
"D:\Xash3D\src_main\engine\uimenu\ui_gotosite.c"
"D:\Xash3D\src_main\engine\common\cinematic.c"
"D:\Xash3D\src_main\engine\client\cl_cmds.c"
"D:\Xash3D\src_main\engine\client\cl_demo.c"
"D:\Xash3D\src_main\engine\client\cl_effects.c"
"D:\Xash3D\src_main\engine\client\cl_frame.c"
"D:\Xash3D\src_main\engine\client\cl_game.c"
"D:\Xash3D\src_main\engine\client\cl_input.c"
"D:\Xash3D\src_main\engine\client\cl_main.c"
"D:\Xash3D\src_main\engine\client\cl_parse.c"
"D:\Xash3D\src_main\engine\client\cl_phys.c"
"D:\Xash3D\src_main\engine\client\cl_scrn.c"
"D:\Xash3D\src_main\engine\client\cl_view.c"
"D:\Xash3D\src_main\engine\common\con_keys.c"
"D:\Xash3D\src_main\engine\common\con_main.c"
"D:\Xash3D\src_main\engine\common\con_utils.c"
"D:\Xash3D\src_main\engine\common\engfuncs.c"
"D:\Xash3D\src_main\engine\host.c"
"D:\Xash3D\src_main\engine\common\input.c"
"D:\Xash3D\src_main\engine\uimenu\ui_ingame.c"
"D:\Xash3D\src_main\engine\uimenu\ui_loadgame.c"
"D:\Xash3D\src_main\engine\uimenu\ui_main.c"
"D:\Xash3D\src_main\engine\uimenu\ui_menu.c"
"D:\Xash3D\src_main\engine\uimenu\ui_mods.c"
"D:\Xash3D\src_main\engine\uimenu\ui_multiplayer.c"
"D:\Xash3D\src_main\engine\uimenu\ui_network.c"
"D:\Xash3D\src_main\engine\uimenu\ui_options.c"
"D:\Xash3D\src_main\engine\uimenu\ui_performance.c"
"D:\Xash3D\src_main\engine\uimenu\ui_playersetup.c"
"D:\Xash3D\src_main\engine\uimenu\ui_qmenu.c"
"D:\Xash3D\src_main\engine\uimenu\ui_quit.c"
"D:\Xash3D\src_main\engine\uimenu\ui_savegame.c"
"D:\Xash3D\src_main\engine\uimenu\ui_singleplayer.c"
"D:\Xash3D\src_main\engine\uimenu\ui_video.c"
]
Creating command line "cl.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP5FCE.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP5FCF.tmp" with contents
Creating command line "cl.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP64D4.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP64D5.tmp" with contents
[
user32.lib msvcrtd.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"..\temp\engine\!debug/engine.pdb" /debug /machine:I386 /nodefaultlib:"msvcrt.lib" /out:"..\temp\engine\!debug/engine.dll" /implib:"..\temp\engine\!debug/engine.lib" /pdbtype:sept
"\Xash3D\src_main\temp\engine\!debug\cinematic.obj"
@ -95,41 +96,43 @@ user32.lib msvcrtd.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"..
"\Xash3D\src_main\temp\engine\!debug\ui_singleplayer.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_video.obj"
]
Creating command line "link.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP5FCF.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP5FD0.bat" with contents
Creating command line "link.exe @C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP64D5.tmp"
Creating temporary file "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP64D6.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\engine\!debug\engine.dll "D:\Xash3D\bin\engine.dll"
]
Creating command line "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP5FD0.bat"
Creating command line "C:\DOCUME~1\MIKE~1.MIK\LOCALS~1\Temp\RSP64D6.bat"
Compiling...
ui_advanced.c
ui_audio.c
ui_controls.c
ui_credits.c
ui_defaults.c
ui_demos.c
ui_gameoptions.c
ui_gotosite.c
cinematic.c
cl_cmds.c
cl_demo.c
cl_effects.c
cl_frame.c
cl_game.c
cl_input.c
cl_main.c
cl_parse.c
cl_phys.c
cl_scrn.c
cl_view.c
con_keys.c
con_main.c
con_utils.c
engfuncs.c
host.c
input.c
ui_ingame.c
ui_loadgame.c
Generating Code...
Compiling...
ui_main.c
ui_menu.c
ui_mods.c
ui_multiplayer.c
ui_network.c
ui_options.c
ui_performance.c
ui_playersetup.c
ui_qmenu.c
ui_quit.c
Generating Code...
Compiling...
ui_savegame.c
ui_singleplayer.c
ui_video.c
Generating Code...
Linking...
Creating library ..\temp\engine\!debug/engine.lib and object ..\temp\engine\!debug/engine.exp
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\engine\!debug\engine.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.

View File

@ -63,46 +63,46 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define ID_ZOOMVIEW 19
#define ID_ALWAYSRUN 21
#define ID_RUN 22
#define ID_FORWARD 23
#define ID_BACKWARD 24
#define ID_STEPLEFT 25
#define ID_STEPRIGHT 26
#define ID_JUMP 27
#define ID_CROUCH 28
#define ID_LEFT 29
#define ID_RIGHT 30
#define ID_SIDESTEP 31
#define ID_ALWAYSRUN 20
#define ID_RUN 21
#define ID_FORWARD 22
#define ID_BACKWARD 23
#define ID_STEPLEFT 24
#define ID_STEPRIGHT 25
#define ID_JUMP 26
#define ID_CROUCH 27
#define ID_LEFT 28
#define ID_RIGHT 39
#define ID_SIDESTEP 30
#define ID_ATTACK 32
#define ID_NEXTWEAP 33
#define ID_PREVWEAP 34
#define ID_BLASTER 35
#define ID_SHOTGUN 36
#define ID_SUPERSHOTGUN 37
#define ID_MACHINEGUN 38
#define ID_CHAINGUN 39
#define ID_GRENADELAUNCHER 40
#define ID_ROCKETLAUNCHER 41
#define ID_HYPERBLASTER 42
#define ID_RAILGUN 43
#define ID_BFG 44
#define ID_ATTACK 31
#define ID_NEXTWEAP 32
#define ID_PREVWEAP 33
#define ID_BLASTER 34
#define ID_SHOTGUN 35
#define ID_SUPERSHOTGUN 36
#define ID_MACHINEGUN 37
#define ID_CHAINGUN 38
#define ID_GRENADELAUNCHER 39
#define ID_ROCKETLAUNCHER 40
#define ID_HYPERBLASTER 41
#define ID_RAILGUN 42
#define ID_BFG 43
#define ID_SHOWSCORES 45
#define ID_USEITEM 46
#define ID_NEXTITEM 47
#define ID_PREVITEM 48
#define ID_DROPITEM 49
#define ID_FIELDCOMPUTER 50
#define ID_INVENTORY 51
#define ID_FLIPOFF 52
#define ID_SALUTE 53
#define ID_TAUNT 54
#define ID_WAVE 55
#define ID_POINT 56
#define ID_CHAT 57
#define ID_CHATTEAM 58
#define ID_SHOWSCORES 44
#define ID_USEITEM 45
#define ID_NEXTITEM 46
#define ID_PREVITEM 47
#define ID_DROPITEM 48
#define ID_FIELDCOMPUTER 49
#define ID_INVENTORY 50
#define ID_FLIPOFF 51
#define ID_SALUTE 52
#define ID_TAUNT 53
#define ID_WAVE 54
#define ID_POINT 55
#define ID_CHAT 56
#define ID_CHATTEAM 57
static const char *uiControlsYesNo[] = { "False", "True" };
static const char *uiControlsMouseAccel[] = { "None", "Low", "Medium", "High" };
@ -276,7 +276,7 @@ static void UI_Controls_GetKeyBindings( char *command, int *twoKeys )
for( i = 0; i < 256; i++ )
{
b = Key_GetBinding( i );
if( !b[0] ) continue;
if( !b ) continue;
if( !com.stricmp( command, b ))
{
@ -368,7 +368,7 @@ static void UI_Controls_UpdateConfig( void )
if( uiControls.waitingForKey )
{
// disable all controls
for( i = 6; i <= 58; i++ )
for( i = 6; i <= 57; i++ )
((menuCommon_s *)menu->items[i])->flags |= QMF_GRAYED;
// enable current control
@ -377,7 +377,7 @@ static void UI_Controls_UpdateConfig( void )
}
// enable all controls
for( i = 6; i <= 58; i++ )
for( i = 6; i <= 57; i++ )
((menuCommon_s *)menu->items[i])->flags &= ~QMF_GRAYED;
com.snprintf( sensitivityText, sizeof(sensitivityText), "%i", (int)uiControls.mouseSpeed.curValue );
@ -389,7 +389,7 @@ static void UI_Controls_UpdateConfig( void )
uiControls.alwaysRun.generic.name = uiControlsYesNo[(int)uiControls.alwaysRun.curValue];
// hide all controls
for( i = 11; i <= 58; i++ )
for( i = 11; i <= 57; i++ )
((menuCommon_s *)menu->items[i])->flags |= QMF_HIDDEN;
// Show the appropriate pics and controls for this section
@ -428,7 +428,7 @@ static void UI_Controls_UpdateConfig( void )
uiControls.text1.pic = ART_TEXT_MISC;
uiControls.text2.pic = ART_TEXT_MISC2;
for( i = 45; i <= 58; i++ )
for( i = 45; i <= 57; i++ )
((menuCommon_s *)menu->items[i])->flags &= ~QMF_HIDDEN;
break;
}

View File

@ -115,7 +115,7 @@ static void UI_Credits_DrawFunc( void )
int i, y;
int w = BIGCHAR_WIDTH;
int h = BIGCHAR_HEIGHT;
rgba_t color;
rgba_t color = { 0, 0, 0, 0 };
// draw the background first
UI_DrawPic( 0, 0, 1024 * uiStatic.scaleX, 768 * uiStatic.scaleY, uiColorWhite, ART_BACKGROUND );
@ -135,13 +135,16 @@ static void UI_Credits_DrawFunc( void )
{
if( !uiCredits.fadeTime ) uiCredits.fadeTime = uiStatic.realTime;
CL_FadeAlpha( uiCredits.fadeTime, uiCredits.showTime, color );
if(*( int *)color != 0xFFFFFFFF )
UI_DrawString( 0, (scr_height->integer - h) / 2, 1024 * uiStatic.scaleX, h, uiCredits.credits[i], color, true, w, h, 1, true );
if( color[3] ) UI_DrawString( 0, (scr_height->integer - h) / 2, 1024 * uiStatic.scaleX, h, uiCredits.credits[i], color, true, w, h, 1, true );
}
else UI_DrawString( 0, y, 1024 * uiStatic.scaleX, h, uiCredits.credits[i], uiColorWhite, false, w, h, 1, true );
}
if( y < 0 && !color ) uiCredits.active = false; // end of credits
if( y < 0 && !color[3] )
{
uiCredits.active = false; // end of credits
Cbuf_ExecuteText( EXEC_APPEND, "quit\n" );
}
}
/*