doom3-bfg/neo/d3xp/menus/MenuScreen_Shell_Credits.cpp
2012-11-26 12:58:24 -06:00

934 lines
No EOL
46 KiB
C++

/*
===========================================================================
Doom 3 BFG Edition GPL Source Code
Copyright (C) 1993-2012 id Software LLC, a ZeniMax Media company.
This file is part of the Doom 3 BFG Edition GPL Source Code ("Doom 3 BFG Edition Source Code").
Doom 3 BFG Edition 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 3 of the License, or
(at your option) any later version.
Doom 3 BFG Edition 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 Doom 3 BFG Edition Source Code. If not, see <http://www.gnu.org/licenses/>.
In addition, the Doom 3 BFG Edition Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 BFG Edition Source Code. If not, please request a copy in writing from id Software at the address below.
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
===========================================================================
*/
#pragma hdrstop
#include "../../idLib/precompiled.h"
#include "../Game_local.h"
static const int NUM_CREDIT_LINES = 16;
void idMenuScreen_Shell_Credits::SetupCreditList() {
class idRefreshCredits : public idSWFScriptFunction_RefCounted {
public:
idRefreshCredits( idMenuScreen_Shell_Credits * _screen ) :
screen( _screen ) {
}
idSWFScriptVar Call( idSWFScriptObject * thisObject, const idSWFParmList & parms ) {
if ( screen == NULL ) {
return idSWFScriptVar();
}
screen->UpdateCredits();
return idSWFScriptVar();
}
private:
idMenuScreen_Shell_Credits * screen;
};
if ( GetSWFObject() ) {
GetSWFObject()->SetGlobal( "updateCredits", new ( TAG_SWF ) idRefreshCredits( this ) );
}
creditList.Clear();
creditList.Append( creditInfo_t( 3, "DOOM 3 BFG EDITION" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 2, "DEVELOPMENT TEAM" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Executive Producer" ) );
creditList.Append( creditInfo_t( 0, "Eric Webb" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Lead Programmer" ) );
creditList.Append( creditInfo_t( 0, "Brian Harris" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Lead Designer" ) );
creditList.Append( creditInfo_t( 0, "Jerry Keehan" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Programming" ) );
creditList.Append( creditInfo_t( 0, "Curtis Arink" ) );
creditList.Append( creditInfo_t( 0, "Robert Duffy" ) );
creditList.Append( creditInfo_t( 0, "Jeff Farrand" ) );
creditList.Append( creditInfo_t( 0, "Ryan Gerleve" ) );
creditList.Append( creditInfo_t( 0, "Billy Khan" ) );
creditList.Append( creditInfo_t( 0, "Gloria Kennickell" ) );
creditList.Append( creditInfo_t( 0, "Mike Maynard" ) );
creditList.Append( creditInfo_t( 0, "John Roberts" ) );
creditList.Append( creditInfo_t( 0, "Steven Serafin" ) );
creditList.Append( creditInfo_t( 0, "Jan Paul Van Waveren" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Design" ) );
creditList.Append( creditInfo_t( 0, "Steve Rescoe" ) );
creditList.Append( creditInfo_t( 0, "Chris Voss" ) );
creditList.Append( creditInfo_t( 0, "David Vargo" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Art" ) );
creditList.Append( creditInfo_t( 0, "Kevin Cloud" ) );
creditList.Append( creditInfo_t( 0, "Andy Chang" ) );
creditList.Append( creditInfo_t( 0, "Pat Duffy" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Audio" ) );
creditList.Append( creditInfo_t( 0, "Christian Antkow" ) );
creditList.Append( creditInfo_t( 0, "Chris Hite" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Additional Support" ) );
creditList.Append( creditInfo_t( 0, "Roger Berrones" ) );
creditList.Append( creditInfo_t( 0, "Brad Bramlett" ) );
creditList.Append( creditInfo_t( 0, "John Casey" ) );
creditList.Append( creditInfo_t( 0, "Jeremy Cook" ) );
creditList.Append( creditInfo_t( 0, "Chris Hays" ) );
creditList.Append( creditInfo_t( 0, "Matt Hooper" ) );
creditList.Append( creditInfo_t( 0, "Danny Keys" ) );
creditList.Append( creditInfo_t( 0, "Jason Kim" ) );
creditList.Append( creditInfo_t( 0, "Brian Kowalczyk" ) );
creditList.Append( creditInfo_t( 0, "Dustin Land" ) );
creditList.Append( creditInfo_t( 0, "Stephane Lebrun" ) );
creditList.Append( creditInfo_t( 0, "Matt Nelson" ) );
creditList.Append( creditInfo_t( 0, "John Pollard" ) );
creditList.Append( creditInfo_t( 0, "Alan Rogers" ) );
creditList.Append( creditInfo_t( 0, "Jah Raphael" ) );
creditList.Append( creditInfo_t( 0, "Jarrod Showers" ) );
creditList.Append( creditInfo_t( 0, "Shale Williams" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Studio Director" ) );
creditList.Append( creditInfo_t( 0, "Tim Willits" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Studio President" ) );
creditList.Append( creditInfo_t( 0, "Todd Hollenshead" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Technical Director" ) );
creditList.Append( creditInfo_t( 0, "John Carmack" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Human Resources" ) );
creditList.Append( creditInfo_t( 0, "Carrie Barcroft" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "id Mom" ) );
creditList.Append( creditInfo_t( 0, "Donna Jackson" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "id Software IT" ) );
creditList.Append( creditInfo_t( 0, "Duncan Welch" ) );
creditList.Append( creditInfo_t( 0, "Michael Cave" ) );
creditList.Append( creditInfo_t( 0, "Josh Shoemate" ) );
creditList.Append( creditInfo_t( 0, "Michael Musick" ) );
creditList.Append( creditInfo_t( 0, "Alex Brandt" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 3, "DOOM 3 DEVELOPED BY" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 2, "id Software" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Technical Director " ) );
creditList.Append( creditInfo_t( 0, "John Carmack" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Lead Programmer" ) );
creditList.Append( creditInfo_t( 0, "Robert A. Duffy" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Lead Designer" ) );
creditList.Append( creditInfo_t( 0, "Tim Willits" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Lead Artist" ) );
creditList.Append( creditInfo_t( 0, "Kenneth Scott" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Animation" ) );
creditList.Append( creditInfo_t( 0, "James Houska" ) );
creditList.Append( creditInfo_t( 0, "Fredrik Nilsson" ) );
creditList.Append( creditInfo_t( 0, "Eric Webb" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Art" ) );
creditList.Append( creditInfo_t( 0, "Adrian Carmack" ) );
creditList.Append( creditInfo_t( 0, "Andy Chang" ) );
creditList.Append( creditInfo_t( 0, "Kevin Cloud" ) );
creditList.Append( creditInfo_t( 0, "Seneca Menard" ) );
creditList.Append( creditInfo_t( 0, "Patrick Thomas" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Design" ) );
creditList.Append( creditInfo_t( 0, "Mal Blackwell" ) );
creditList.Append( creditInfo_t( 0, "Matt Hooper" ) );
creditList.Append( creditInfo_t( 0, "Jerry Keehan" ) );
creditList.Append( creditInfo_t( 0, "Steve Rescoe" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "UI Artist" ) );
creditList.Append( creditInfo_t( 0, "Pat Duffy" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Programming" ) );
creditList.Append( creditInfo_t( 0, "Timothee Besset" ) );
creditList.Append( creditInfo_t( 0, "Jim Dose" ) );
creditList.Append( creditInfo_t( 0, "Jan Paul van Waveren" ) );
creditList.Append( creditInfo_t( 0, "Jonathan Wright" ) );
creditList.Append( creditInfo_t( 0, "Brian Harris" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sound Design " ) );
creditList.Append( creditInfo_t( 0, "Christian Antkow" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Dir. Business Development" ) );
creditList.Append( creditInfo_t( 0, "Marty Stratton" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Development Assistant" ) );
creditList.Append( creditInfo_t( 0, "Eric Webb" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 2, "3rd PARTY" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "DOOM 3: Ressurection of Evil Developed by" ) );
creditList.Append( creditInfo_t( 0, "Nerve Software" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Additional Sound Design" ) );
creditList.Append( creditInfo_t( 0, "Ed Lima" ) );
creditList.Append( creditInfo_t( 0, "Danetracks, Inc." ) );
creditList.Append( creditInfo_t( 0, "Defacto Sound" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Theme for DOOM 3 Produced by" ) );
creditList.Append( creditInfo_t( 0, "Chris Vrenna" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Theme for DOOM 3 Composed by" ) );
creditList.Append( creditInfo_t( 0, "Clint Walsh" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Additional Story and Dialog" ) );
creditList.Append( creditInfo_t( 0, "Matthew J. Costello" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Casting and Voice Direction" ) );
creditList.Append( creditInfo_t( 0, "Margaret Tang - Womb Music" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Voice Editorial and Post" ) );
creditList.Append( creditInfo_t( 0, "Rik Schaffer - Womb Music" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Voice Recording" ) );
creditList.Append( creditInfo_t( 0, "Womb Music" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Voice Performers" ) );
creditList.Append( creditInfo_t( 0, "Paul Eiding" ) );
creditList.Append( creditInfo_t( 0, "Jim Cummings" ) );
creditList.Append( creditInfo_t( 0, "Liam O'Brien" ) );
creditList.Append( creditInfo_t( 0, "Nicholas Guest" ) );
creditList.Append( creditInfo_t( 0, "Vanessa Marshall" ) );
creditList.Append( creditInfo_t( 0, "Neill Ross" ) );
creditList.Append( creditInfo_t( 0, "Phillip Clarke" ) );
creditList.Append( creditInfo_t( 0, "Andy Chanley" ) );
creditList.Append( creditInfo_t( 0, "Charles Dennis" ) );
creditList.Append( creditInfo_t( 0, "Grey Delisle" ) );
creditList.Append( creditInfo_t( 0, "Jennifer Hale" ) );
creditList.Append( creditInfo_t( 0, "Grant Albrecht" ) );
creditList.Append( creditInfo_t( 0, "Dee Baker" ) );
creditList.Append( creditInfo_t( 0, "Michael Bell" ) );
creditList.Append( creditInfo_t( 0, "Steve Blum" ) );
creditList.Append( creditInfo_t( 0, "S. Scott Bullock" ) );
creditList.Append( creditInfo_t( 0, "Cam Clarke" ) );
creditList.Append( creditInfo_t( 0, "Robin Atkin Downes" ) );
creditList.Append( creditInfo_t( 0, "Keith Ferguson" ) );
creditList.Append( creditInfo_t( 0, "Jay Gordon" ) );
creditList.Append( creditInfo_t( 0, "Michael Gough" ) );
creditList.Append( creditInfo_t( 0, "Bill Harper" ) );
creditList.Append( creditInfo_t( 0, "Nick Jameson" ) );
creditList.Append( creditInfo_t( 0, "David Kaye" ) );
creditList.Append( creditInfo_t( 0, "Phil La Marr" ) );
creditList.Append( creditInfo_t( 0, "Scott Menville" ) );
creditList.Append( creditInfo_t( 0, "Jim Meskimen" ) );
creditList.Append( creditInfo_t( 0, "Matt Morton" ) );
creditList.Append( creditInfo_t( 0, "Daran Norris" ) );
creditList.Append( creditInfo_t( 0, "Rob Paulsen" ) );
creditList.Append( creditInfo_t( 0, "Phil Proctor" ) );
creditList.Append( creditInfo_t( 0, "Rino Romoano" ) );
creditList.Append( creditInfo_t( 0, "Andre Sogliuzzo" ) );
creditList.Append( creditInfo_t( 0, "Jim Ward" ) );
creditList.Append( creditInfo_t( 0, "Wally Wingert" ) );
creditList.Append( creditInfo_t( 0, "Edward Yin" ) );
creditList.Append( creditInfo_t( 0, "Keone Young" ) );
creditList.Append( creditInfo_t( 0, "Ryun Yu" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Additional User Interface" ) );
creditList.Append( creditInfo_t( 0, "Double-Action Design" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Motion Capture Services" ) );
creditList.Append( creditInfo_t( 0, "Janimation" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "UAC Promotional Videos" ) );
creditList.Append( creditInfo_t( 0, "Six Foot Studios" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Additional Multiplayer Design" ) );
creditList.Append( creditInfo_t( 0, "Splash Damage, Ltd." ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Additional Programming" ) );
creditList.Append( creditInfo_t( 0, "Graeme Devine" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Localization Services" ) );
creditList.Append( creditInfo_t( 0, "Synthesis" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 3, "BETHESDA SOFTWORKS" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Senior Producer" ) );
creditList.Append( creditInfo_t( 0, "Laffy Taylor" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sr. Producer, Submissions" ) );
creditList.Append( creditInfo_t( 0, "Timothy Beggs" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "VP, Product Development" ) );
creditList.Append( creditInfo_t( 0, "Todd Vaughn" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "External Technical Director" ) );
creditList.Append( creditInfo_t( 0, "Jonathan Williams" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "President" ) );
creditList.Append( creditInfo_t( 0, "Vlatko Andonov" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "VP, Public Relations and Marketing" ) );
creditList.Append( creditInfo_t( 0, "Pete Hines" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Director of Global Marketing" ) );
creditList.Append( creditInfo_t( 0, "Steve Perkins" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Director of Global PR" ) );
creditList.Append( creditInfo_t( 0, "Tracey Thompson" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Senior Brand Manager" ) );
creditList.Append( creditInfo_t( 0, "Rakhi Gupta" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Associate Brand Manager" ) );
creditList.Append( creditInfo_t( 0, "David Clayman" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Event and Trade Show Director" ) );
creditList.Append( creditInfo_t( 0, "Henry Mobley" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Senior Community Manager" ) );
creditList.Append( creditInfo_t( 0, "Matthew Grandstaff" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Community Manager" ) );
creditList.Append( creditInfo_t( 0, "Nick Breckon" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Senior PR Coordinator" ) );
creditList.Append( creditInfo_t( 0, "Angela Ramsey-Chapman" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Marketing Assistant" ) );
creditList.Append( creditInfo_t( 0, "Jenny McWhorter" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Video Production" ) );
creditList.Append( creditInfo_t( 0, "Matt Killmon" ) );
creditList.Append( creditInfo_t( 0, "Sal Goldenburg" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Graphic Design" ) );
creditList.Append( creditInfo_t( 0, "Michael Wagner" ) );
creditList.Append( creditInfo_t( 0, "Lindsay Westcott" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "VP, Sales" ) );
creditList.Append( creditInfo_t( 0, "Ron Seger" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Operations Director" ) );
creditList.Append( creditInfo_t( 0, "Todd Curtis" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales and Operations Manager" ) );
creditList.Append( creditInfo_t( 0, "Jill Bralove" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales Account Manager" ) );
creditList.Append( creditInfo_t( 0, "Michelle Ferrara" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Regional Sales Manager" ) );
creditList.Append( creditInfo_t( 0, "Michael Donnellan" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Channel Marketing Manager" ) );
creditList.Append( creditInfo_t( 0, "Michelle Burgess" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales Assistants" ) );
creditList.Append( creditInfo_t( 0, "Sara Simpson" ) );
creditList.Append( creditInfo_t( 0, "Jason Snead" ) );
creditList.Append( creditInfo_t( 0, "Jessica Williams" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Operations Assistant" ) );
creditList.Append( creditInfo_t( 0, "Scott Mills" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Director of Quality Assurance" ) );
creditList.Append( creditInfo_t( 0, "Darren Manes" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Quality Assurance Manager" ) );
creditList.Append( creditInfo_t( 0, "Rob Gray" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Quality Assurance Leads" ) );
creditList.Append( creditInfo_t( 0, "Terry Dunn" ) );
creditList.Append( creditInfo_t( 0, "Matt Weil" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Quality Assurance" ) );
creditList.Append( creditInfo_t( 0, "Dan Silva" ) );
creditList.Append( creditInfo_t( 0, "Alan Webb" ) );
creditList.Append( creditInfo_t( 0, "Cory Andrews" ) );
creditList.Append( creditInfo_t( 0, "George Churchill" ) );
creditList.Append( creditInfo_t( 0, "Jonathan DeVriendt" ) );
creditList.Append( creditInfo_t( 0, "Spencer Gottlieb" ) );
creditList.Append( creditInfo_t( 0, "Gary Powell" ) );
creditList.Append( creditInfo_t( 0, "Samuel Papke" ) );
creditList.Append( creditInfo_t( 0, "Amanda Sheehan" ) );
creditList.Append( creditInfo_t( 0, "Philip Spangrud" ) );
creditList.Append( creditInfo_t( 0, "Larry Waldman" ) );
creditList.Append( creditInfo_t( 0, "Donald Anderson" ) );
creditList.Append( creditInfo_t( 0, "James Audet" ) );
creditList.Append( creditInfo_t( 0, "Hunter Calvert" ) );
creditList.Append( creditInfo_t( 0, "Max Cameron" ) );
creditList.Append( creditInfo_t( 0, "Donald Harris" ) );
creditList.Append( creditInfo_t( 0, "Peter Garcia" ) );
creditList.Append( creditInfo_t( 0, "Joseph Lopatta" ) );
creditList.Append( creditInfo_t( 0, "Scott LoPresti" ) );
creditList.Append( creditInfo_t( 0, "Collin Mackett" ) );
creditList.Append( creditInfo_t( 0, "Gerard Nagy" ) );
creditList.Append( creditInfo_t( 0, "William Pegus" ) );
creditList.Append( creditInfo_t( 0, "Angela Rupinen" ) );
creditList.Append( creditInfo_t( 0, "Gabriel Scaringello" ) );
creditList.Append( creditInfo_t( 0, "Drew Slotkin" ) );
creditList.Append( creditInfo_t( 0, "Kyle Wallace" ) );
creditList.Append( creditInfo_t( 0, "Patrick Walsh" ) );
creditList.Append( creditInfo_t( 0, "John Welkner" ) );
creditList.Append( creditInfo_t( 0, "Jason Wilkin" ) );
creditList.Append( creditInfo_t( 0, "John Benoit" ) );
creditList.Append( creditInfo_t( 0, "Jacob Clayman" ) );
creditList.Append( creditInfo_t( 0, "Colin McInerney" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Additional QA" ) );
creditList.Append( creditInfo_t( 0, "James Costantino" ) );
creditList.Append( creditInfo_t( 0, "Chris Krietz" ) );
creditList.Append( creditInfo_t( 0, "Joseph Mueller" ) );
creditList.Append( creditInfo_t( 0, "Andrew Scharf" ) );
creditList.Append( creditInfo_t( 0, "Jen Tonon" ) );
creditList.Append( creditInfo_t( 0, "Justin McSweeney" ) );
creditList.Append( creditInfo_t( 0, "Sean Palomino" ) );
creditList.Append( creditInfo_t( 0, "Erica Stead" ) );
creditList.Append( creditInfo_t( 0, "Wil Cookman" ) );
creditList.Append( creditInfo_t( 0, "Garrett Hohl" ) );
creditList.Append( creditInfo_t( 0, "Tim Hartgrave" ) );
creditList.Append( creditInfo_t( 0, "Heath Hollenshead" ) );
creditList.Append( creditInfo_t( 0, "Brandon Korbel" ) );
creditList.Append( creditInfo_t( 0, "Daniel Korecki" ) );
creditList.Append( creditInfo_t( 0, "Max Morrison" ) );
creditList.Append( creditInfo_t( 0, "Doug Ransley" ) );
creditList.Append( creditInfo_t( 0, "Mauricio Rivera" ) );
creditList.Append( creditInfo_t( 0, "Aaron Walsh" ) );
creditList.Append( creditInfo_t( 0, "Daniel Wathen" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Special Thanks" ) );
creditList.Append( creditInfo_t( 0, "Jason Bergman" ) );
creditList.Append( creditInfo_t( 0, "Darren Chukitus" ) );
creditList.Append( creditInfo_t( 0, "Matt Dickenson" ) );
creditList.Append( creditInfo_t( 0, "Will Noble" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 3, "ZENIMAX MEDIA" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Chairman & CEO" ) );
creditList.Append( creditInfo_t( 0, "Robert Altman" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "President" ) );
creditList.Append( creditInfo_t( 0, "Ernie Del" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "EVP & COO" ) );
creditList.Append( creditInfo_t( 0, "Jamie Leder" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "EVP & CFO" ) );
creditList.Append( creditInfo_t( 0, "Cindy Tallent" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "EVP Legal & Secretary" ) );
creditList.Append( creditInfo_t( 0, "Grif Lesher" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "SVP Finance & Controller" ) );
creditList.Append( creditInfo_t( 0, "Denise Kidd" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Legal Lead" ) );
creditList.Append( creditInfo_t( 0, "Joshua Gillespie" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Legal" ) );
creditList.Append( creditInfo_t( 0, "Diana Bender" ) );
creditList.Append( creditInfo_t( 0, "Adam Carter" ) );
creditList.Append( creditInfo_t( 0, "Candice Garner-Groves" ) );
creditList.Append( creditInfo_t( 0, "Marcia Mitnick" ) );
creditList.Append( creditInfo_t( 0, "Amy Yeung" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "VP, Information Technology" ) );
creditList.Append( creditInfo_t( 0, "Steve Bloom" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Information Technology" ) );
creditList.Append( creditInfo_t( 0, "Rob Havlovick" ) );
creditList.Append( creditInfo_t( 0, "Nicholas Lea" ) );
creditList.Append( creditInfo_t( 0, "Drew McCartney" ) );
creditList.Append( creditInfo_t( 0, "Josh Mosby" ) );
creditList.Append( creditInfo_t( 0, "Joseph Owens" ) );
creditList.Append( creditInfo_t( 0, "Paul Tuttle" ) );
creditList.Append( creditInfo_t( 0, "Keelian Wardle" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Director of Global HR" ) );
creditList.Append( creditInfo_t( 0, "Tammy Boyd-Shumway" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Human Resources" ) );
creditList.Append( creditInfo_t( 0, "Michelle Cool" ) );
creditList.Append( creditInfo_t( 0, "Andrea Glinski" ) );
creditList.Append( creditInfo_t( 0, "Katrina Lang" ) );
creditList.Append( creditInfo_t( 0, "Valery Ridore" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Administration" ) );
creditList.Append( creditInfo_t( 0, "Melissa Ayala" ) );
creditList.Append( creditInfo_t( 0, "Brittany Bezawada-Joseph" ) );
creditList.Append( creditInfo_t( 0, "Rosanna Campanile " ) );
creditList.Append( creditInfo_t( 0, "Katherine Edwards" ) );
creditList.Append( creditInfo_t( 0, "Douglas Fredrick " ) );
creditList.Append( creditInfo_t( 0, "Jon Freund" ) );
creditList.Append( creditInfo_t( 0, "Ken Garcia " ) );
creditList.Append( creditInfo_t( 0, "Gerard Garnica" ) );
creditList.Append( creditInfo_t( 0, "Betty Kouatelay" ) );
creditList.Append( creditInfo_t( 0, "Ho Joong Lee" ) );
creditList.Append( creditInfo_t( 0, "Barb Manning" ) );
creditList.Append( creditInfo_t( 0, "Stephane Marquis" ) );
creditList.Append( creditInfo_t( 0, "Michael Masciola" ) );
creditList.Append( creditInfo_t( 0, "Tanuja Mistry" ) );
creditList.Append( creditInfo_t( 0, "Rissa Monzano" ) );
creditList.Append( creditInfo_t( 0, "Patrick Nolan " ) );
creditList.Append( creditInfo_t( 0, "Patti Pulupa" ) );
creditList.Append( creditInfo_t( 0, "Dave Rasmussen " ) );
creditList.Append( creditInfo_t( 0, "Heather Spurrier" ) );
creditList.Append( creditInfo_t( 0, "Claudia Umana" ) );
creditList.Append( creditInfo_t( 0, "Melissa Washabaugh" ) );
creditList.Append( creditInfo_t( 0, "Eric Weis" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Administrative Assistants" ) );
creditList.Append( creditInfo_t( 0, "Bernice Guice" ) );
creditList.Append( creditInfo_t( 0, "Paula Kasey" ) );
creditList.Append( creditInfo_t( 0, "Shana Reed" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Executive Chef" ) );
creditList.Append( creditInfo_t( 0, "Kenny McDonald" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 3, "ZENIMAX EUROPE" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "European Managing Director" ) );
creditList.Append( creditInfo_t( 0, "Sean Brennan" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "European Marketing & PR Director" ) );
creditList.Append( creditInfo_t( 0, "Sarah Seaby" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "European Sales Director" ) );
creditList.Append( creditInfo_t( 0, "Paul Oughton" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales Director" ) );
creditList.Append( creditInfo_t( 0, "Greg Baverstock" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Finance Director" ) );
creditList.Append( creditInfo_t( 0, "Robert Ford" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "European Brand Marketing Manager" ) );
creditList.Append( creditInfo_t( 0, "Thach Quach" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "European Brand Marketing Manager" ) );
creditList.Append( creditInfo_t( 0, "Alex Price" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "European PR Manager" ) );
creditList.Append( creditInfo_t( 0, "Alistair Hatch" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "European Assistant PR Manager" ) );
creditList.Append( creditInfo_t( 0, "Nicholas Heller" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "International Marketing Manager" ) );
creditList.Append( creditInfo_t( 0, "Rosemarie Dalton" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Manager Trade Shows/Events" ) );
creditList.Append( creditInfo_t( 0, "Gareth Swann" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "UK Marketing Manager" ) );
creditList.Append( creditInfo_t( 0, "Gregory Weller" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "UK Sales Manager" ) );
creditList.Append( creditInfo_t( 0, "Gethyn Deakins" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Creative Services Artist" ) );
creditList.Append( creditInfo_t( 0, "Morgan Gibbons" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Legal Counsel" ) );
creditList.Append( creditInfo_t( 0, "Adam Carter" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Localisation Director" ) );
creditList.Append( creditInfo_t( 0, "Harald Simon" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Localisation Project Manager" ) );
creditList.Append( creditInfo_t( 0, "Ruth Granados Garcia" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales Administrator" ) );
creditList.Append( creditInfo_t( 0, "Heather Clarke" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Operations Manager" ) );
creditList.Append( creditInfo_t( 0, "Isabelle Midrouillet" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Operations Coordinator" ) );
creditList.Append( creditInfo_t( 0, "David Gordon" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Financial Controller" ) );
creditList.Append( creditInfo_t( 0, "Paul New" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Accounts Assistant" ) );
creditList.Append( creditInfo_t( 0, "Charlotte Ovens" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Contracts Administrator/Paralegal" ) );
creditList.Append( creditInfo_t( 0, "Katie Brooks" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "IT Manager" ) );
creditList.Append( creditInfo_t( 0, "Joseph Owens" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Office Manager" ) );
creditList.Append( creditInfo_t( 0, "Angela Clement" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 3, "ZENIMAX FRANCE" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "General Manager" ) );
creditList.Append( creditInfo_t( 0, "Julie Chalmette" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales Manager" ) );
creditList.Append( creditInfo_t( 0, "Yvan Rault" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Key Account Manager" ) );
creditList.Append( creditInfo_t( 0, "Gaelle Gombert" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Trade Marketing Manager" ) );
creditList.Append( creditInfo_t( 0, "Laurent Chatain" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Marketing Manager" ) );
creditList.Append( creditInfo_t( 0, "Geraldine Mazot" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "PR Manager" ) );
creditList.Append( creditInfo_t( 0, "Jerome Firon" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Finance Manager" ) );
creditList.Append( creditInfo_t( 0, "Cecile De Freitas" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Finance Assistant" ) );
creditList.Append( creditInfo_t( 0, "Adeline Nonis" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 3, "ZENIMAX GERMANY" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Managing Director" ) );
creditList.Append( creditInfo_t( 0, "Frank Matzke" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales Director" ) );
creditList.Append( creditInfo_t( 0, "Thomas Huber" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Head of Marketing & PR" ) );
creditList.Append( creditInfo_t( 0, "Marcel Jung" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Product Marketing Manager" ) );
creditList.Append( creditInfo_t( 0, "Stefan Dettmering" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "PR Manager" ) );
creditList.Append( creditInfo_t( 0, "Peter Langhofer" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Trade Marketing Manager" ) );
creditList.Append( creditInfo_t( 0, "Andrea Reuth" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Key Account Manager" ) );
creditList.Append( creditInfo_t( 0, "Juergen Pahl" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Finance Manager" ) );
creditList.Append( creditInfo_t( 0, "Joern Hoehling" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales and Office Administrator" ) );
creditList.Append( creditInfo_t( 0, "Christiane Jauss" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 3, "ZENIMAX BENELUX" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "General Manager" ) );
creditList.Append( creditInfo_t( 0, "Menno Eijck" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales Manager" ) );
creditList.Append( creditInfo_t( 0, "Stefan Koppers" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Marketing Manager" ) );
creditList.Append( creditInfo_t( 0, "Jurgen Stirnweis" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "PR Manager" ) );
creditList.Append( creditInfo_t( 0, "Maikel van Dijk" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales and Marketing Administrator" ) );
creditList.Append( creditInfo_t( 0, "Pam van Griethuysen" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 3, "ZENIMAX ASIA" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "General Manager" ) );
creditList.Append( creditInfo_t( 0, "Tetsu Takahashi" ) );
creditList.Append( creditInfo_t());
creditList.Append( creditInfo_t( 1, "Localization Producer " ) );
creditList.Append( creditInfo_t( 0, "Kei Iwamoto" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Associate Producer " ) );
creditList.Append( creditInfo_t( 0, "Takayuki Tanaka" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Product Manager " ) );
creditList.Append( creditInfo_t( 0, "Seigen Ko" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Localization Programmer" ) );
creditList.Append( creditInfo_t( 0, "Masayuki Nagahashi" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Marketing and PR Manager " ) );
creditList.Append( creditInfo_t( 0, "Eiichi Yaji" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Sales Manager" ) );
creditList.Append( creditInfo_t( 0, "Hiroaki Yanagiguchi" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Office Manager" ) );
creditList.Append( creditInfo_t( 0, "Myongsuk Rim" ) );
creditList.Append( creditInfo_t() );
creditList.Append( creditInfo_t( 1, "Web Director" ) );
creditList.Append( creditInfo_t( 0, "Tanaka Keisuke" ) );
creditList.Append( creditInfo_t( 0, "Kosuke Fujita" ) );
};
/*
========================
idMenuScreen_Shell_Credits::Initialize
========================
*/
void idMenuScreen_Shell_Credits::Initialize( idMenuHandler * data ) {
idMenuScreen::Initialize( data );
if ( data != NULL ) {
menuGUI = data->GetGUI();
}
SetSpritePath( "menuCredits" );
btnBack = new (TAG_SWF) idMenuWidget_Button();
btnBack->Initialize( data );
btnBack->SetLabel( "#str_02305" );
btnBack->SetSpritePath( GetSpritePath(), "info", "btnBack" );
btnBack->AddEventAction( WIDGET_EVENT_PRESS ).Set( WIDGET_ACTION_GO_BACK );
AddChild( btnBack );
SetupCreditList();
}
/*
========================
idMenuScreen_Shell_Credits::Update
========================
*/
void idMenuScreen_Shell_Credits::Update() {
if ( menuData != NULL ) {
idMenuWidget_CommandBar * cmdBar = menuData->GetCmdBar();
if ( cmdBar != NULL ) {
cmdBar->ClearAllButtons();
idMenuHandler_Shell * shell = dynamic_cast< idMenuHandler_Shell * >( menuData );
bool complete = false;
if ( shell != NULL ) {
complete = shell->GetGameComplete();
}
idMenuWidget_CommandBar::buttonInfo_t * buttonInfo;
if ( !complete ) {
buttonInfo = cmdBar->GetButton( idMenuWidget_CommandBar::BUTTON_JOY2 );
if ( menuData->GetPlatform() != 2 ) {
buttonInfo->label = "#str_00395";
}
buttonInfo->action.Set( WIDGET_ACTION_GO_BACK );
} else {
buttonInfo = cmdBar->GetButton( idMenuWidget_CommandBar::BUTTON_JOY1 );
if ( menuData->GetPlatform() != 2 ) {
buttonInfo->label = "#str_swf_continue";
}
buttonInfo->action.Set( WIDGET_ACTION_GO_BACK );
}
}
}
idSWFScriptObject & root = GetSWFObject()->GetRootObject();
if ( BindSprite( root ) ) {
idSWFTextInstance * heading = GetSprite()->GetScriptObject()->GetNestedText( "info", "txtHeading" );
if ( heading != NULL ) {
heading->SetText( "#str_02218" );
heading->SetStrokeInfo( true, 0.75f, 1.75f );
}
}
if ( btnBack != NULL ) {
btnBack->BindSprite( root );
}
idMenuScreen::Update();
}
/*
========================
idMenuScreen_Shell_Credits::ShowScreen
========================
*/
void idMenuScreen_Shell_Credits::ShowScreen( const mainMenuTransition_t transitionType ) {
if ( menuData != NULL ) {
idMenuHandler_Shell * shell = dynamic_cast< idMenuHandler_Shell * >( menuData );
bool complete = false;
if ( shell != NULL ) {
complete = shell->GetGameComplete();
}
if ( complete ) {
menuData->PlaySound( GUI_SOUND_MUSIC );
}
}
idMenuScreen::ShowScreen( transitionType );
creditIndex = 0;
UpdateCredits();
}
/*
========================
idMenuScreen_Shell_Credits::HideScreen
========================
*/
void idMenuScreen_Shell_Credits::HideScreen( const mainMenuTransition_t transitionType ) {
idMenuScreen::HideScreen( transitionType );
}
/*
========================
idMenuScreen_Shell_Credits::HandleAction
========================
*/
bool idMenuScreen_Shell_Credits::HandleAction( idWidgetAction & action, const idWidgetEvent & event, idMenuWidget * widget, bool forceHandled ) {
if ( menuData == NULL ) {
return true;
}
if ( menuData->ActiveScreen() != SHELL_AREA_CREDITS ) {
return false;
}
widgetAction_t actionType = action.GetType();
switch ( actionType ) {
case WIDGET_ACTION_GO_BACK: {
idMenuHandler_Shell * shell = dynamic_cast< idMenuHandler_Shell * >( menuData );
bool complete = false;
if ( shell != NULL ) {
complete = shell->GetGameComplete();
}
if ( complete ) {
cmdSystem->BufferCommandText( CMD_EXEC_NOW, "disconnect" );
} else {
menuData->SetNextScreen( SHELL_AREA_ROOT, MENU_TRANSITION_SIMPLE );
}
return true;
}
}
return idMenuWidget::HandleAction( action, event, widget, forceHandled );
}
/*
========================
idMenuScreen_Shell_Credits::UpdateCredits
========================
*/
void idMenuScreen_Shell_Credits::UpdateCredits() {
if ( menuData == NULL || GetSWFObject() == NULL ) {
return;
}
if ( menuData->ActiveScreen() != SHELL_AREA_CREDITS && menuData->NextScreen() != SHELL_AREA_CREDITS ) {
return;
}
if ( creditIndex >= creditList.Num() + NUM_CREDIT_LINES ) {
idMenuHandler_Shell * shell = dynamic_cast< idMenuHandler_Shell * >( menuData );
bool complete = false;
if ( shell != NULL ) {
complete = shell->GetGameComplete();
}
if ( complete ) {
cmdSystem->BufferCommandText( CMD_EXEC_NOW, "disconnect" );
} else {
menuData->SetNextScreen( SHELL_AREA_ROOT, MENU_TRANSITION_SIMPLE );
}
return;
}
idSWFScriptObject * options = GetSWFObject()->GetRootObject().GetNestedObj( "menuCredits", "info", "options" );
if ( options != NULL ) {
for ( int i = 15; i >= 0; --i ) {
int curIndex = creditIndex - i;
idSWFTextInstance * heading = options->GetNestedText( va( "item%d", 15 - i ), "heading" );
idSWFTextInstance * subHeading = options->GetNestedText( va( "item%d", 15 - i ), "subHeading" );
idSWFTextInstance * title = options->GetNestedText( va( "item%d", 15 - i ), "title" );
idSWFTextInstance * txtEntry = options->GetNestedText( va( "item%d", 15 - i ), "entry" );
if ( curIndex >= 0 && curIndex < creditList.Num() ) {
int type = creditList[ curIndex ].type;
idStr entry = creditList[ curIndex ].entry;
if ( heading ) {
heading->SetText( type == 3 ? entry : "" );
heading->SetStrokeInfo( true );
}
if ( subHeading ) {
subHeading->SetText( type == 2 ? entry : "" );
subHeading->SetStrokeInfo( true );
}
if ( title ) {
title->SetText( type == 1 ? entry : "" );
title->SetStrokeInfo( true );
}
if ( txtEntry ) {
txtEntry->SetText( type == 0 ? entry : "" );
txtEntry->SetStrokeInfo( true );
}
} else {
if ( heading ) {
heading->SetText( "" );
}
if ( subHeading ) {
subHeading->SetText( "" );
}
if ( txtEntry ) {
txtEntry->SetText( "" );
}
if ( title ) {
title->SetText( "" );
}
}
}
if ( options->GetSprite() ) {
options->GetSprite()->PlayFrame( "roll" );
}
}
creditIndex++;
}