summaryrefslogtreecommitdiff
path: root/source/ui_loading.c
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2007-08-14 20:18:08 +0000
committerAndrey Nazarov <skuller@skuller.net>2007-08-14 20:18:08 +0000
commitf294db4ccf45f6274e65260dd6f9a2c5faa94313 (patch)
treee8cf1ba2bfe9c8417eec17faf912442f52fc4ef2 /source/ui_loading.c
Initial import of the new Q2PRO tree.
Diffstat (limited to 'source/ui_loading.c')
-rw-r--r--source/ui_loading.c109
1 files changed, 109 insertions, 0 deletions
diff --git a/source/ui_loading.c b/source/ui_loading.c
new file mode 100644
index 0000000..dfe0393
--- /dev/null
+++ b/source/ui_loading.c
@@ -0,0 +1,109 @@
+/*
+Copyright (C) 2003-2006 Andrey Nazarov
+
+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.
+
+*/
+
+#include "ui_local.h"
+
+/*
+=============================================================================
+
+CONNECTION / LOADING SCREEN
+
+=============================================================================
+*/
+
+static clientStatus_t loadingStatus;
+
+/*
+==============
+UI_DrawLoading
+==============
+*/
+void UI_DrawLoading( int realtime ) {
+ char buffer[MAX_STRING_CHARS];
+ char *s;
+ int x, y;
+
+ client.GetClientStatus( &loadingStatus );
+
+#if 0
+ if( loadingStatus.mapname[0] ) {
+ qhandle_t hPic;
+
+ Com_sprintf( buffer, sizeof( buffer ), "/levelshots/%s.jpg", loadingStatus.mapname );
+ if( ( hPic = ref.RegisterPic( buffer ) ) != 0 ) {
+ ref.DrawStretchPic( 0, 0, uis.glconfig.vidWidth, uis.glconfig.vidHeight, hPic );
+ } else {
+ ref.DrawFill( 0, 0, uis.glconfig.vidWidth, uis.glconfig.vidHeight, 0x00 );
+ }
+ } else
+#endif
+ {
+ ref.DrawFill( 0, 0, uis.glconfig.vidWidth, uis.glconfig.vidHeight, 0x00 );
+ }
+
+ x = uis.glconfig.vidWidth / 2;
+ y = 8;
+
+ Com_sprintf( buffer, sizeof( buffer ), "%s %s", loadingStatus.demoplayback ? "Playing back" : "Connecting to", loadingStatus.servername );
+ UI_DrawString( x, y, NULL, UI_CENTER|UI_DROPSHADOW, buffer );
+ y += 40;
+
+ if( loadingStatus.fullname[0] ) {
+ UI_DrawString( x, y, colorYellow, UI_CENTER|UI_DROPSHADOW, loadingStatus.fullname );
+ }
+ y += 60;
+
+ switch( loadingStatus.connState ) {
+ case ca_challenging:
+ Com_sprintf( buffer, sizeof( buffer ), "Challenging... %i", loadingStatus.connectCount );
+ s = buffer;
+ break;
+ case ca_connecting:
+ Com_sprintf( buffer, sizeof( buffer ), "Connecting... %i", loadingStatus.connectCount );
+ s = buffer;
+ break;
+ case ca_connected:
+ s = "Receiving server data...";
+ UI_DrawString( x, y, NULL, UI_CENTER|UI_DROPSHADOW, s );
+ break;
+ case ca_loading:
+ Com_sprintf( buffer, sizeof( buffer ), "Loading... %s", loadingStatus.loadingString );
+ s = buffer;
+ break;
+ case ca_precached:
+ s = "Awaiting server frame...";
+ break;
+ default:
+ Com_Error( ERR_DROP, "SCR_DrawLoading: bad cls.state %i", loadingStatus.connState );
+ break;
+ }
+ UI_DrawString( x, y, NULL, UI_CENTER|UI_DROPSHADOW, s );
+ y += 64;
+
+ if( loadingStatus.connState > ca_connected ) {
+ return;
+ }
+
+ // draw message string
+ if( loadingStatus.loadingString[0] ) {
+ UI_DrawString( x, y, colorRed, UI_CENTER|UI_DROPSHADOW|UI_MULTILINE, loadingStatus.loadingString );
+ }
+}
+