mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2024-11-10 07:11:36 +00:00
Elder:
Updates corresponding to VM Builds 0-02-01 to 0-02-03 Contains new load screen stuff
This commit is contained in:
parent
a02ee98e97
commit
48382a7c36
3 changed files with 83 additions and 44 deletions
|
@ -2025,8 +2025,8 @@ static void CG_DrawCrosshair(void) {
|
|||
( (cg.snap->ps.stats[STAT_RQ3] & RQ3_ZOOM_LOW) == RQ3_ZOOM_LOW ||
|
||||
(cg.snap->ps.stats[STAT_RQ3] & RQ3_ZOOM_MED) == RQ3_ZOOM_MED ) ) {
|
||||
int zoomMag;
|
||||
x = 640 / 2;
|
||||
y = 480 / 2;
|
||||
x = SCREEN_WIDTH / 2;
|
||||
y = SCREEN_HEIGHT / 2;
|
||||
|
||||
//derive zoom level - seems complicated but they're only bit comparisions
|
||||
if ( (cg.snap->ps.stats[STAT_RQ3] & RQ3_ZOOM_LOW) == RQ3_ZOOM_LOW &&
|
||||
|
|
|
@ -125,11 +125,16 @@ void CG_DrawInformation( void ) {
|
|||
const char *s;
|
||||
const char *info;
|
||||
const char *sysInfo;
|
||||
char sTemp[1024];
|
||||
int x = 8;
|
||||
int y;
|
||||
int value;
|
||||
qhandle_t levelshot;
|
||||
qhandle_t detail;
|
||||
char buf[1024];
|
||||
qboolean skipdetail;
|
||||
|
||||
skipdetail = qfalse;
|
||||
|
||||
info = CG_ConfigString( CS_SERVERINFO );
|
||||
sysInfo = CG_ConfigString( CS_SYSTEMINFO );
|
||||
|
@ -137,82 +142,111 @@ void CG_DrawInformation( void ) {
|
|||
s = Info_ValueForKey( info, "mapname" );
|
||||
levelshot = trap_R_RegisterShaderNoMip( va( "levelshots/%s.tga", s ) );
|
||||
if ( !levelshot ) {
|
||||
levelshot = trap_R_RegisterShaderNoMip( "menu/art/unknownmap" );
|
||||
//Elder: changed
|
||||
levelshot = trap_R_RegisterShaderNoMip( "levelshots/rq3-unknownmap.tga" );
|
||||
skipdetail = qtrue;
|
||||
//levelshot = trap_R_RegisterShaderNoMip( "menu/art/unknownmap" );
|
||||
}
|
||||
trap_R_SetColor( NULL );
|
||||
CG_DrawPic( 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, levelshot );
|
||||
|
||||
// blend a detail texture over it
|
||||
detail = trap_R_RegisterShader( "levelShotDetail" );
|
||||
trap_R_DrawStretchPic( 0, 0, cgs.glconfig.vidWidth, cgs.glconfig.vidHeight, 0, 0, 2.5, 2, detail );
|
||||
//Elder: changed to RQ3 detail overlay
|
||||
if (!skipdetail) {
|
||||
detail = trap_R_RegisterShader( "rq3-levelShotDetail" );
|
||||
trap_R_DrawStretchPic( 0, 0, cgs.glconfig.vidWidth, cgs.glconfig.vidHeight, 0, 0, 2.5, 2, detail );
|
||||
}
|
||||
|
||||
//Elder: "Letterbox" mask
|
||||
CG_FillRect( 0, 0, SCREEN_WIDTH, 54, colorBlack);
|
||||
CG_FillRect( 0, 426, SCREEN_WIDTH, 54, colorBlack);
|
||||
CG_FillRect( 0, 54, SCREEN_WIDTH, 2, colorRed);
|
||||
CG_FillRect( 0, 426, SCREEN_WIDTH, 2, colorRed);
|
||||
|
||||
//Elder: mapname
|
||||
UI_DrawProportionalString(x, 26, s, UI_LEFT|UI_DROPSHADOW, colorRed);
|
||||
//CG_DrawBigStringColor(4, 24, s, color_red);
|
||||
|
||||
//Elder: removed
|
||||
// draw the icons of things as they are loaded
|
||||
CG_DrawLoadingIcons();
|
||||
//CG_DrawLoadingIcons();
|
||||
|
||||
// the first 150 rows are reserved for the client connection
|
||||
// screen to write into
|
||||
if ( cg.infoScreenText[0] ) {
|
||||
UI_DrawProportionalString( 320, 128-32, va("Loading... %s", cg.infoScreenText),
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
//UI_DrawProportionalString( 320, 128-32, va("Loading... %s", cg.infoScreenText),
|
||||
//UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
CG_DrawSmallStringColor(x, 434, va("LOADING... %s", Q_strupr(cg.infoScreenText)), colorWhite);
|
||||
} else {
|
||||
UI_DrawProportionalString( 320, 128-32, "Awaiting snapshot...",
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
//UI_DrawProportionalString( 320, 128-32, "Awaiting snapshot...",
|
||||
//UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
CG_DrawSmallStringColor( x, 434, "AWAITING SNAPSHOT...", colorWhite);
|
||||
}
|
||||
|
||||
// draw info string information
|
||||
|
||||
y = 180-32;
|
||||
//y = 180-32;
|
||||
//Elder: Initial y-position
|
||||
y = 96;
|
||||
|
||||
// don't print server lines if playing a local game
|
||||
trap_Cvar_VariableStringBuffer( "sv_running", buf, sizeof( buf ) );
|
||||
if ( !atoi( buf ) ) {
|
||||
|
||||
// map-specific message (long map name)
|
||||
s = CG_ConfigString( CS_MESSAGE );
|
||||
if ( s[0] ) {
|
||||
//UI_DrawProportionalString( 4, y, s,
|
||||
//UI_LEFT|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
//Q_strncpyz(buf, s, 1024);
|
||||
//Q_CleanStr(buf);
|
||||
CG_DrawSmallStringColor(x, y, s, colorWhite);
|
||||
y += SMALLCHAR_HEIGHT;
|
||||
}
|
||||
|
||||
// server hostname
|
||||
Q_strncpyz(buf, Info_ValueForKey( info, "sv_hostname" ), 1024);
|
||||
Q_CleanStr(buf);
|
||||
UI_DrawProportionalString( 320, y, buf,
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
y += PROP_HEIGHT;
|
||||
//UI_DrawProportionalString( x, y, buf,
|
||||
//UI_LEFT|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
CG_DrawSmallStringColor(x, y, buf, colorWhite);
|
||||
y += SMALLCHAR_HEIGHT;
|
||||
|
||||
// pure server
|
||||
s = Info_ValueForKey( sysInfo, "sv_pure" );
|
||||
if ( s[0] == '1' ) {
|
||||
UI_DrawProportionalString( 320, y, "Pure Server",
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
y += PROP_HEIGHT;
|
||||
//UI_DrawProportionalString( 4, y, "Pure Server",
|
||||
//UI_LEFT|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
CG_DrawSmallStringColor(x, y, "PURE SERVER", colorWhite);
|
||||
y += SMALLCHAR_HEIGHT;
|
||||
}
|
||||
|
||||
// server-specific message of the day
|
||||
s = CG_ConfigString( CS_MOTD );
|
||||
if ( s[0] ) {
|
||||
UI_DrawProportionalString( 320, y, s,
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
UI_DrawProportionalString( x, 360, s,
|
||||
UI_LEFT|UI_SMALLFONT, colorWhite );
|
||||
y += PROP_HEIGHT;
|
||||
}
|
||||
|
||||
// some extra space after hostname and motd
|
||||
y += 10;
|
||||
}
|
||||
|
||||
// map-specific message (long map name)
|
||||
s = CG_ConfigString( CS_MESSAGE );
|
||||
if ( s[0] ) {
|
||||
UI_DrawProportionalString( 320, y, s,
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
y += PROP_HEIGHT;
|
||||
//y += 10;
|
||||
}
|
||||
|
||||
// cheats warning
|
||||
s = Info_ValueForKey( sysInfo, "sv_cheats" );
|
||||
if ( s[0] == '1' ) {
|
||||
UI_DrawProportionalString( 320, y, "CHEATS ARE ENABLED",
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
y += PROP_HEIGHT;
|
||||
//UI_DrawProportionalString( x, y, "CHEATS ARE ENABLED",
|
||||
//UI_LEFT|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
CG_DrawSmallStringColor(x, y, "CHEATS ARE ENABLED", colorWhite);
|
||||
y += SMALLCHAR_HEIGHT;
|
||||
}
|
||||
|
||||
y += SMALLCHAR_HEIGHT;
|
||||
// game type
|
||||
switch ( cgs.gametype ) {
|
||||
case GT_FFA:
|
||||
s = "Free For All";
|
||||
s = "CLASSIC ACTION DEATHMATCH";
|
||||
break;
|
||||
case GT_SINGLE_PLAYER:
|
||||
s = "Single Player";
|
||||
|
@ -241,32 +275,36 @@ void CG_DrawInformation( void ) {
|
|||
s = "Unknown Gametype";
|
||||
break;
|
||||
}
|
||||
UI_DrawProportionalString( 320, y, s,
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
y += PROP_HEIGHT;
|
||||
//UI_DrawProportionalString( x, y, s,
|
||||
//UI_LEFT|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
CG_DrawSmallStringColor(x, y, s, colorWhite);
|
||||
y += SMALLCHAR_HEIGHT;
|
||||
|
||||
value = atoi( Info_ValueForKey( info, "timelimit" ) );
|
||||
if ( value ) {
|
||||
UI_DrawProportionalString( 320, y, va( "timelimit %i", value ),
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
y += PROP_HEIGHT;
|
||||
//UI_DrawProportionalString( x, y, va( "timelimit %i", value ),
|
||||
//UI_LEFT|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
CG_DrawSmallStringColor(x, y, va( "TIMELIMIT %i", value ), colorWhite);
|
||||
y += SMALLCHAR_HEIGHT;
|
||||
}
|
||||
|
||||
if (cgs.gametype < GT_CTF ) {
|
||||
value = atoi( Info_ValueForKey( info, "fraglimit" ) );
|
||||
if ( value ) {
|
||||
UI_DrawProportionalString( 320, y, va( "fraglimit %i", value ),
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
y += PROP_HEIGHT;
|
||||
//UI_DrawProportionalString( x, y, va( "fraglimit %i", value ),
|
||||
//UI_LEFT|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
CG_DrawSmallStringColor(x, y, va( "FRAGLIMIT %i", value ), colorWhite);
|
||||
y += SMALLCHAR_HEIGHT;
|
||||
}
|
||||
}
|
||||
|
||||
if (cgs.gametype >= GT_CTF) {
|
||||
value = atoi( Info_ValueForKey( info, "capturelimit" ) );
|
||||
if ( value ) {
|
||||
UI_DrawProportionalString( 320, y, va( "capturelimit %i", value ),
|
||||
UI_CENTER|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
y += PROP_HEIGHT;
|
||||
//UI_DrawProportionalString( x, y, va( "capturelimit %i", value ),
|
||||
//UI_LEFT|UI_SMALLFONT|UI_DROPSHADOW, colorWhite );
|
||||
CG_DrawSmallStringColor(x, y, va( "CAPTURELIMIT %i", value ), colorWhite);
|
||||
y += SMALLCHAR_HEIGHT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1750,6 +1750,7 @@ void CG_SpecialWeapon_f( void ) {
|
|||
//Skip normal weapons
|
||||
switch (cg.weaponSelect) {
|
||||
case WP_PISTOL:
|
||||
case WP_AKIMBO:
|
||||
case WP_KNIFE:
|
||||
case WP_GRENADE:
|
||||
continue;
|
||||
|
|
Loading…
Reference in a new issue