aboutsummaryrefslogtreecommitdiff
path: root/code/q3_ui/ui_credits.c
diff options
context:
space:
mode:
Diffstat (limited to 'code/q3_ui/ui_credits.c')
-rw-r--r--code/q3_ui/ui_credits.c181
1 files changed, 181 insertions, 0 deletions
diff --git a/code/q3_ui/ui_credits.c b/code/q3_ui/ui_credits.c
new file mode 100644
index 0000000..7baee61
--- /dev/null
+++ b/code/q3_ui/ui_credits.c
@@ -0,0 +1,181 @@
+/*
+===========================================================================
+Copyright (C) 1999-2005 Id Software, Inc.
+
+This file is part of Quake III Arena source code.
+
+Quake III Arena source code 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.
+
+Quake III Arena source code 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 Quake III Arena source code; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+===========================================================================
+*/
+//
+/*
+=======================================================================
+
+CREDITS
+
+=======================================================================
+*/
+
+
+#include "ui_local.h"
+
+
+typedef struct {
+ menuframework_s menu;
+ int frame;
+} creditsmenu_t;
+
+static creditsmenu_t s_credits;
+
+
+/*
+===============
+UI_CreditMenu_Draw_ioq3
+===============
+*/
+static void UI_CreditMenu_Draw_ioq3( void ) {
+ int y;
+ int i;
+
+ // These are all people that have made commits to Subversion, and thus
+ // probably incomplete.
+ // (These are in alphabetical order, for the defense of everyone's egos.)
+ static const char *names[] = {
+ "Tim Angus",
+ "Vincent Cojot",
+ "Ryan C. Gordon",
+ "Aaron Gyes",
+ "Ludwig Nussel",
+ "Julian Priestley",
+ "Scirocco Six",
+ "Thilo Schulz",
+ "Zachary J. Slater",
+ "Tony J. White",
+ "...and many, many others!", // keep this one last.
+ NULL
+ };
+
+ y = 12;
+ UI_DrawProportionalString( 320, y, "ioquake3 contributors:", UI_CENTER|UI_SMALLFONT, color_white );
+ y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+
+ for (i = 0; names[i]; i++) {
+ UI_DrawProportionalString( 320, y, names[i], UI_CENTER|UI_SMALLFONT, color_white );
+ y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ }
+
+ UI_DrawString( 320, 459, "http://www.ioquake3.org/", UI_CENTER|UI_SMALLFONT, color_red );
+}
+
+
+/*
+=================
+UI_CreditMenu_Key
+=================
+*/
+static sfxHandle_t UI_CreditMenu_Key( int key ) {
+ if( key & K_CHAR_FLAG ) {
+ return 0;
+ }
+
+ s_credits.frame++;
+ if (s_credits.frame == 1) {
+ s_credits.menu.draw = UI_CreditMenu_Draw_ioq3;
+ } else {
+ trap_Cmd_ExecuteText( EXEC_APPEND, "quit\n" );
+ }
+ return 0;
+}
+
+
+/*
+===============
+UI_CreditMenu_Draw
+===============
+*/
+static void UI_CreditMenu_Draw( void ) {
+ int y;
+
+ y = 12;
+ UI_DrawProportionalString( 320, y, "id Software is:", UI_CENTER|UI_SMALLFONT, color_white );
+
+ y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Programming", UI_CENTER|UI_SMALLFONT, color_white );
+ y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "John Carmack, Robert A. Duffy, Jim Dose'", UI_CENTER|UI_SMALLFONT, color_white );
+
+ y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Art", UI_CENTER|UI_SMALLFONT, color_white );
+ y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Adrian Carmack, Kevin Cloud,", UI_CENTER|UI_SMALLFONT, color_white );
+ y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Kenneth Scott, Seneca Menard, Fred Nilsson", UI_CENTER|UI_SMALLFONT, color_white );
+
+ y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Game Designer", UI_CENTER|UI_SMALLFONT, color_white );
+ y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Graeme Devine", UI_CENTER|UI_SMALLFONT, color_white );
+
+ y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Level Design", UI_CENTER|UI_SMALLFONT, color_white );
+ y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Tim Willits, Christian Antkow, Paul Jaquays", UI_CENTER|UI_SMALLFONT, color_white );
+
+ y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "CEO", UI_CENTER|UI_SMALLFONT, color_white );
+ y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Todd Hollenshead", UI_CENTER|UI_SMALLFONT, color_white );
+
+ y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Director of Business Development", UI_CENTER|UI_SMALLFONT, color_white );
+ y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Marty Stratton", UI_CENTER|UI_SMALLFONT, color_white );
+
+ y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Biz Assist and id Mom", UI_CENTER|UI_SMALLFONT, color_white );
+ y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Donna Jackson", UI_CENTER|UI_SMALLFONT, color_white );
+
+ y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Development Assistance", UI_CENTER|UI_SMALLFONT, color_white );
+ y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawProportionalString( 320, y, "Eric Webb", UI_CENTER|UI_SMALLFONT, color_white );
+
+ y += 1.35 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
+ UI_DrawString( 320, y, "To order: 1-800-idgames www.quake3arena.com www.idsoftware.com", UI_CENTER|UI_SMALLFONT, color_red );
+ y += SMALLCHAR_HEIGHT;
+ UI_DrawString( 320, y, "Quake III Arena(c) 1999-2000, Id Software, Inc. All Rights Reserved", UI_CENTER|UI_SMALLFONT, color_red );
+}
+
+
+/*
+===============
+UI_CreditMenu
+===============
+*/
+void UI_CreditMenu( void ) {
+ /* This UI_FillRect() hack will blank the borders if you're in widescreen,
+ so you get a completely black background instead of stripes from the
+ previous frame on each side of the credits.. */
+ const float black[4] = { 0.0f, 0.0f, 0.0f, 1.0f };
+ UI_FillRect(0 - uis.bias, 0, (640.0f / uis.xscale) * 2.0f, 480.0f / uis.yscale, black);
+
+ memset( &s_credits, 0 ,sizeof(s_credits) );
+
+ s_credits.menu.draw = UI_CreditMenu_Draw;
+ s_credits.menu.key = UI_CreditMenu_Key;
+ s_credits.menu.fullscreen = qtrue;
+ UI_PushMenu ( &s_credits.menu );
+}